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()
Beispiel #10
0
    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()
Beispiel #11
0
    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."
        )
Beispiel #13
0
    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
Beispiel #15
0
 def test_guest_should_see_login_link(self, browser):
     page = MainPage(browser, link)
     page.open()
     page.should_be_login_link()
Beispiel #16
0
 def __init__(self, driver):
     self.main_page = MainPage(driver)
     self.advanced_page = AdvancedPage(driver)
Beispiel #17
0
 def test_guest_should_see_login_link(self, browser):
     link = MainPageLocators.LINK
     page = MainPage(browser, link)
     page.open()
     page.should_be_login_link()
Beispiel #18
0
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)
Beispiel #19
0
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()
Beispiel #24
0
def test_change_currencies(browser):
    MainPage(browser).select_pound().select_usd().select_euro()
Beispiel #25
0
def test_main_page(browser):
    MainPage(browser).check_elements_exist()
Beispiel #26
0
 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()
Beispiel #28
0
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()
Beispiel #30
0
 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()
Beispiel #31
0
def search_for_value(app, value):
    with allure.step(F"When search for {value}"):
        main_page = MainPage(app)
        main_page.search_for(value)
Beispiel #32
0
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)
Beispiel #33
0
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()
Beispiel #34
0
    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'
Beispiel #35
0
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()
Beispiel #38
0
 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()
Beispiel #43
0
    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)
Beispiel #44
0
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()