Ejemplo n.º 1
0
 def test_verify_name_page(self, browser):
     page = MainPage(browser)
     page.open()
     page.user_in_system()
     page.go_to_account_page()
     account_page = AccountPage(browser)
     account_page.verify_page_name()
Ejemplo n.º 2
0
 def __init__(self):
     self._driver = Firefox(executable_path=urls.FIREFOX_EXE_PATH)
     self._setup_driver()
     self._account = AccountPage(self._driver)
     self._practice = PracticePage(self._driver)
     self._settings = SettingsPage(self._driver)
     self._keyboard = Keyboard()
Ejemplo n.º 3
0
def test_guest_can_login_successful(browser):
    link = "http://automationpractice.com/index.php?controller=authentication"
    page = LoginPage(browser, link)
    page.open()
    page.login_user('*****@*****.**', '123456')
    account_page = AccountPage(browser, browser.current_url)
    account_page.should_be_account_page()
Ejemplo n.º 4
0
 def test_guest_can_create_account(self, browser):
     # Arrange
     page = LoginPage(browser, URLLocators.LOGIN_URL)
     page.open()
     page.check_is_login_page()
     # Act
     page.register_new_user()
     page.go_to_account_page()
     # Assert
     profile_page = AccountPage(browser, browser.current_url)
     profile_page.check_account_profile_page()
Ejemplo n.º 5
0
def login(driver, username, password):

    welcome(driver)

    navigation = Navigation(driver)
    navigation.account_btn().click()

    account_page = AccountPage(driver)
    account_page.click_login().click()

    register_page = RegisterPage(driver)
    register_page.login_btn().click()

    login_page = LoginPage(driver)
    login_page.login(username, password)
Ejemplo n.º 6
0
    def test_login_correct_credents(self):

        # Scenariusz: Logowanie zarejestrowanego użytkownika poprawnymi danymi do logowania

        # 1. Kliknij "MY ACCOUNT"
        # ta metoda klika My Account i Login za jednym razem
        home_page = HomePage(self.driver)
        home_page.click_my_account_btn()
        '''
        # 2. Kliknij "Login"
        main_page.click_login()
        time.sleep(3)
        '''
        # 3. Wprowadź poprawny adres email
        login_page = LoginPage(self.driver)
        login_page.submit_email('*****@*****.**')

        # 4. Wprowadź poprawne hasło
        login_page.submit_password('demouser')

        # 5. Kliknij 'LOGIN'
        login_page.click_login_btn()

        #Oczekiwany rezulat: Użytkownik jest poprawnie zalogowany. Następuje automatyczne przeniesienie na stronę https://www.phptravels.net/account/

        account_page = AccountPage(self.driver)
Ejemplo n.º 7
0
    def test_logout(self):
        username = '******'
        password = '******'
        login.login(self.driver, username, password)
        time.sleep(3)

        common.swipe('up', self.driver)
        account_page = AccountPage(self.driver)
        account_page.setup().click()

        setup_page = SetupPage(self.driver)
        setup_page.logout_btn().click()
        setup_page.logout_alert_yes().click()

        name = setup_page.name().get_attribute('text')
        print(name)
        self.assertTrue('函数' not in name)
Ejemplo n.º 8
0
 def test_verify_profile_buttons_under_form(self, browser):
     page = MainPage(browser)
     page.open()
     page.user_in_system()
     page.go_to_account_page()
     account_page = AccountPage(browser)
     account_page.browser.execute_script("window.scrollBy(0, 100);")
     account_page.verify_change_pass_button()
     account_page.verify_edit_profile_button()
     account_page.verify_delete_profile_button()
Ejemplo n.º 9
0
class TypingBot:
    def __init__(self):
        self._driver = Firefox(executable_path=urls.FIREFOX_EXE_PATH)
        self._setup_driver()
        self._account = AccountPage(self._driver)
        self._practice = PracticePage(self._driver)
        self._settings = SettingsPage(self._driver)
        self._keyboard = Keyboard()

    def _setup_driver(self):
        self._driver.set_window_size(1440, 900)
        self._driver.implicitly_wait(timers.IMPLICIT_WAIT)

    def login(self):
        self._driver.get(urls.LOGGED_IN_URL)
        print('Logged In!')

    def go_to_practice(self):
        self._account.click_practice()
        self._practice.close_popup_window()

    def change_settings(self):
        self._practice.go_to_settings()
        self._settings.extend_alphabet()
        self._settings.extend_lesson_length()
        self._settings.enable_capital_letters()
        self._settings.enable_punctuation_characters()
        self._settings.save_settings()

    def practice_for_repetitions(self, practice_reps=1):
        for i in range(practice_reps):
            input_text = self._get_text_input_items()
            self._keyboard.type_sentence(input_text)
            time.sleep(timers.WAIT_FOR_NEXT_PRACTICE)

    def cleanup(self):
        self._driver.quit()

    def _get_text_input_items(self):
        input_items = self._practice.find_text_input_items()
        input_items_text = [
            ' ' if item.text == '␣' else item.text for item in input_items
        ]
        input_text = ''.join(input_items_text)
        return input_text
Ejemplo n.º 10
0
 def test_cancel_change_password(self, browser):
     page = MainPage(browser)
     page.open()
     page.user_in_system()
     page.go_to_account_page()
     account_page = AccountPage(browser)
     account_page.press_change_pass_button()
     change_password_page = ChangePasswordPage(browser)
     change_password_page.press_button_cancel()
     account_page = AccountPage(browser)
     account_page.open()
Ejemplo n.º 11
0
 def test_cancel_edit_profile_name(self, browser):
     page = MainPage(browser)
     page.open()
     page.user_in_system()
     page.go_to_account_page()
     account_page = AccountPage(browser)
     account_page.press_edit_profile_button()
     user_profile_edit_page = AccountProfileEditPage(browser)
     user_profile_edit_page.press_button_cancel()
     account_page = AccountPage(browser)
     account_page.open()
Ejemplo n.º 12
0
 def test_cancel_delete_profile(self, browser):
     page = MainPage(browser)
     page.open()
     page.user_in_system()
     page.go_to_account_page()
     account_page = AccountPage(browser)
     account_page.press_delete_profile_button()
     delete_profile_page = DeleteProfilePage(browser)
     delete_profile_page.cancel_delete_profile_link()
     account_page = AccountPage(browser)
     account_page.open()
Ejemplo n.º 13
0
 def test_edit_profile_name(self, browser):
     page = MainPage(browser)
     page.open()
     page.user_in_system()
     page.go_to_account_page()
     account_page = AccountPage(browser)
     account_page.press_edit_profile_button()
     user_profile_edit_page = AccountProfileEditPage(browser)
     user_profile_edit_page.change_name_field()
     user_profile_edit_page.press_button_save()
     account_page = AccountPage(browser)
     account_page.alert_of_change_profile()
def test_success_adding_address(browser):
    #Arrange
    link = data.MAIN_PAGE_LINK
    page = MainPage(browser, link)
    page.open()
    page.go_to_login_page()
    login_page = LoginPage(browser, browser.current_url)
    login_page.sign_in(data.MY_LOGIN, data.MY_PASSWORD)
    main_page = MainPage(browser, browser.current_url)
    main_page.go_to_profile()
    account_page = AccountPage(browser, browser.current_url)
    #Act
    account_page.select_address_book()
    account_page.open_new_address_form()
    account_page.add_new_address(data.APPEAL, data.FIRST_NAME, data.LAST_NAME, data.FIRST_LINE_ADDRESS,\
                                 data.EMPTY_INPUT,data.EMPTY_INPUT, data.CITY, data.EMPTY_INPUT, data.POSTCODE,\
                                 data.COUNTRY,data.EMPTY_INPUT, data.EMPTY_INPUT)
    #Assert
    account_page.address_added()
Ejemplo n.º 15
0
 def login(self, login, password):
     self.clear_field_and_send_keys(
         login, self._login_field,
         "The login field wasn't found on login page")
     self.clear_field_and_send_keys(
         password, self._password_field,
         "The password field wasn't found on login page")
     self.click(
         self._login_submit,
         "Button to submit login action wasn't found on the login page")
     return AccountPage(self.get_driver())
def test_login_to_the_system(browser):
    with allure.step('Open login page'):
        main_page = MainPage(browser)
        main_page.open_login_page()
    with allure.step('Check login page displays'):
        login_page = LoginPage(browser)
        login_page.should_be_login_page()
    with allure.step('Login as a user "*****@*****.**"'):
        login_page.login("*****@*****.**", "11111")
    with allure.step('Check account page displays'):
        AccountPage(browser).should_be_account_page()
Ejemplo n.º 17
0
    def test_password_change(self):

        # 1. Logowanie
        home_page = HomePage(self.driver)
        home_page.click_my_account_btn()

        # 2. Wprowadź poprawny adres email
        login_page = LoginPage(self.driver)
        login_page.submit_email('*****@*****.**')

        # 3. Wprowadź poprawne hasło
        login_page.submit_password('demouser')

        # 4. Kliknij 'LOGIN'
        login_page.click_login_btn()

        account_page = AccountPage(self.driver)

        # 5. Kliknij 'My Profile'
        account_page.click_my_profile()

        # 6. Wprowadz nowe haslo
        account_page.enter_new_password('demouser123')

        # 7. Wprowadz powtornie nowe haslo
        account_page.confirm_new_password('demouser123')

        # 8. Kliknij SUBMIT
        account_page.click_submit()

        # Oczekiwany rezultat: Wyświetla się komunikat "Profile Updated Successfully"
        success_notices = self.driver.find_elements_by_xpath(
            '//div[@class="alert alert-success"]')
        visible_success_notices = []
        for success in success_notices:
            if success.is_displayed():
                visible_success_notices.append(success)
        self.assertEqual(len(visible_success_notices), 1)
        self.assertEqual(visible_success_notices[0].text,
                         "Profile Updated Successfully.")
Ejemplo n.º 18
0
def test_change_user(browser, user_change_config_data):
    user_email, user_password, \
    new_first_name, new_last_name = user_change_config_data
    main_page = MainPage(browser)
    main_page.open_base_page()
    main_page.login(user_email, user_password)

    user_page = UserPage(browser)
    user_page.button_edit_account_click()

    account_page = AccountPage(browser)
    account_page.change_firstname_field(new_first_name)
    account_page.change_lastname_field(new_last_name)
    account_page.save_change()

    check_change_user(new_first_name, new_last_name)
Ejemplo n.º 19
0
 def test_guest_can_delete_account(self, browser):
     # Arrange
     page = LoginPage(browser, LOGIN_URL)
     page.open()
     page.register_new_user()
     page.go_to_account_page()
     # Act
     profile_page = AccountPage(browser, browser.current_url)
     profile_page.delete_user_account()
     # Assert
     profile_page.check_is_user_logged_out()
Ejemplo n.º 20
0
def account_page(driver):
    account_page = AccountPage(driver)

    def _login():
        login_page = LoginPage(driver)
        with allure.step('Login step'):
            LOGGER.info(f'Login step with {USERNAME} and {PASSWORD}')
        login_page.login(USERNAME, PASSWORD)

    _login()

    yield account_page

    def _logout():
        logout_page = BasePage(driver)
        with allure.step('Logout step'):
            LOGGER.info('Logout')
        logout_page.wait_for_element_and_click(*LoginPageLocators.LOGOUT_BTN)

    _logout()
Ejemplo n.º 21
0
 def object_setup(self):
     self.lp = LoginPage(self.driver)
     self.pip = PersonalInformationPage(self.driver)
     self.ap = AccountPage(self.driver)
     self.fpp = ForgottenPasswordPage(self.driver)
     self.ast = AssertStatus()
Ejemplo n.º 22
0
class TestLogin():
    @pytest.fixture(autouse=True)
    def object_setup(self):
        self.lp = LoginPage(self.driver)
        self.pip = PersonalInformationPage(self.driver)
        self.ap = AccountPage(self.driver)
        self.fpp = ForgottenPasswordPage(self.driver)
        self.ast = AssertStatus()

    @pytest.mark.parametrize(
        "email, password, email_error_message, password_error_message",
        get_csv_data("login_test_data.csv"))
    def test_invalid_login(self, email, password, email_error_message,
                           password_error_message):
        result_1 = self.lp.navigate_to_login_page()
        self.ast.collect_result(result_1, "Login Page Title Verification")

        self.lp.login(email, password)
        result_2 = self.lp.verify_invalid_login_error_message(
            email_error_message, password_error_message)
        self.ast.determine_result(result_2, "Failed Login Verification",
                                  "test_invalid_login")

    def test_valid_login(self):
        result_1 = self.lp.navigate_to_login_page()
        self.ast.collect_result(result_1, "Login Page Title Verification")

        self.lp.login("*****@*****.**", "123456")
        result_2 = self.lp.verify_valid_login()
        self.ast.determine_result(result_2, "Login Verification",
                                  "test_valid_login")

    @pytest.mark.parametrize(
        "email, error_message",
        get_csv_data("retrieve_password_email_test_data.csv"))
    def test_invalid_password_retrieval(self, email, error_message):
        self.lp.navigate_to_forgotten_password_page()
        result_1 = self.fpp.verify_forgotten_password_page_title()
        self.ast.collect_result(result_1,
                                "Forgotten Password Page Title Verification")

        self.fpp.retrieve_password(email)
        result_2 = self.fpp.verify_invalid_password_retrieval(error_message)
        self.ast.determine_result(result_2,
                                  "Failed Password Retrieval Verification",
                                  "test_invalid_password_retrieval")

    def test_valid_password_retrieval(self):
        self.lp.navigate_to_forgotten_password_page()
        result_1 = self.fpp.verify_forgotten_password_page_title()
        self.ast.collect_result(result_1,
                                "Forgotten Password Page Title Verification")

        self.fpp.retrieve_password("*****@*****.**")
        result_2 = self.fpp.verify_valid_password_retrieval()
        self.ast.determine_result(result_2, "Password Retrieval Verification",
                                  "test_valid_password_retrieval")

    def test_changed_password_login(self):
        result_1 = self.lp.navigate_to_login_page()
        self.ast.collect_result(result_1, "Login Page Title Verification")

        self.lp.login("*****@*****.**", "123456")
        result_2 = self.lp.verify_valid_login()
        self.ast.collect_result(result_2, "Login Verification")

        self.ap.click_information_link()
        self.pip.change_password("123456", "1234567", "1234567")
        result_3 = self.pip.Verify_valid_password_change()
        self.ast.collect_result(result_3, "Changed Password Verification")

        result_4 = self.lp.navigate_to_login_page()
        self.ast.collect_result(result_4, "Login Page Title Verification")

        self.lp.login("*****@*****.**", "123456")
        result_5 = self.lp.verify_invalid_password_error_message()
        self.ast.collect_result(result_5, "Failed Login Verification")

        self.lp.login("*****@*****.**", "1234567")
        result_6 = self.lp.verify_valid_login()
        self.ast.collect_result(result_6, "Login Verification")

        self.ap.click_information_link()
        self.pip.change_password("1234567", "123456", "123456")
        result_7 = self.pip.Verify_valid_password_change()
        self.ast.determine_result(result_7, "Changed Password Verification",
                                  "test_changed_password_login")
Ejemplo n.º 23
0
 def click_account_page(self):
     self.click(self._aleno_logo, "Aleno logo wasn't found")
     return AccountPage(self.get_driver())
Ejemplo n.º 24
0
 def open_account_page(self):
     self.get(self._base_url)
     return AccountPage(self.get_driver())
Ejemplo n.º 25
0
 def sign_in_valid(self):
     self.driver_extensions.click_visible(self.SIGN_IN_BTN)
     return AccountPage(self.driver)
Ejemplo n.º 26
0
 def test_verify_menu_links(self, browser):
     page = MainPage(browser)
     page.open()
     page.user_in_system()
     page.go_to_account_page()
     account_page = AccountPage(browser)
     account_page.verify_menu_profile_link()
     account_page.verify_menu_order_history()
     account_page.verify_menu_address_book()
     account_page.verify_menu_address_book()
     account_page.verify_menu_email_history()
     account_page.verify_menu_product_alerts()
     account_page.verify_menu_notifications()
     account_page.verify_menu_wish_lists()
 def save_restaurant(self):
     self.click(self._save_restaurant_button, "Save restaurant button wasn't found on the register restaurant page")
     return AccountPage(self.get_driver())
Ejemplo n.º 28
0
 def test_clear_settings(self):
     ap = AccountPage(driver)
     ap.open_account_settings()
     ap.clear_settings()
     ap.yes_on_popup()
Ejemplo n.º 29
0
 def test_change_passwords(self, browser):
     page = MainPage(browser)
     page.open()
     page.user_in_system()
     page.go_to_account_page()
     account_page = AccountPage(browser)
     account_page.press_change_pass_button()
     change_password_page = ChangePasswordPage(browser)
     change_password_page.change_password_for_new()
     account_page = AccountPage(browser)
     account_page.alert_of_change_password()
     account_page.browser.execute_script("window.scrollBy(0, 100);")
     account_page.press_change_pass_button()
     change_password_page = ChangePasswordPage(browser)
     change_password_page.change_password_for_old()
     account_page = AccountPage(browser)
     account_page.alert_of_change_password()