diff --git a/automation-tests/123done/pages/home.py b/automation-tests/123done/pages/home.py index 59ff30b71c590f90aec84a39575832840f3a1d51..3467752035733244fb58c43ae14765aade8b48ab 100644 --- a/automation-tests/123done/pages/home.py +++ b/automation-tests/123done/pages/home.py @@ -61,6 +61,10 @@ class HomePage(Page): @property def logged_in_user_email(self): + WebDriverWait(self.selenium, self.timeout).until( + lambda s: self.is_element_visible(*self._logged_in_user_email_locator)and not \ + self.is_element_visible(*self._loading_spinner_locator), + "Timeout waiting for user's email to appear.") return self.selenium.find_element(*self._logged_in_user_email_locator).text def wait_for_user_login(self): diff --git a/automation-tests/123done/tests/test_change_password.py b/automation-tests/123done/tests/test_change_password.py index 344b67cabb599960a847b30dbd198a55cd777cae..2c6f01525ea2b774544be949dbea50cd3f998f3b 100644 --- a/automation-tests/123done/tests/test_change_password.py +++ b/automation-tests/123done/tests/test_change_password.py @@ -28,7 +28,7 @@ class TestChangePassword: # Load the BrowserID link from the email in the browser from browserid.pages.complete_registration import CompleteRegistration - CompleteRegistration(mozwebqa.selenium, email.verify_user_link) + CompleteRegistration(mozwebqa.selenium, mozwebqa.timeout, email.verify_user_link) mozwebqa.selenium.get(mozwebqa.server_base_url) from browserid.pages.account_manager import AccountManager diff --git a/automation-tests/123done/tests/test_new_user.py b/automation-tests/123done/tests/test_new_user.py index 832305c51fac89de8c480e927cafe240f48d29d3..96abd3b5552f7a813923bd4e59a26d1e98fd2c48 100644 --- a/automation-tests/123done/tests/test_new_user.py +++ b/automation-tests/123done/tests/test_new_user.py @@ -28,7 +28,6 @@ class TestNewAccount: # Load the BrowserID link from the email in the browser from browserid.pages.complete_registration import CompleteRegistration - complete_registration = CompleteRegistration(mozwebqa.selenium, email.verify_user_link) + complete_registration = CompleteRegistration(mozwebqa.selenium, mozwebqa.timeout, email.verify_user_link) - home_pg.go_to_home_page() Assert.equal(home_pg.logged_in_user_email, user['email']) diff --git a/automation-tests/browserid/pages/complete_registration.py b/automation-tests/browserid/pages/complete_registration.py index a08bec8299b543c8f2ed78792f00bfa3b938c7d4..acd9723b52b7a99525ec4296d587631dd7158b6c 100644 --- a/automation-tests/browserid/pages/complete_registration.py +++ b/automation-tests/browserid/pages/complete_registration.py @@ -18,14 +18,14 @@ class CompleteRegistration(Base): _finish_locator = (By.CSS_SELECTOR, 'div.submit > button') _thank_you_locator = (By.ID, 'congrats') - def __init__(self, mozwebqa, url, expect='redirect'): + def __init__(self, selenium, timeout, url, expect='redirect'): """ class init method :Args: - url - the confirmation url from the email - expect - redirect/success/reset/verify (default redirect) """ - Base.__init__(self, mozwebqa) + Base.__init__(self, selenium, timeout) print "the url" + url self.selenium.get(url) diff --git a/automation-tests/browserid/tests/base.py b/automation-tests/browserid/tests/base.py index 8adf6357ce14e817412fbad8532374c0df8309fa..e7408f625b2861700ebfec10539921714fab95df 100644 --- a/automation-tests/browserid/tests/base.py +++ b/automation-tests/browserid/tests/base.py @@ -40,10 +40,8 @@ class BaseTest(object): verify_url = re.search(BrowserID.VERIFY_URL_REGEX, mail[0]['text']).group(0) - selenium.get(verify_url) from .. pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(selenium, - timeout, - expect='success') - assert 'Thank you' in complete_registration.thank_you + timeout, verify_url, + expect='redirect') return user diff --git a/automation-tests/browserid/tests/check_add_email.py b/automation-tests/browserid/tests/check_add_email.py index 79e1e00f9be379298ef5a7654125f8a9736c8a92..b52bde2ee9126f5fbaf10d86c860eff24d5f6ebe 100644 --- a/automation-tests/browserid/tests/check_add_email.py +++ b/automation-tests/browserid/tests/check_add_email.py @@ -21,12 +21,15 @@ class TestSignIn(BaseTest): user = self.create_verified_user(mozwebqa.selenium, mozwebqa.timeout) user.additional_emails.append('%s_1@restmail.net' % user.id) + # log out mozwebqa.selenium.get('%s/' % mozwebqa.base_url) self.log_out(mozwebqa.selenium, mozwebqa.timeout) - mozwebqa.selenium.find_element_by_css_selector('#loggedout button').click() + # initiate add email + mozwebqa.selenium.find_element_by_css_selector('#loggedout button').click() from .. pages.sign_in import SignIn signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning') + signin.click_add_another_email_address() signin.new_email = user.additional_emails[0] signin.click_add_new_email() @@ -39,17 +42,14 @@ class TestSignIn(BaseTest): confirm_url = re.search(BrowserID.CONFIRM_URL_REGEX, mail[0]['text']).group(0) - mozwebqa.selenium.get(confirm_url) from .. pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(mozwebqa.selenium, - mozwebqa.timeout, - expect='success') - assert 'Your address has been verified' in complete_registration.thank_you + mozwebqa.timeout, confirm_url, expect='redirect') - mozwebqa.selenium.get('%s/' % mozwebqa.base_url) self.log_out(mozwebqa.selenium, mozwebqa.timeout) - mozwebqa.selenium.find_element_by_css_selector('#loggedout button').click() + mozwebqa.selenium.find_element_by_css_selector('#loggedout button').click() signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning') + assert user.additional_emails[0] in signin.emails assert signin.selected_email == user.additional_emails[0] diff --git a/automation-tests/browserid/tests/check_reset_password.py b/automation-tests/browserid/tests/check_reset_password.py index 6dced83572eded7d8ac17a8b7cdd173f22cd9f8e..78fe844a3592054db2c5c719b1d60c892fac5827 100644 --- a/automation-tests/browserid/tests/check_reset_password.py +++ b/automation-tests/browserid/tests/check_reset_password.py @@ -44,10 +44,7 @@ class TestSignIn(BaseTest): reset_url = re.search(BrowserID.RESET_URL_REGEX, mail[1]['text']).group(0) - mozwebqa.selenium.get(reset_url) from .. pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(mozwebqa.selenium, - mozwebqa.timeout, - expect='success') - assert 'Your address has been verified!' in complete_registration.thank_you + mozwebqa.timeout, reset_url, expect='redirect')