def test_signInDisplaysByDefault(self): driver = self.driver search_page = SearchPage(driver) search_page.go_to_home_page() self.assertEqual( driver.find_element_by_id(search_page.sign_in_btn).text, "Sign in", "By default, when on Search page without sign in token, then you SHOULD see the Sign In Page" )
def test_like_product(self): driver = self.driver loginPage = LoginPage(driver) loginPage.log_in() searchPage = SearchPage(driver) searchPage.click_women_category() searchPage.fashion_women_title_is_displayed() searchPage.click_like_button() searchPage.assert_element_is_liked()
def test_search(self): search_sentence = "Addidas campus" mp = MainPage(self.driver) mp.searchbox_input_fill(search_sentence, True) sp = SearchPage(self.driver) search_result = sp.h1_page_title_text_get() self.UtilsSelenium.takeScreenshot(self.testName) assert 'Wyniki wyszukiwania dla Addidas campus' in search_result, self.logger.error( f'Searching test fail for: {search_sentence}!')
def test_add_product_to_cart_successfully(self): searchPage = SearchPage(self.driver) searchPage.set_search_text(Product.search_valid_product) searchPage.press_enter() assert Product.title_valid_product, searchPage.check_product_search(Product.title_valid_product) searchPage.click_product_search(Product.title_valid_product) cartPage = CartPage(self.driver) assert Product.title_valid_product, cartPage.check_product_title() cartPage.click_buy() assert Product.title_valid_product, cartPage.check_product_cart()
def create_search(self, text_for_search, should_submit=True): search = self.type_text(self.search_input, text_for_search) if should_submit: with wait_for_page_load_context_manager(self.driver): search.send_keys(Keys.RETURN) return SearchPage(self.driver) return self
def test_product_card(self): search_sentence = "Addidas campus" product = "Campus W DB3277" mp = MainPage(self.driver) mp.searchbox_input_fill(search_sentence, True) sp = SearchPage(self.driver) self.logger.info(f"Found product {sp.search_count_get()}") sp.search_page_product_by_second_name_click(product) pp = ProductPage(self.driver) data = pp.product_information_get('Model:') print(f"Data to search: {data}") assert product in data, self.logger.error( f"Wrong product selected! Should be {product} is: {data}") self.UtilsSelenium.takeScreenshot(self.testName)
def test_add_product_to_to_cart_with_extended_warranty(self): searchPage = SearchPage(self.driver) searchPage.set_search_text(Product.search_product_warranty) searchPage.press_enter() assert Product.title_product_warranty, searchPage.check_product_search(Product.title_product_warranty) searchPage.click_product_search(Product.title_product_warranty) cartPage = CartPage(self.driver) assert Product.title_product_warranty, cartPage.check_product_title() cartPage.click_buy() cartPage.click_radio_warranty() cartPage.click_continue() assert Product.title_product_warranty, cartPage.check_product_cart()
def test_main(self,setup): self.driver = setup self.driver.get(self.baseURL) print(self.baseURL.title()) self.sp = SearchPage(self.driver) #self.sp.clickCookies() time.sleep(3) self.sp.clickLocation(self.place) self.sp.clickSearch() self.sp.sortHighestprice(self) time.sleep(3) self.sp.sortDescending(self) self.sp.fifthProperty() time.sleep(3) self.sp.fifthValue() self.sp.agentPage() self.sp.agentDetails()
def setUp(self): self.driver = webdriver.Chrome(executable_path=r"C:\Users\Vagno\PycharmProjects\submarino-testing\web" r"-automation-submarino\chromedriver.exe") self.driver.get("https://www.submarino.com.br/") self.driver.implicitly_wait(5) self.driver.maximize_window() self.verificationErrors = [] self.accept_next_alert = True SearchPage(self.driver).click_search_bar()
def test_add_product_with_details_to_cart(self): searchPage = SearchPage(self.driver) searchPage.set_search_text(Product.search_product_with_details) searchPage.press_enter() assert Product.title_product_with_details, searchPage.check_product_search(Product.title_product_with_details) searchPage.click_product_search(Product.title_product_with_details) cartPage = CartPage(self.driver) assert Product.title_product_with_details, cartPage.check_product_title() cartPage.click_buy() assert Product.title_product_features, cartPage.check_confirm_product() cartPage.click_confirm_product() assert Product.title_valid_product, cartPage.check_product_cart() assert Product.features_product, cartPage.check_product_features()
def test_categories_two_level(driver, category, subcategory): search_page = SearchPage(driver) result_page = ResultPage(driver) search_page.click_on_categories_menu() search_page.click_on_sub_menu(category) search_page.click_on_sub_menu(subcategory) title = result_page.get_title() results = result_page.get_total_results().split() assert title == subcategory or title == category assert int(results[0].replace('.', '')) > 0 assert results[1] == 'resultados'
def test_enterSearchQueryGoesToResults(self): driver = self.driver search_page = SearchPage(driver) search_page.go_to_home_page() search_page.enter_search_query("Google") search_page.click_search() results_page = ResultsPage(driver) results_page.wait_for_results() self.assertRegex( results_page.get_stats_from_results(), "(.*)(results \\()(.*)(seconds)(\\))", "Given search query, when you click search button, then it SHOULD display result stats " )
def test_filter_category(driver, category, subcategory, filter): search_page = SearchPage(driver) result_page = ResultPage(driver) detail_page = DetailPage(driver) search_page.click_on_categories_menu() search_page.click_on_sub_menu(category) search_page.click_on_sub_menu(subcategory) result_page.apply_filter(filter) item = result_page.get_random_item() data = result_page.get_data_item(item) result_page.click_on_item(item) data_detail = detail_page.get_data_item() assert data[0] == data_detail[0] assert data[1] == data_detail[1]
def test_defaultSearchButtonText(self): driver = self.driver search_page = SearchPage(driver) search_page.go_to_home_page() self.assertEqual( "Google Search", search_page.get_text_from_element_name(search_page.search_btn), "Btn SHOULD be 'Google Search'") self.assertRegex( search_page.get_text_from_element_name( search_page.im_feeling_lucky_btn), "(I'm Feeling)(.*)", "Btn SHOULD be 'I'm Feeling ...'")
def test_search_product_successfully(self): searchPage = SearchPage(self.driver) searchPage.set_search_text(Product.search_valid_product) searchPage.press_enter() assert Product.title_valid_product in searchPage.check_product_search(Product.title_valid_product)
def test_add_product_that_is_no_stock(self): searchPage = SearchPage(self.driver) searchPage.set_search_text(Product.search_product_no_stock) searchPage.press_enter() assert Product.title_product_no_stock, searchPage.check_product_search(Product.title_product_no_stock) assert Product.message_no_stock, searchPage.check_message_no_stock() searchPage.click_product_search(Product.title_product_no_stock) assert Product.category_no_stock, searchPage.check_category_no_stock()
def enter_search_text(self, search_text): if self.is_present(self.SEARCH_TEXT): self.do_send_keys_and_enter(self.SEARCH_TEXT, search_text) return SearchPage(self.driver)
def click_search_text(self, search_text): if self.is_present(self.SEARCH_TEXT): self.do_send_keys(self.SEARCH_TEXT, search_text) self.do_click(self.SEARCH_IMAGE) return SearchPage(self.driver)
def step_impl(context): SearchPage(context).fill_all_mandatory_fields()
def step_impl(context: Context): SearchPage(context).click_search_button()
def step_impl(context: Context): SearchPage(context).check_search_results()
def test_search_suggested_product(self): searchPage = SearchPage(self.driver) searchPage.set_search_text(Product.search_product_suggested) assert Product.title_product_suggested1, searchPage.check_product_search(Product.title_product_suggested1) assert Product.title_product_suggested2, searchPage.check_product_search(Product.title_product_suggested2) assert Product.title_product_suggested3, searchPage.check_product_search(Product.title_product_suggested3)
def test_search_product_with_no_results_found(self): searchPage = SearchPage(self.driver) searchPage.set_search_text(Product.search_product_not_found) searchPage.press_enter() assert Product.message_not_found, searchPage.check_message_not_found()
def test_search_product_with_wrong_name(self): searchPage = SearchPage(self.driver) searchPage.set_search_text(Product.search_product_wrong) searchPage.press_enter() assert Product.message_alternative_results, searchPage.check_message_alternative_results() assert Product.title_alternative_product, searchPage.check_product_search(Product.title_alternative_product)
def step_impl(context: Context): SearchPage(context).go_to_page()
def step_impl(context: Context): SearchPage(context).select_car_from_the_list()