def test_create_order_check(self, product_name, num): ''' 在支付页面元素校验 ''' print('**在商品详情页,点击提交订单,验证是否跳转到提交订单页面**') HomePage(self.driver).click_search_box() SearchPage(self.driver).send_key_search_box(product_name) SearchPage(self.driver).click_search_product_01() ProductPage(self.driver).product_buy(num) CreateOrderPage(self.driver).click_creat_order_btn() sleep(2) BasePage(self.driver).assert_true(ec.url_contains('pages/pay/pay?orderId')) BasePage(self.driver).assert_true(ec.title_is('订单支付')) BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._pay_btn)) print("提交订单按钮已展示") BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._pay_fee_form)) print("价格区域已展示") # 点击立即支付按钮 CreateOrderPage(self.driver).click_pay_btn() # 断言有没有报错 try: toast_txt = BasePage(self.driver).get_toast_text() TestCase().fail("支付报错:" + toast_txt) except exceptions.TimeoutException: BasePage(self.driver).assert_true(ec.url_contains('prepay_id=wx'))
def test_show_number(self): MainPage(self.driver).click_search_button() SearchPage(self.driver).wait_for_page_to_load() SearchPage(self.driver).select_first_offer() InvestitionPage(self.driver).wait_for_page_to_load() self.assertNotEqual(InvestitionPage(self.driver).get_telephone_number_count(), 9) InvestitionPage(self.driver).click_show_number_button() self.assertEqual(InvestitionPage(self.driver).get_telephone_number_count(), 9)
def test_go_to_cart(self): ''' 商品详情页的跳转到购物车 ''' print('**在商品详情页,点击左下角的购物车按钮,验证是否跳转到购物车页面**') HomePage(self.driver).click_search_box() SearchPage(self.driver).send_key_search_box() SearchPage(self.driver).click_search_product_01() ProductPage(self.driver).click_cart_button() BasePage(self.driver).assert_true(ec.title_contains('购物车')) BasePage(self.driver).assert_true( ec.url_contains('emall/pages/myCart/myCart'))
def test_return_home(self): ''' 商品详情页的返回主页按钮 ''' print('**在商品详情页,点击左下角的首页按钮,验证是否跳转到首页**') HomePage(self.driver).click_search_box() SearchPage(self.driver).send_key_search_box() SearchPage(self.driver).click_search_product_01() ProductPage(self.driver).click_home_button() BasePage(self.driver).assert_true( BasePage(self.driver).is_element_present( HomePage(self.driver)._product))
def test_product_buy(self, value=2): ''' 在商品详情页,点击立即购买 ''' print('**在商品详情页,点击立即购买,验证是否跳转到提交订单页**') HomePage(self.driver).click_search_box() SearchPage(self.driver).send_key_search_box() SearchPage(self.driver).click_search_product_01() ProductPage(self.driver).product_buy(value) BasePage(self.driver).assert_true(ec.title_contains('提交订单')) BasePage(self.driver).assert_true( ec.url_contains('/pages/order/createOrder'))
def test_search(self, value): ''' 输入商品名称进行搜索 ''' print('**输入商品名称搜索,验证是否有搜索到相关商品**') HomePage(self.driver).click_search_box() SearchPage(self.driver).send_key_search_box(value) sleep(2) for productName in SearchPage(self.driver).get_product_names(): name = SearchPage(self.driver).get_element_value(productName) print("商品名称:" + name) BasePage(self.driver).check_exist_in_string(value, name)
def test_product_add_to_car(self, value, num): ''' 商品详情页,点击加入购物车 ''' print('**在商品详情页,点击加入购物车,验证购物车的商品数量是否对应增加**') HomePage(self.driver).click_search_box() SearchPage(self.driver).send_key_search_box(value) SearchPage(self.driver).click_search_product_01() before = ProductPage(self.driver).get_car_num_value() ProductPage(self.driver).product_add_to_car(num) after = ProductPage(self.driver).get_car_num_value() after_expected = int(before) + int(num) BasePage(self.driver).assert_equal(int(after), after_expected)
def test_sku_add_to_car(self, value=2): ''' 从商品详情的规格弹窗,加入购物车 ''' print('**在商品详情页,打开规格弹窗,点击加入购物车,验证购物车商品数量是否增加**') HomePage(self.driver).click_search_box() SearchPage(self.driver).send_key_search_box() SearchPage(self.driver).click_search_product_01() before = ProductPage(self.driver).get_car_num_value() ProductPage(self.driver).product_sku_add_to_car(value) after = ProductPage(self.driver).get_car_num_value() after_expected = int(before) + int(value) BasePage(self.driver).assert_equal(int(after), after_expected)
def test_yandex_search(browser): main_page = SearchPage(browser, "https://yandex.ru/") main_page.open() main_page.search("гугл") assert main_page.should_be_drop_down_list() main_page.submit_search_by_enter() assert main_page.link_in_first_five_result()
def test_verify_images(self, driver, text): result_page = SearchPage(driver).open().search_for(text) images_page = result_page.switch_to_images_page() images = images_page.get_elements(ImagesPage.images)[:5] for image in images: assert image.is_displayed()
def search_black_products(self): my_account_page = MyAccountPage(self.driver) my_account_page.search("Black") search_page = SearchPage(self.driver) product_components = search_page.get_product_components_with_color( "black") product_components[1].click_product_link()
def test_after_search_text_changing_new_phrase_should_be_searched( browser, screenshot): search_page = SearchPage(browser) result_page = ResultPage(browser) phrase = "Panda" new_phrase = "Python" # Arrange search_page \ .open_page() \ .fill_in_search_field(phrase) \ .click_search_button() # Act result_page \ .clear_search_input() \ .fill_in_search_field_new_search_text(new_phrase) \ .click_search_button() # Assert assert new_phrase in result_page.get_title( ), "New phrase should be searched" for title_link in result_page.get_all_links_values(): assert new_phrase.lower() in title_link.lower( ), "Part of new phrase should be contained into title of links"
def search(self, keyword: Text): locator = self._yaml.data['main']['search'] self.el = self.find_element(locator) self.el.clear() self.el.send_keys(keyword) self.el.send_keys(Keys.ENTER) return SearchPage(self._driver)
def test_search_form(self): main_page = MainPage(self.driver) main_page.skip_familiarization() main_page.tap_search() search_page = SearchPage(self.driver) search_page.input_search('Python') search_page.verify_search_result('Python') time.sleep(5) # For visual confirm
def __init__(self, browser): self.logger = logging.getLogger("PAGE NAME") self.tests_logger = logging.getLogger("TEST NAME") self.common = CommonPage(self.logger, browser) self.login = LoginPage(self.logger, browser) self.main = MainPage(self.logger, browser) self.private = PrivatePage(self.logger, browser) self.search = SearchPage(self.logger, browser)
def test_special_product_info_check(self, value): ''' 秒杀活动的商品详情元素校验 ''' print('**在商品详情页,与接口返回进行对比,验证特价活动的商品价格是否展示正确**') HomePage(self.driver).click_search_box() SearchPage(self.driver).send_key_search_box(value) SearchPage(self.driver).click_search_product_01() product_id = ProductPage(self.driver).get_product_id_from_url() page_special_info_list = ProductPage( self.driver).get_page_special_price_info() print(page_special_info_list) api_special_info_list = ProductPage( self.driver).get_api_special_price_info(product_id=product_id, token=self.token) print(api_special_info_list) self.assertListEqual(page_special_info_list, api_special_info_list)
def test_investition_question(self): MainPage(self.driver).click_search_button() SearchPage(self.driver).wait_for_page_to_load() SearchPage(self.driver).select_first_offer() InvestitionPage(self.driver).wait_for_page_to_load() self.assertTrue( InvestitionPage(self.driver).is_send_button_clickable()) InvestitionPage(self.driver).input_name((Faker("pl_PL").name())) InvestitionPage(self.driver).input_email((Faker("en_GB").email())) InvestitionPage(self.driver).click_accept_rules_checkbox() InvestitionPage(self.driver).send_question_message() InvestitionPage(self.driver).send_question_message() self.assertFalse( InvestitionPage(self.driver).is_send_button_clickable())
def test_searchpage(self): home_page = HomePage(self.driver) search_page = SearchPage(self.driver) casino_page = CasinoPage(self.driver) home_page.verify_home_page() casino_page.verify_casino_page() search_page.click_search_button() search_page.enter_search_data() search_page.validate_game_page()
def test_create_order_info_check(self, product_name, num): ''' 提交订单页面元素检查 ''' print('**从商品详情页,点击立即购买,验证是否跳转到提交订单页**') HomePage(self.driver).click_search_box() SearchPage(self.driver).send_key_search_box(product_name) SearchPage(self.driver).click_search_product_01() ProductPage(self.driver).product_buy(num) sleep(2) BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._addr_form)) print("收货人地址栏已展示") BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._product_list_form)) print("商品列表已展示") BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._order_fee_form)) print("金额计算区域已展示") BasePage(self.driver).assert_true(BasePage(self.driver).is_element_present(CreateOrderPage(self.driver)._create_order_btn_form)) print("提交订单按钮栏已展示")
def test_search_title(self): """ Пошук слова у тайтлах результатів на першій сторінці """ main_page = MainPage() main_page.open() main_page.search_bar.search_for("automation") result = SearchPage().search_results.search_in_title("automation", 1) assert result, "Результат пошуку не містить пошукового слова"
def test_send_a_message(self, message_data): sp = SearchPage(self.driver) sp.move_to_search() sp.search_for_profile() tpp = TestedProfilePage(self.driver) tpp.send_message(message_data) if not self.assertEqual(tpp.check_message_content(), message_data): captureScreen(self, 'send_message')
def test_click_search_box(self, value): ''' 商品分类页面搜索框 ''' print('**搜索框是否可用**') CategoryPage(self.driver).click_search_box() res = BasePage(self.driver).is_element_present( SearchPage(self.driver)._cancel_button) if res is True: print('搜索取消按钮展示在页面上') else: print('搜索取消按钮未出现在页面上') res = BasePage(self.driver).is_element_present( SearchPage(self.driver)._search_box) if res is True: print('搜索输入框展示在页面上') else: TestCase().fail('搜索输入框未出现在页面上') SearchPage(self.driver).send_key_search_box(value)
def test_search(browser, movie_to_search): movie_to_search = "Аватар" main_page = MainPage(browser, url="https://www.kinopoisk.ru/") main_page.open() main_page.search_movie(movie_to_search) search_page = SearchPage(main_page.driver, main_page.driver.current_url) found_movie = search_page.check_guessing_of_search() assert found_movie == movie_to_search, f"Попытка угадать неверная, предложен {found_movie}"
def test_give_a_like(self): sp = SearchPage(self.driver) sp.move_to_search() sp.search_for_profile() tpp = TestedProfilePage(self.driver) tpp.pick_a_first_photo() tpp.give_a_like() if not self.assertTrue(self.driver.find_elements_by_id(TestedPage.LIKE_BUTTON)[0].is_selected()): captureScreen(self, 'give_a_like_fail')
def test_find_domain(self): """ Пошук домена серед результатів пошукового результату """ main_page = MainPage() main_page.open() main_page.search_bar.search_for(search_word="automation") result = SearchPage().search_domain_in_pages('testautomationday.com', 5) assert result, "Результат пошуку не містить пошукового слова"
def test_search_cancel(self): ''' 在搜索页,点击取消按钮,返回到上一页 ''' print('**在搜索页面点击取消,验证是否会返回到首页**') HomePage(self.driver).click_search_box() SearchPage(self.driver).click_cancel_button() sleep(2) BasePage(self.driver).assert_true( BasePage(self.driver).is_element_present( HomePage(self.driver)._shopWindow))
def test_search_page_should_be_opened(browser, screenshot): # Arrange search_page = SearchPage(browser) name_of_site = "DuckDuckGo" # Act search_page.open_page() # Assert assert name_of_site in search_page.get_title( ), f"{name_of_site} should be opened"
def test_favourite_count(self): MainPage(self.driver).click_search_button() SearchPage(self.driver).wait_for_page_to_load() self.assertTrue(SearchPage(self.driver).toggle_favourite_investition(1)) self.assertTrue(SearchPage(self.driver).toggle_favourite_investition(2)) self.assertEqual(SearchPage(self.driver).get_number_of_favourites(), "2") self.assertTrue(SearchPage(self.driver).toggle_favourite_investition(3)) self.assertEqual(SearchPage(self.driver).get_number_of_favourites(), "3") self.assertTrue(SearchPage(self.driver).toggle_favourite_investition(3)) self.assertEqual(SearchPage(self.driver).get_number_of_favourites(), "2")
def test_cart_in_header_add_from_search_page(self): header_cart = HeaderPage(self.driver) search = SearchPage(self.driver) self.driver.get(TEST_URL + project_page.get('search')) prices = search.list_text_first_search_block_price for i, buy_button in enumerate(search.get_first_offers_buy_button): buy_button.click() assert header_cart.check_text_digit_cart_header(str(i + 1)) assert 3 == search.amount_first_offers_button_in_cart format_price = str(sum(list(map(lambda el: int(el[:-3]), prices)))) + prices[0][-4:] assert format_price == header_cart.text_cart_price
def setup(self): login_page = LoginPage(self.driver) login_page.open() login_page.login(const.USERNAME, const.PASSWORD) self.header = Header(self.driver) self.header.click_create_button() self.issue_summary = self.SUMMARY_PREFIX + str(round(random.random() * 100000)) create_issue_page = CreateIssuePage(self.driver) create_issue_page.set_summary(self.issue_summary) create_issue_page.click_create_button() create_issue_page.wait_until_page_disappear() self.search_page = SearchPage(self.driver)