Итак, задача стоит так:
Надо нажать на кнопку в текущем окне. Страница открывается в новой вкладке. Нужно в новой вкладке найти кнопку и нажать на нее.
Делим на части:
1. Нажимаем на кнопку
2. Открывается новая вкладка
3. Переключаемся на новую вкладку
4. Нажимаем на кнопку в новой вкладке
Сам тест:
def test_user_should_be_able_to_play_video(driver):first_page.open(driver)first_page.click_buton_on_first_page_and_switch_to_new_tab(driver)new_page.click_button_on_new_page(driver)("Click button on first_page")def click_buton_on_first_page_and_switch_to_new_tab(driver)first_page_button = Button(driver, (By.CSS_SELECTOR, first_page_button_locator))first_page_button.click()window_after = driver.window_handles[1]driver.switch_to_window(window_after)("Click button on new_page")def click_button_on_new_page(driver):new_page_button = Button(driver, (By.CSS_SELECTOR, new_page_button_locator))new_page_button.click()(Button)class Button:def __init__(self, driver, locator):self.driver = driverself.element_locator = locatordef wait_for(self, seconds):time.sleep(seconds)def click(self, timeout=30):button = WebDriverWait(self.driver, timeout).until(expected_conditions.element_to_be_clickable(self.element_locator),'Button with locator ' + self.element_locator[1]+ ' is not enabled or not visible after timeout 30 seconds' )self.wait_for(0.5)button.click()
Комментариев нет:
Отправить комментарий