Exemplo n.º 1
0
def test_account_btn_click(browser):
    driver = browser
    MainPage(driver).account_btn_click()
    if MainPage(driver).is_expanded():
        assert True
    else:
        assert False
Exemplo n.º 2
0
def test_navigate_to_auth_page(browser):
    driver = browser
    try:
        MainPage(driver).account_btn_click()
        MainPage(driver).login_link_click()
        if "account/login" in driver.current_url:
            assert True
        else:
            assert False
    except StaleElementReferenceException:
        assert False
Exemplo n.º 3
0
def load_app(request):
    from page_objects.main_page import MainPage
    request.cls.main_app = MainPage()
    def driver_close():
        check_web_driver.close()

    request.addfinalizer(driver_close)
Exemplo n.º 4
0
    def _sign_in(self, username: str, password: str) -> MainPage:
        self._send_keys(self.__EMAIL, username)
        self._send_keys(self.__PASSWORD, password)

        self._click_via_script_by(self.__LOGIN_BTN)

        return MainPage(self._driver)
Exemplo n.º 5
0
def load_app(request):
    if isinstance(request.cls.webdriver, webdriver.Chrome):
        chrome_options = Options()
        # chrome_options.add_argument("--headless")
        prefs = {"profile.default_content_setting_values.notifications": 2}
        chrome_options.add_experimental_option("prefs", prefs)
        request.instance.initialized_webdriver = request.cls.webdriver(
            executable_path=request.cls.webdriver_path,
            chrome_options=chrome_options)

    elif isinstance(request.cls.webdriver, webdriver.Firefox):
        _browser_profile = webdriver.FirefoxProfile()
        _browser_profile.set_preference("dom.webnotifications.enabled", False)
        _browser_profile.set_preference("dom.push" ".enabled", False)
        options = fOptions()
        # options.set_headless(headless=True)
        request.instance.initialized_webdriver = request.cls.webdriver(
            executable_path=request.cls.webdriver_path,
            firefox_options=options,
            firefox_profile=_browser_profile)
    else:
        request.instance.initialized_webdriver = request.cls.webdriver(
            executable_path=request.cls.webdriver_path)

    request.instance.main_page = MainPage(
        request.instance.initialized_webdriver)

    def driver_close():
        request.instance.initialized_webdriver.quit()

    request.addfinalizer(driver_close)
Exemplo n.º 6
0
def get_main_page(browser):
    print(f"Browser: {Config.webdrivers[browser].name}")
    webdriver = Config.webdrivers[browser](
        command_executor=Config.grid_address) if "Remote" in Config.webdrivers[
            browser].name or "Android" in Config.webdrivers[
                browser].name or "IOS" in Config.webdrivers[
                    browser].name else Config.webdrivers[browser]()
    return MainPage(webdriver.web_driver)
Exemplo n.º 7
0
def test_check_covid_page(browser, load_env):
    main_url, projects_url, project_blago_url, project_covid_url = load_env

    ProjectsPage(browser).find_element_and_click(
        ProjectsLocator.project_covid_link)
    ProjectCovidPage(browser).check_elements() \
        .move_cursor_to_element(ProjectCovidLocator.covid_block)
    MainPage(browser).open_main_page(main_url)
Exemplo n.º 8
0
    def __init__(self, driver):
        self.driver = driver

        self.login = LoginPage(self)
        self.main = MainPage(self)
        self.product = ProductPage(self)
        self.order = OrderPage(self)
        self.report = ReportPage(self)
Exemplo n.º 9
0
    def test_successful_login_clicking_button(self):
        """
        Tests the login functionality of www.hudl.com considering the user clicked on the Login button
        to perform the action.
        """

        main_page = MainPage(self.driver)
        self.assertTrue(
            main_page.is_title_matches(),
            "The title of the Hudl main page was different from the expected. Found: {}, Expected: {}"
            .format(self.driver.title, main_page.MAIN_PAGE_TITLE))

        # Clicks on the Login button to be redirected to the login page
        main_page.click_login_button()

        login_page = LoginPage(self.driver)

        self.assertTrue(
            login_page.is_title_matches(),
            "The title of the Hudl login page was different from the expected. Found: {}, Expected: {}"
            .format(self.driver.title, login_page.LOGIN_PAGE_TITLE))

        # Sets the text of the email input to the user's email
        login_page.email_text_element = login_data.VALID_EMAIL

        # Sets the text of the password input to the user's password
        login_page.pwd_text_element = login_data.VALID_PASSWORD

        login_page.click_login_button()

        logged_in_page = LoggedInPage(self.driver)

        # Verifies if the user menu is visible
        self.assertTrue(
            logged_in_page.is_logged_in(),
            "The user wasn't logged in after clicking the Login button.")

        # Verifies if the display name present on the user menu matches the expected
        self.assertTrue(
            logged_in_page.is_display_name_matches(),
            "The display name don't match the expected. Found: {}, Expected: {}"
            .format(logged_in_page.display_name_text_element,
                    login_data.DISPLAY_NAME))

        print("\nSuccessfully logged in as {}!".format(
            logged_in_page.display_name_text_element))
Exemplo n.º 10
0
class OxwallSite:
    def __init__(self, driver):
        self.driver = driver
        self.main_page = MainPage(self.driver)
        self.dash_page = DashboardPage(self.driver)
        self.sign_in_page = SignInPage(driver)

    @allure.step("WHEN I logged in like {user}")
    def login_as(self, user):
        self.main_page.sign_in_click()
        self.sign_in_page.username_field.input(user.username)
        self.sign_in_page.password_field.input(user.password)
        self.sign_in_page.submit_form()

    @allure.step("WHEN I logged out")
    def logout(self):
        self.dash_page.sign_out()
Exemplo n.º 11
0
def load_app(request):
    request.cls.initialized_webdriver = request.cls.webdriver(executable_path=request.cls.webdriver_path)
    request.cls.main_page = MainPage(request.cls.initialized_webdriver)

    def driver_close():
        request.cls.initialized_webdriver.quit()

    request.addfinalizer(driver_close)
Exemplo n.º 12
0
def test_open_main_page_go_to_projects(browser, load_env):
    main_url, projects_url, project_blago_url, project_covid_url = load_env

    MainPage(browser) \
        .open_main_page(main_url) \
        .click_projects_link()

    assert projects_url == browser.current_url  # можно добавить проверики здесь, если позволяет стиль написания кода
    print(browser.current_url)
Exemplo n.º 13
0
def test_user_login(browser):
    driver = browser
    url = "http://localhost/index.php?route=account/login"
    with allure.step(f'navigate to user login page'):
        MainPage(driver).goto_login(url)
    try:
        with allure.step(f'input username'):
            MainPage(driver).login(email='*****@*****.**')
        with allure.step(f'input password'):
            MainPage(driver).passwd(pwd='password')
        with allure.step(f'login'):
            MainPage(driver).login_btn_click()
        with allure.step(f'Проверка Title на соответствие'):
            if driver.title == "My Account":
                assert True
            else:
                assert False
    except NoSuchElementException:
        assert False
Exemplo n.º 14
0
 def find_work(self):
     """
     1. Проверяем отображение элементов на главной странице 'hh.ru'
     2. Вводим текст в поле 'Профессия, должность или компания'
     3. Нажимаем кнопку 'Найти работу'
     4. Проверяем переход на страницу результата поиска
     """
     main_page = MainPage(self.driver, self.url)
     vacancy_page = SearchVacancyPage(self.driver)
     main_page.verify_main_page()
     main_page.input_work("python")
     main_page.click_find_job()
     vacancy_page.verify_search_vacancy_page()
Exemplo n.º 15
0
    def __init__(self, driver):
        # Open Oxwall site
        self.driver = driver
        self.main_page = MainPage(self.driver)
        self.dash_page = DashboardPage(self.driver)
        self.sign_in_page = SignInPage(driver)

        # Now these actions are in Page Objects.
        # TODO: clean all this old code, and use new approach in all parts of project
        self.wait = WebDriverWait(self.driver, 10)
        self.actions = ActionChains(self.driver)
Exemplo n.º 16
0
    def test_unsuccessful_login_invalid_password(self):
        """
        Tests the login functionality of www.hudl.com considering the user pressed the enter key to perform the action.
        """

        main_page = MainPage(self.driver)
        self.assertTrue(
            main_page.is_title_matches(),
            "The title of the Hudl main page was different from the expected. Found: {}, Expected: {}"
            .format(self.driver.title, main_page.MAIN_PAGE_TITLE))

        # Clicks on the Login button to be redirected to the login page
        main_page.click_login_button()

        login_page = LoginPage(self.driver)

        self.assertTrue(
            login_page.is_title_matches(),
            "The title of the Hudl login page was different from the expected. Found: {}, Expected: {}"
            .format(self.driver.title, login_page.LOGIN_PAGE_TITLE))

        # Sets the text of the email input to the user's email
        login_page.email_text_element = login_data.VALID_EMAIL

        # Sets the text of the password input to the user's password
        login_page.pwd_text_element = login_data.INVALID_PASSWORD

        login_page.click_login_button()

        # Verifies if the error container is visible
        self.assertTrue(
            login_page.is_error_container_visible(),
            "No error message was shown when trying to login with "
            "empty credential fields.")
        # Verify if the visible error message matches the expected
        self.assertTrue(
            login_page.is_error_message_matches(),
            "The error message displayed to the user was different "
            "from the expected.")
Exemplo n.º 17
0
    def __init__(self, driver):
        # Open Oxwall site
        self.driver = driver
        self.driver.get('http://127.0.0.1/oxwall/')

        self.main_page = MainPage(self.driver)
        self.dash_page = DashboardPage(self.driver)
        self.sign_in_page = SignInPage(driver)

        self.wait = WebDriverWait(self.driver, 10)
        self.actions = ActionChains(self.driver)

        self.join_page = JoinPage(self.driver)
Exemplo n.º 18
0
def test_search_product(browser):
    """
    Проверка поиск товара на странице
    :param browser:
    """

    main_page = MainPage(browser.wd)
    search_page = SearchPage(browser.wd)

    # Открывам главную страницу:
    browser.open_main_page()

    # Очищаем поле ввода и вводим интересующий нас товар:
    main_page.search('Canon EOS 5D')
    search_query = search_page.get_search_query_text()
    search_product = search_page.get_search_product_text()

    # Проверяем, что был поиск по интересующему нас товару:
    assert search_query == 'Search - Canon EOS 5D'

    # Проверям, что в результатах поиска есть интересующий нас товар:
    assert search_product == 'Canon EOS 5D'
Exemplo n.º 19
0
    def test_unsuccessful_login_empty_fields(self):
        """
        Tests the login functionality of www.hudl.com considering the user try to login with empty fields.
        """

        main_page = MainPage(self.driver)
        self.assertTrue(
            main_page.is_title_matches(),
            "The title of the Hudl main page was different from the expected. Found: {}, Expected: {}"
            .format(self.driver.title, main_page.MAIN_PAGE_TITLE))

        # Clicks on the Login button to be redirected to the login page
        main_page.click_login_button()

        login_page = LoginPage(self.driver)

        self.assertTrue(
            login_page.is_title_matches(),
            "The title of the Hudl login page was different from the expected. "
            "Found: {}, Expected: {}".format(self.driver.title,
                                             login_page.LOGIN_PAGE_TITLE))

        login_page.clear_credential_fields()

        login_page.click_login_button()

        # Verifies if the error container is visible
        self.assertTrue(
            login_page.is_error_container_visible(),
            "No error message was shown when trying to login with "
            "empty credential fields.")
        # Verify if the visible error message matches the expected
        self.assertTrue(
            login_page.is_error_message_matches(),
            "The error message displayed to the user was different "
            "from the expected.")
Exemplo n.º 20
0
    def setUp(self):

        self.driver = webdriver.Firefox(executable_path=geckodriver_path)

        # desired_cap = browser_config['ff_44_osx_hs']
        # self.driver = webdriver.Remote(
        #     command_executor='http://' + USERNAME + ':' + ACCESS_KEY + '@hub.browserstack.com:80/wd/hub',
        #     desired_capabilities=desired_cap)

        # open page
        self.driver.get(base_url)
        if "Google" not in self.driver.title:
            raise Exception("Unable to load google page!")

        self.main_page = MainPage(self.driver)
        self.search_result_page = SearchResultsPage(self.driver)
Exemplo n.º 21
0
def test_next_banner(browser, banner):
    """
    Проверка переключения баннера
    :param browser:
    :param banner:
    :return:
    """
    main_page = MainPage(browser.wd)

    # Открываем главную страницу:
    browser.open_main_page()

    # Переключаем на следующий баннер:
    main_page.switch_next_banner()

    # Проверяем текущий баннер:
    main_page.check_banner_is_present(banner)
Exemplo n.º 22
0
def test_guest_should_see_login_link(browser):
    link = "http://selenium1py.pythonanywhere.com/"
    page = MainPage(browser, link)
    page.open()
    page.should_be_login_link()
Exemplo n.º 23
0
    def click_to_join(self):
        self.find_visible_element(SignInLocators.JOIN_LINK).click()

    def submit_form(self):
        self.sign_in_button.click()
        self.wait.until(
            invisibility_of_element_located(SignInLocators.LOGIN_BACKGROUND),
            "DashPage doesn't appear")
        # return DashboardPage(self.driver)


if __name__ == "__main__":
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get("http://127.0.0.1/oxwall")
    from page_objects.main_page import MainPage
    main_page = MainPage(driver)
    main_page.sign_in_menu.click()

    sign_in_page = SignInPage(driver)
    # 1st type of using:
    sign_in_page.username_field.clear()
    sign_in_page.username_field.send_keys("something")
    sign_in_page.password_field.clear()
    sign_in_page.password_field.send_keys("some_pass")
    sign_in_page.sign_in_button.click()
    # 2nd type of using:
    sign_in_page.input_username("something")
    sign_in_page.input_password("some_pass")
    sign_in_page.submit_form()
Exemplo n.º 24
0
 def test_guest_can_open_login_page_from_main_page(self, browser):
     page = MainPage(browser)
     page.open()
     page.go_to_login_or_register_page()
     page = LoginPage(browser)
     page.is_page_registration_login_page()
Exemplo n.º 25
0
 def test_can_change_language_from_main_page(self, browser, language):
     mp = MainPage(browser)
     mp.open()
     mp.change_language(language)
     mp.is_language_changed(language)
Exemplo n.º 26
0
 def __init__(self, driver):
     self.driver = driver
     self.main_page = MainPage(self.driver)
     self.dash_page = DashboardPage(self.driver)
     self.sign_in_page = SignInPage(driver)
Exemplo n.º 27
0
def test_test_run(driver_session):
    autoria_page = MainPage(driver_session)

    autoria_page.open_page_and_wait()

    autoria_page.get_used_field().click()

    brand_field = autoria_page.get_brand_field()
    autoria_page.clear_and_enter_text(brand_field, "Kia")
    brand_field.send_keys(Keys.ENTER)
    autoria_page.select_option_value("Kia")

    mark_field = autoria_page.get_mark_field()
    autoria_page.clear_and_enter_text(mark_field, "Sportage")
    mark_field.send_keys(Keys.ENTER)
    autoria_page.select_option_value("Sportage")

    autoria_page.get_year_from().click()
    autoria_page.select_year('from', '2015')

    autoria_page.get_year_to().click()
    autoria_page.select_year('to', '2015')

    autoria_page.click_search_butn()
    autoria_page.wait_page_ready()
Exemplo n.º 28
0
def test_calendar(browser):
    MainPage(browser).find_element(MainLocator.calendar)
    MainPage(browser).move_cursor_to_element(MainLocator.calendar)
Exemplo n.º 29
0
    def __init__(self, driver):
        self.driver = driver

        self.main = MainPage(self)
        self.product = ProductPage(self)
        self.cart = CartPage(self)
Exemplo n.º 30
0
def test_guest_can_go_to_login_page(browser):
    link = "http://selenium1py.pythonanywhere.com/"
    page = MainPage(browser, link)
    page.open()
    page.go_to_login_page()