def login(self, driver, login=None, password=None): if not login: login = self.get_username password = self.get_password header = HeaderPage(driver) module = ModulePage(driver) header.click_empty_profile() module.fill_module_phone_field(login) module.fill_module_pass_field(password) module.click_module_enter()
def test_module_cart_delete_item(self): module_cart = ModulePage(self.driver) header_cart = HeaderPage(self.driver) card = CardPage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) card.click_button_buy() header_cart.click_cart() assert module_cart.check_cart_module_info_loaded('грн') module_cart.click_button_remove_item() assert header_cart.check_cart_without_items
def test_cart_in_header_add_from_vin_request(self): self.driver.get(TEST_URL) header_cart = HeaderPage(self.driver) header_profile = HeaderPage(self.driver) request_by_vin = RequestByVinPage(self.driver) self.login(self.driver) assert header_profile.check_profile_auth() self.driver.get(TEST_URL + project_page.get('request_by_vin')) request_by_vin.click_buy_button() assert request_by_vin.check_button_in_cart assert header_cart.text_digit_cart_header assert header_cart.text_cart_price
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 test_cart_in_header_add_from_card_offers(self): header_cart = HeaderPage(self.driver) card = CardPage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) prices = card.list_text_first_offers_price for i, buy_button in enumerate(card.get_first_offers_buy_button): buy_button.click() assert header_cart.check_text_digit_cart_header(str(i + 1)) assert card.amount_first_offers == card.amount_offers_button_in_cart format_price_for_header_cart = str( sum(list(map(lambda el: int(el[:-3]), prices)))) + prices[0][-4:] assert format_price_for_header_cart == header_cart.text_cart_price
def test_cart_in_header_add_from_search_page_recommended(self): header_cart = HeaderPage(self.driver) search = SearchPage(self.driver) self.driver.get(TEST_URL + project_page.get('search')) prices = search.list_search_recommended_prices buy_buttons = search.get_search_recommended_buttons_buy for i, __ in enumerate(prices): buy_buttons[i].click() assert header_cart.check_text_digit_cart_header(str(i + 1)) assert 3 == search.amount_of_search_recommended_buttons_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 test_cart_delete_item(self): header_cart = HeaderPage(self.driver) cart = CartPage(self.driver) card = CardPage(self.driver) module_cart = ModulePage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) card.click_button_buy() header_cart.click_cart() module_cart.click_to_cart() # self.close_draggable(self.driver) cart.click_button_remove_item() assert header_cart.check_cart_without_items
def test_menu_element_name(self, current_language, type_nav): self.driver.get(TEST_URL) menu = { 'mega': (self.mega_menu_elements, HeaderPage(self.driver).text_mega_menu), 'user': (self.user_menu_elements, HeaderPage(self.driver).text_user_menu), 'contact': (self.contact_elements, HeaderPage(self.driver).text_contact) } self.change_language(self.driver, current_language) expected_menu = menu.get(type_nav)[0].get(current_language) actual_menu = menu.get(type_nav)[1]() assert len(actual_menu) == len(expected_menu) for i in range(len(expected_menu)): assert actual_menu[i] == expected_menu[i]
def test_comparison_info_cart_vs_recommended_in_cart(self): module_cart = ModulePage(self.driver) header_cart = HeaderPage(self.driver) cart = CartPage(self.driver) self.driver.get(TEST_URL + project_page.get('cart')) page_info = cart.set_recommended_product_info() cart.click_first_buy_button_recommended() assert self.driver.current_url == (TEST_URL + project_page.get('cart')) cart_info = cart.set_product_info() # self.close_draggable(self.driver) header_cart.click_cart() assert module_cart.check_cart_module_info_loaded('грн') cart_module_info = module_cart.set_product_info() assert page_info == cart_info assert page_info == cart_module_info
def test_check_name_garage(self): self.driver.get(TEST_URL) my_car = HeaderPage(self.driver) module_car = ModulePage(self.driver) garage = GaragePage(self.driver) self.add_car(self.driver, test_car.get('manufacture'), test_car.get('model'), test_car.get('type_model'), test_car.get('modification'), 'parts_search', test_car.get('year')) assert '{}{}'.format( test_car.get('manufacture'), test_car.get('model')).upper() == my_car.text_my_car my_car.click_my_car() module_car.click_button_go_to_garage() assert self.expected_car == garage.text_car_name
def test_auth_simple(self): """Test 1""" self.driver.get(TEST_URL) header = HeaderPage(self.driver) self.login(self.driver) assert test_user.get( 'name').lower() in header.text_profile_user.lower()
def test_auth_multi(self): """Test 3""" self.driver.get(TEST_URL) header = HeaderPage(self.driver) self.login_multi(self.driver) assert test_user.get( 'multi_name').lower() in header.text_profile_user.lower()
def test_cart_in_header_add_from_catalog(self): header_cart = HeaderPage(self.driver) catalog = CatalogPage(self.driver) self.driver.get(TEST_URL + project_page.get('category')) catalog.click_first_buy_button() assert catalog.check_present_button_in_cart assert '1' == header_cart.text_digit_cart_header assert header_cart.text_cart_price in catalog.text_first_price
def test_comparison_info_cart_vs_full_search(self): module_cart = ModulePage(self.driver) header_cart = HeaderPage(self.driver) cart = CartPage(self.driver) full_search_product = FullSearchProductPage(self.driver) self.driver.get(TEST_URL + project_page.get('full-search-product')) page_info = full_search_product.set_product_info() full_search_product.click_first_buy_button() full_search_product.click_first_in_cart_button() assert self.driver.current_url == (TEST_URL + project_page.get('cart')) cart_info = cart.set_product_info() # self.close_draggable(self.driver) header_cart.click_cart() assert module_cart.check_cart_module_info_loaded('грн') cart_module_info = module_cart.set_product_info() assert page_info == cart_info assert page_info == cart_module_info
def test_cart_in_header_add_from_full_search(self): header_cart = HeaderPage(self.driver) full_search_product = FullSearchProductPage(self.driver) self.driver.get(TEST_URL + project_page.get('full-search-product')) full_search_product.click_first_buy_button() assert full_search_product.check_button_in_cart assert '1' == header_cart.text_digit_cart_header assert header_cart.text_cart_price in full_search_product.text_first_price
def test_cart_in_header_add_from_recommended_in_cart(self): header_cart = HeaderPage(self.driver) cart = CartPage(self.driver) self.driver.get(TEST_URL + project_page.get('cart')) cart.click_first_buy_button_recommended() assert cart.check_present_button_in_cart_recommended assert '1' == header_cart.text_digit_cart_header assert header_cart.text_cart_price in cart.text_first_recommended_price
def test_comparison_info_cart_vs_search(self): count = random.randint(0, 2) module_cart = ModulePage(self.driver) header_cart = HeaderPage(self.driver) cart = CartPage(self.driver) search = SearchPage(self.driver) self.driver.get(TEST_URL + project_page.get('search')) page_info = search.set_recomended_product_info(count) search.get_first_offers_buy_button[count].click() search.get_first_offers_in_cart_button[0].click() assert self.driver.current_url == (TEST_URL + project_page.get('cart')) cart_info = cart.set_product_info() # self.close_draggable(self.driver) header_cart.click_cart() assert module_cart.check_cart_module_info_loaded('грн') cart_module_info = module_cart.set_product_info() assert page_info == cart_info assert page_info == cart_module_info
def test_cart_in_header_add_from_card(self): header_cart = HeaderPage(self.driver) card = CardPage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) card.click_button_buy() assert card.check_present_button_in_cart assert '1' == header_cart.text_digit_cart_header assert header_cart.text_cart_price in card.text_price
def test_auth_checkout_page(self): """Test 4""" header = HeaderPage(self.driver) card = CardPage(self.driver) module = ModulePage(self.driver) checkout = CheckoutPage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) card.click_button_buy() assert header.text_digit_cart_header header.click_cart() module.click_module_button_order() self.wait_client_loader(self.driver) self.login_multi_checkout(self.driver) assert test_user.get( 'multi_name').lower() in header.text_profile_user.lower() assert test_user.get( 'multi_name').lower() in checkout.text_checkout_user_name.lower()
def test_comparison_info_cart_vs_card(self): module_cart = ModulePage(self.driver) header_cart = HeaderPage(self.driver) cart = CartPage(self.driver) card = CardPage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) page_info = card.set_product_info() card.click_button_buy() card.click_to_cart_button() assert self.driver.current_url == (TEST_URL + project_page.get('cart')) cart_info = cart.set_product_info() # self.close_draggable(self.driver) header_cart.click_cart() assert module_cart.check_cart_module_info_loaded('грн') cart_module_info = module_cart.set_product_info() assert page_info == cart_info assert page_info == cart_module_info
def test_comparison_info_cart_vs_card_offers(self): count = random.randint(0, 1) module_cart = ModulePage(self.driver) header_cart = HeaderPage(self.driver) cart = CartPage(self.driver) card = CardPage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) page_info = card.set_product_info_offers(count) card.get_first_offers_buy_button[count].click() card.click_offer_in_cart_button() assert self.driver.current_url == (TEST_URL + project_page.get('cart')) cart_info = cart.set_product_info() # self.close_draggable(self.driver) header_cart.click_cart() assert module_cart.check_cart_module_info_loaded('грн') cart_module_info = module_cart.set_product_info() assert page_info == cart_info assert page_info == cart_module_info
def test_add_update_delete_car_by_parts_search(self): self.driver.get(TEST_URL) my_car = HeaderPage(self.driver) module_car = ModulePage(self.driver) garage = GaragePage(self.driver) self.add_car(self.driver, test_car.get('manufacture'), test_car.get('model'), test_car.get('type_model'), test_car.get('modification'), 'parts_search', test_car.get('year')) my_car.click_my_car() module_car.click_button_go_to_garage() self.change_year_vin(self.driver, 'garage', year=self.expected_car_year, vin=test_car.get('vin')) assert test_car.get('vin') in garage.text_car_vin assert self.expected_car_year in garage.text_car_year self.delete_chosen_car(self.driver, 'garage') assert my_car.check_empty_my_car
def test_cart_in_header_add_from_you_watched(self): header_cart = HeaderPage(self.driver) main = MainPage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) self.driver.get(TEST_URL) main.click_first_buy_button_you_watched() assert main.check_button_in_cart_you_watched assert '1' == header_cart.text_digit_cart_header assert header_cart.text_cart_price in main.text_first_price
def test_comparison_info_cart_vs_you_watched(self): module_cart = ModulePage(self.driver) header_cart = HeaderPage(self.driver) cart = CartPage(self.driver) main = MainPage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) self.driver.get(TEST_URL) page_info = main.set_you_watched_product_info() main.click_first_buy_button_you_watched() main.click_first_in_cart_button_you_watched() assert self.driver.current_url == (TEST_URL + project_page.get('cart')) cart_info = cart.set_product_info() # self.close_draggable(self.driver) header_cart.click_cart() assert module_cart.check_cart_module_info_loaded('грн') cart_module_info = module_cart.set_product_info() assert page_info == cart_info assert page_info == cart_module_info
def test_check_name_my_car(self): self.driver.get(TEST_URL) my_car = HeaderPage(self.driver) module_car = ModulePage(self.driver) self.add_car(self.driver, test_car.get('manufacture'), test_car.get('model'), test_car.get('type_model'), test_car.get('modification'), 'my_car', test_car.get('year')) assert '{}{}'.format( test_car.get('manufacture'), test_car.get('model')).upper() == my_car.text_my_car assert set(self.expected_car) == module_car.set_text_car_name
def test_cart_change_count_items(self, mode): header_cart = HeaderPage(self.driver) cart = CartPage(self.driver) card = CardPage(self.driver) module_cart = ModulePage(self.driver) self.driver.get(TEST_URL + project_page.get('product_card_with_offers')) decrease = card.text_price increase = str(int(decrease[:-3]) * 2) card.click_button_buy() header_cart.click_cart() module_cart.click_to_cart() # self.close_draggable(self.driver) cart.click_button_plus() assert cart.check_field_digit_field_count('2') assert cart.check_sum_price( increase) if mode == 'sum' else cart.check_total_price(increase) cart.click_button_minus() assert cart.check_field_digit_field_count('1') assert cart.check_sum_price( decrease) if mode == 'sum' else cart.check_total_price(decrease)
def test_add_update_delete_car_by_my_car(self): self.driver.get(TEST_URL) my_car = HeaderPage(self.driver) module_car = ModulePage(self.driver) self.add_car(self.driver, test_car.get('manufacture'), test_car.get('model'), test_car.get('type_model'), test_car.get('modification'), 'my_car', test_car.get('year')) self.change_year_vin(self.driver, 'module', vin=test_car.get('vin')) assert test_car.get('vin') in module_car.text_car_vin('my_cars') assert test_car.get('vin') in module_car.text_car_vin('chosen_car') self.delete_chosen_car(self.driver, 'module') assert my_car.check_empty_my_car
def add_car(driver, manufacture, model, type_model, modification, mode, year=None): add_car = ModulePage(driver) my_car = HeaderPage(driver) if mode == 'my_car': my_car.click_my_car() if year: add_car.click_years_select(mode) add_car.click_car_year_selected(year) add_car.click_munufactures_select(mode) add_car.fill_manufacture_field(manufacture) add_car.click_car_manufacture_selected() add_car.click_models_select(mode) add_car.click_car_model_selected(model) add_car.click_type_models_select(mode) add_car.click_car_type_model_selected(type_model) add_car.click_modifications_select(mode) add_car.click_car_modification_selected(modification) add_car.click_select_car()
def change_language(driver, selected_language): language = HeaderPage(driver) current_language = language.text_current_language if current_language != selected_language: language.click_language_select() language.click_module_language_option(selected_language)
from behave import given, when, then from utils import Utils from pages.header_page import HeaderPage from pages.resultPage import ResultPage from nose.tools import assert_equal utils = Utils() headerPage = HeaderPage() resultPage = ResultPage() @given(u'que acesso o site do Python') def step_impl(context): utils.navegar('https://www.python.org/') @given(u'preencho o input da pesquisa') def step_impl(context): headerPage.preenche_input_busca('Python') @when(u'clico no botão de pesquisar') def step_impl(context): headerPage.click_btn_go() @then(u'devo visualizar os resultados da pesquisa') def step_impl(context): assert_equal(resultPage.get_text_title(), 'Search Python.org')