def test_unsubscribe_user(self): main_page = MainPage(self.driver) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu room_page = top_menu.go_to_my_room() center_block = room_page.center_block first_count = center_block.get_subscribe_count_users() main_page.open() question_block = main_page.center_block user_room_page = question_block.choose_last_author_quest() left_block = user_room_page.left_block user_id = left_block.get_user_id() left_block.subcribe() top_menu.go_to_my_room() center_block.go_to_subcribes_users() center_block.unsubscribe_user(user_id) current_count = center_block.get_subscribe_count_users() self.assertEqual(int(first_count), int(current_count)) auth_form.logout()
def test_unsubscribe_question(self): main_page = MainPage(self.driver) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu room_page = top_menu.go_to_my_room() center_block = room_page.center_block first_count = center_block.get_subscribe_count_questions() main_page.open() question_block = main_page.center_block question_page = question_block.choose_last_question() question = question_page.question question_title = question.get_title() question.subscribe() top_menu.go_to_my_room() center_block.go_to_subcribes_question() center_block.unsubscribe_question(question_title) under_count = center_block.get_subscribe_count_questions() self.assertEqual(int(first_count), int(under_count)) auth_form.logout()
def test_not_auth_gift_vip(self): main_page = MainPage(self.driver) main_page.open() center_block = main_page.center_block another_room = center_block.choose_last_author_quest() left_block = another_room.left_block left_block.gift_vip() self.assertEqual(False, center_block.is_authorizate())
def test_not_auth_subcribe_question(self): main_page = MainPage(self.driver) main_page.open() center_block = main_page.center_block question_page = center_block.choose_last_question() question = question_page.question question.subscribe() self.assertEqual(False, center_block.is_authorizate())
def test_authorization(self): main_page = MainPage(self.driver) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu name = top_menu.get_name() self.assertEqual(name, self.FIRST_USER_EMAIL)
def test_my_videos(self): main_page = MainPage(self.driver) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu room_page = top_menu.go_to_my_room() left_block = room_page.left_block href = left_block.go_to_videos() self.assertEqual(True, left_block.is_videos()) auth_form.logout()
def test_settings_button(self): main_page = MainPage(self.driver) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu my_room = top_menu.go_to_my_room() left_block = my_room.left_block url = left_block.press_settings() self.assertEquals(url, 'https://otvet.mail.ru/settings') auth_form.logout()
def test_my_photos(self): main_page = MainPage(self.driver) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu room_page = top_menu.go_to_my_room() left_block = room_page.left_block href = left_block.go_to_photos() self.assertEqual(u'http://my.mail.ru/', href) category = left_block.is_photos() self.assertEqual(u'Фотографии', category) auth_form.logout()
def test_my_world(self): main_page = MainPage(self.driver) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu room_page = top_menu.go_to_my_room() left_block = room_page.left_block href = left_block.go_to_my_world() self.assertEqual(u'http://my.mail.ru/',href) name = left_block.get_name_by_my_world() self.assertEqual(self.FIRST_U_NAME, name) auth_form.logout()
def test_vip(self): main_page = MainPage(self.driver,) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu room_page = top_menu.go_to_my_room() left_block = room_page.left_block left_block.get_vip() self.assertEqual(True, left_block.buy_vip_frame_exist()) left_block.close_vip() auth_form.logout()
def test_activity_button(self): main_page = MainPage(self.driver) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu my_room = top_menu.go_to_my_room() left_block = my_room.left_block start_url = self.driver.current_url left_block.press_settings() left_block.press_activity() finish_url = self.driver.current_url self.assertEquals(start_url.encode(), finish_url.encode()) auth_form.logout()
def test_add_cart_items(self): main_page = MainPage(self.driver) product_page = None for _ in xrange(NUMBER_OF_PRODUCTS): main_page.open() main_page.first_product.click() product_page = ProductPage(self.driver) product_page.add_product_to_cart() product_page.checkout() cart_page = CartPage(self.driver) cart_page.wait_for_confirm_btn_present() cart_page.remove_all_items() cart_page.wait_for_confirm_btn_disappear() self.assertEqual( cart_page.get_checkout_text_present(), "There are no items in your cart." )
def test_chech_pay_delete_question(self): main_page = MainPage(self.driver) main_page.open() auth_form = main_page.auth_form auth_form.open_form() auth_form.set_login(self.FIRST_USER_EMAIL) auth_form.set_password(self.FIRST_U_PASSWORD) auth_form.submit() top_menu = main_page.top_menu my_room = top_menu.go_to_my_room() center_block = my_room.center_block center_block.go_to_questions() ques_page = center_block.choose_last_my_open_question() question = ques_page.question self.assertEqual(True, question.is_delete()) question.close_popup() auth_form.logout()
def selenoid_main_page(selenoid_browser: webdriver, opencart_url: str, base_class_logging: bool) -> MainPage: main_page = MainPage(driver=selenoid_browser, url=opencart_url, logging_enabled=base_class_logging) main_page.open_page() return main_page
def test_guest_should_see_login_link(self, browser): page = MainPage(browser, link) page.open() page.should_be_login_link()
def __init__(self, driver): self.main_page = MainPage(driver) self.advanced_page = AdvancedPage(driver)
def test_guest_should_see_login_link(self, browser): link = MainPageLocators.LINK page = MainPage(browser, link) page.open() page.should_be_login_link()
def read_emails(context, email_type): main_page = MainPage(context.driver) if 'unread' in email_type: element = main_page.ROW_UNREAD_EMAIL elif 'security' in email_type: element = main_page.ROW_SECURITY_EMAIL else: element = main_page.ROW_ANY_EMAIL errors = [] while main_page.is_element_displayed(element): try: main_page.click_on(element) if 'security' in email_type: main_page.confirm_security_email() main_page.click_on(main_page.BUTTON_INBOX) else: main_page.click_all_links() except Exception as e: errors.append(e) errors and RuntimeError('Errors found during email read:', errors)
def remove_from_spam(context): main_page = MainPage(context.driver)
class EditCar(unittest.TestCase): def setUp(self): self.car = { 'year': "2021", 'make': "Honda", 'model': "Civic", 'trim_levels': [generate_random_trim_level() for _ in range(3)], } self.car['car_string'] = get_car_string(self.car) web_driver_utility = WebDriverUtility() self.driver = web_driver_utility.get_new_web_driver() self.driver.get(web_driver_utility.get_home_page_url()) self.main_page = MainPage(self.driver) self.login() self.add_car() def test_edit_car(self): self.navigate_to_edit_car_page() # Edit car self.car['year'] = "2012" self.car['make'] = "Ford" self.car['model'] = "Focus" random_trim_levels = [] for _ in range(3): random_trim_levels.append(generate_random_trim_level()) self.car['trim_levels'] = random_trim_levels self.car['car_string'] = get_car_string(self.car) edit_car_page = EditCarPage(self.driver) edit_car_page.edit_year(self.car['year']) edit_car_page.edit_make(self.car['make']) edit_car_page.edit_model(self.car['model']) self.edit_trim_levels(edit_car_page) edit_car_page.click_submit_car_button() LOG.info("Edited car to: %s", self.car['car_string']) self.assertIsNotNone(self.main_page.find_car_row(self.car)) def test_delete_trim_level(self): self.navigate_to_edit_car_page() edit_car_page = EditCarPage(self.driver) self.delete_trim_level(edit_car_page) edit_car_page.click_submit_car_button() LOG.info("Edited car to: %s", self.car['car_string']) self.assertIsNotNone(self.main_page.find_car_row(self.car)) def test_add_trim_level(self): self.navigate_to_edit_car_page() edit_car_page = EditCarPage(self.driver) self.add_trim_level(edit_car_page) edit_car_page.click_submit_car_button() LOG.info("Edited car to: %s", self.car['car_string']) self.assertIsNotNone(self.main_page.find_car_row(self.car)) def tearDown(self): LOG.info("Cleaning up...") self.driver.quit() LOG.info("Quit driver.") LOG.info("Done!") """ Utility Methods """ def login(self): LOG.info("Logging in...") login_page = LoginPage(self.driver) login_page.login("user", "password") def add_car(self): self.main_page.click_add_car_link() add_car_page = AddCarPage(self.driver) add_car_page.add_car(self.car) LOG.info("Added car: %s", self.car['car_string']) def navigate_to_edit_car_page(self): self.main_page.navigate_to_car_detail_page(self.car) car_detail_page = CarDetailPage(self.driver) car_detail_page.click_edit_car_link() def add_trim_level(self, edit_car_page): trim_level_to_add = generate_random_trim_level() LOG.info("Trim level to add: %s", trim_level_to_add) self.car['trim_levels'].append(trim_level_to_add) self.car['car_string'] = get_car_string(self.car) edit_car_page.click_add_trim_level_button() trim_level_inputs = edit_car_page.trim_levels.find_elements(By.XPATH, ".//input") trim_level_inputs[-1].send_keys(trim_level_to_add) def edit_trim_levels(self, edit_car_page): trim_level_inputs = edit_car_page.trim_levels.find_elements(By.XPATH, ".//input") for i in range(3): trim_level_inputs[i].clear() trim_level_inputs[i].send_keys(self.car['trim_levels'][i]) def delete_trim_level(self, edit_car_page): trim_level_to_delete = self.car['trim_levels'].pop() LOG.info("Trim level to delete: %s", trim_level_to_delete) self.car['car_string'] = get_car_string(self.car) trim_level_input_groups = edit_car_page.trim_levels.find_elements(By.XPATH, ".//div[contains(@class, 'input-group')]") for input_group in trim_level_input_groups: existing_trim_level = input_group.find_element(By.XPATH, ".//input") if trim_level_to_delete == existing_trim_level.get_attribute("value"): delete_button = input_group.find_element(By.XPATH, ".//button") delete_button.click() break
def test_guest_can_go_to_login_page(self, browser): link = "http://selenium1py.pythonanywhere.com/ru/catalogue/coders-at-work_207/?promo=newYear2019" page = MainPage(browser, link) page.open() page.should_be_login_link()
def test_guest_cant_see_product_in_cart_opened_from_main_page(browser): page = MainPage(browser, link) page.open() page.go_to_cart_page() cart_page = CartPage(browser, browser.current_url) cart_page.should_be_empty()
def test_guest_should_see_cart_link(browser): page = MainPage(browser, link) page.open() page.should_have_cart_link()
def test_change_currencies(browser): MainPage(browser).select_pound().select_usd().select_euro()
def test_main_page(browser): MainPage(browser).check_elements_exist()
def test_guest_should_see_login_link_from_main_page(self, browser): link = MainPageLinks.LINK_MAIN_PAGE page = MainPage(browser, link) page.open() page.should_be_login_link()
def setUp(self): BaseTest.setUp(self) main_page = MainPage(self.driver) constructor_page = main_page.navigate_cp() self.item = constructor_page.navigate_service()
from selenium import webdriver from pages.login_page import LoginPage from pages.main_page import MainPage from pages.search_result_page import SearchResultPage import time driver = webdriver.Chrome( "C:/Users/y.skubak/Desktop/python_course/chromedriver.exe") driver.implicitly_wait(5) driver.get("https://www.instagram.com/accounts/login/") login_page = LoginPage(driver) login_page.enter_username("pyautomation") login_page.enter_password("Ab123456789!") login_page.click_login() main_page = MainPage(driver) main_page.click_not_now_button() main_page.type_in_search_field("#fitness") main_page.click_result_with_text("#fitness") search_result_page = SearchResultPage(driver) time.sleep(3) #assert "Follow" in search_result_page.get_follow_button_text() search_result_page.get_button_text() driver.quit()
def test_guest_cant_see_product_in_basket_opened_from_main_page(self, browser): # Подготовка page = MainPage(browser) page.open() page.go_to_basket_page() # Действия page = BasketPage(browser) # Проверка page.should_be_no_items_in_basket() page.should_be_text_empty_basket()
def test_guest_should_see_login_link(self, browser): link = "http://selenium1py.pythonanywhere.com/ru/catalogue/coders-at-work_207/" page = MainPage(browser, link) page.open() page.should_be_login_link()
def search_for_value(app, value): with allure.step(F"When search for {value}"): main_page = MainPage(app) main_page.search_for(value)
def remove_from_spam(context, directory): main_page = MainPage(context.driver) if directory == 'spam': while main_page.is_element_displayed(main_page.ROW_ANY_EMAIL): main_page.click_on(main_page.ROW_ANY_EMAIL) main_page.click_on(main_page.BUTTON_NOT_SPAM) else: main_page.click_on(main_page.CHECKBOX_SELECT_ALL) main_page.click_on(main_page.BUTTON_DELETE)
def go_to_recent_changes(app): with allure.step("When go to recent changes page"): main_page = MainPage(app) main_page.go_to_recent_changes()
def test_pagination_buttons_main_page(self): """ Tests the paging cannot go beyond end """ d = self.driver pg = MainPage(d) pg.wait_for_listings() # check that correct number of listings is displayed after opening the main page listing_titles = pg.listing_titles_sorted() assert len( listing_titles) == 25, 'Incorrect number of listings displayed' prev_page = pg.prev_page_button() assert prev_page.is_displayed() is False next_page = pg.next_page_button() assert next_page.text == 'Show 1 - 51 of 102' click(next_page) sleep(2) next_page = pg.next_page_button() assert next_page.text == 'Show 26 - 76 of 102' click(next_page) sleep(2) next_page = pg.next_page_button() assert next_page.text == 'Show 51 - 101 of 102' click(next_page) sleep(2) next_page = pg.next_page_button() assert next_page.text == 'Show 76 - 102 of 102' click(next_page) sleep(2) next_page = pg.next_page_button() assert next_page.is_displayed() is False prev_page = pg.prev_page_button() assert prev_page.text == 'Show 51 - 101 of 102' click(prev_page) sleep(2) prev_page = pg.prev_page_button() assert prev_page.text == 'Show 26 - 76 of 102' click(prev_page) sleep(2) prev_page = pg.prev_page_button() assert prev_page.text == 'Show 1 - 51 of 102' click(prev_page) sleep(2) prev_page = pg.prev_page_button() assert prev_page.is_displayed() is False next_page = pg.next_page_button() assert next_page.text == 'Show 26 - 76 of 102'
def open_main_page(app): with allure.step("When open main page"): main_page = MainPage(app) main_page.open()
def test_guest_should_see_login_link(browser): link = "http://selenium1py.pythonanywhere.com/" page = MainPage(browser, link) page.open() page.should_be_login_link()
def test_guest_should_see_login_link(self, browser): page = MainPage(browser, MAIN_PAGE_LINK) page.open() page.should_be_login_link()
def test_guest_can_go_to_login_page(self, browser): page = MainPage(browser, link) page.open() page.go_to_login_page() login_page = LoginPage(browser, browser.current_url) login_page.should_be_login_page()
def test_guest_can_go_to_login_page(browser): page = MainPage(browser, MAIN_PAGE_LINK) page.open() page.go_to_login_page()
def remote_browserstack_main_page(remote_browserstack: webdriver, opencart_url: str, base_class_logging: bool) -> MainPage: main_page = MainPage(driver=remote_browserstack, url=opencart_url, logging_enabled=base_class_logging) main_page.open_page() return main_page
def test_guest_can_go_to_login_link(browser): page = MainPage(browser, MAIN_PAGE_LINK) page.open() page.go_to_login_page() page = LoginPage(browser, browser.current_url) page.should_be_login_url() page.should_be_login_form()
def setUp(self): BaseTest.setUp(self) main_page = MainPage(self.driver) constructor_page = main_page.navigate_cp() self.item = constructor_page.navigate_nomenclature_additional_material()
def translate_request(self): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') # options.add_argument('window-size=1920x1080') chrome_options.add_argument('--no-sandbox') # options.add_argument("disable-gpu") chrome_options.add_argument('--disable-dev-shm-usage') driver = webdriver.Chrome( executable_path="/home/elaia/translate_selenium/misc/chromedriver", chrome_options=chrome_options) main_page = MainPage(driver=driver) main_page.go() driver.implicitly_wait(3) global i global end for k in range(100): text = text_list[i]['question'] try: main_page.src_textarea.type_into(text) except Exception as ex: print(ex) driver.quit() driver = webdriver.Chrome( executable_path= "/home/elaia/translate_selenium/misc/chromedriver", chrome_options=chrome_options) main_page = MainPage(driver=driver) main_page.go() driver.implicitly_wait(3) continue time.sleep(1.5) # main_page.translate_btn.click() try: text_list[i][ 'question'] = main_page.tgt_textarea.get_inner_text() except Exception as ex: print(ex) driver.quit() driver = webdriver.Chrome( executable_path= "/home/elaia/translate_selenium/misc/chromedriver", chrome_options=chrome_options) main_page = MainPage(driver=driver) main_page.go() driver.implicitly_wait(3) continue main_page.reset_page.click() driver.implicitly_wait(1) print(i) i += 1 if i == end: break # assert result, f"Test Failed: Request page loading timeout" # print("Test Passed: Request page loaded") driver.quit() # ko_dir_path = '/mnt/vqa/Questions_Train_abstract_v002' # ko_filepath = os.path.join(ko_dir_path, ko_file) # with open(ko_filepath, 'w', encoding='utf-8') as make_file: with open(ko_file, 'w', encoding='utf-8') as make_file: json.dump(json_data, make_file, indent=4)
def go_to_log_in(app): with allure.step("When go to log in page"): main_page = MainPage(app) main_page.go_to_log_in()
def step_impl(context): # global page is an instance of MainPage global page page = MainPage(context.browser) page.open('/') page.check_page_loaded()