commit d74c4f9bb4da8adef139b2e35130fe1912417d2e Author: Yesen Date: Thu Nov 16 23:48:21 2023 +0300 Загрузить файлы в «/» diff --git a/sc1.py b/sc1.py new file mode 100644 index 0000000..287700e --- /dev/null +++ b/sc1.py @@ -0,0 +1,81 @@ +import pytest +from selenium import webdriver +from selenium.webdriver.common.by import By +from selenium.webdriver.support import expected_conditions as EC +from selenium.webdriver.support.wait import WebDriverWait +from selenium.webdriver.firefox.service import Service + +@pytest.fixture +def browser(): + driver = webdriver.Firefox(service=Service(r'/home/karasik/git/test/geckodriver')) + yield driver #после выполнения тест.функции будет выполнено след дей-вие + driver.quit() + + +def test(browser): + browser.get('https://sbis.ru') + browser.find_element(By.LINK_TEXT, "Контакты").click() + + close_popup_window(browser) + + browser.find_element(By.XPATH, "/html/body/div[1]/div/div/div[2]/div[1]/div[2]/div[1]/div/div/div[1]/div/div[4]/div[1]/div/div/div[2]/div/a").click() + browser.switch_to.window(browser.window_handles[1]) + + close_popup_window2(browser) + + wait = WebDriverWait(browser, 10) + html_content = 'Сила в людях' + xpath_expression = f"//*[contains(text(), '{html_content}')]" + a = wait.until(EC.presence_of_element_located((By.XPATH, xpath_expression))) + assert a, ("Элемент 'Сила в людях' не найден на странице.") + + try: + company_block = browser.find_elements(By.LINK_TEXT, 'Сила в людях') + except: + assert company_block, ("Блок 'Сила в людях' не найден на странице.") + + a = browser.find_element(By.XPATH, "//*[contains(text(), 'Сила в людях')]") + parent_block = a.find_element(By.XPATH, '..') + + try: + parent_block.find_element(By.LINK_TEXT, 'Подробнее').click() + except: + print('Ссылка не открывается') + + b = browser.find_element(By.XPATH, "//*[contains(text(), 'Работаем')]") + parent_block = b.find_element(By.XPATH, '../..') + + png_elements = parent_block.find_elements(By.XPATH, ".//img") + + #определение размеров изображений + # for image in png_elements: + # width = image.get_attribute('width') + # height = image.get_attribute('height') + # print(f"Ширина: {width}, Высота: {height}") + + all_elements_equal = True + for i in range(len(png_elements)): + for j in range(i + 1, len(png_elements)): + width_i = png_elements[i].get_attribute('width') + height_i = png_elements[i].get_attribute('height') + + width_j = png_elements[j].get_attribute('width') + height_j = png_elements[j].get_attribute('height') + + if width_i != width_j or height_i != height_j: + all_elements_equal = False + # diff = (f"Размеры для элементов {i} и {j} различаются.") + assert all_elements_equal, ("Размеры изображений не совпадают") + +def close_popup_window(driver): + banner_element = WebDriverWait(driver,10).until( + EC.visibility_of_element_located((By.CLASS_NAME, "sbis_ru-CookieAgreement__close")) + ) + banner_element.click() + pass + +def close_popup_window2(driver): + banner_element = WebDriverWait(driver,10).until( + EC.visibility_of_element_located((By.XPATH, "/html/body/div[1]/div/div/div[2]/div[1]/div[2]/div[1]/div/div/div[3]/div[2]/div[2]")) + ) + banner_element.click()