示例#1
0
文件: methods.py 项目: ulko81/project
 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()
示例#2
0
 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
示例#3
0
 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
示例#4
0
 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
示例#5
0
 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
示例#6
0
 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
示例#7
0
 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
示例#8
0
    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]
示例#9
0
 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
示例#10
0
 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
示例#11
0
 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()
示例#12
0
 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()
示例#13
0
 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
示例#14
0
 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
示例#15
0
 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
示例#16
0
 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
示例#17
0
 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
示例#18
0
 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
示例#19
0
 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()
示例#20
0
 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
示例#21
0
 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
示例#22
0
 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
示例#23
0
 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
示例#24
0
 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
示例#25
0
 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
示例#26
0
 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)
示例#27
0
 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
示例#28
0
文件: methods.py 项目: ulko81/project
 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()
示例#29
0
文件: methods.py 项目: ulko81/project
 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)
示例#30
0
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')