#!/usr/bin/env python # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. import pytest from selenium.webdriver.support.ui import WebDriverWait from .. import BrowserID from base import BaseTest @pytest.mark.nondestructive class TestChangePassword(BaseTest): @pytest.mark.travis def test_change_password(self, mozwebqa): user = self.create_verified_user(mozwebqa.selenium, mozwebqa.timeout) mozwebqa.selenium.get(self.browserid_url(mozwebqa.base_url)) from .. pages.account_manager import AccountManager account_manager = AccountManager(mozwebqa.selenium, mozwebqa.timeout) assert user.primary_email in account_manager.emails account_manager.click_edit_password() account_manager.old_password = user.password assert account_manager.old_password == user.password, "old password getter failed" user.password += '_new' account_manager.new_password = user.password assert account_manager.new_password == user.password, "new password getter failed" account_manager.click_password_done() account_manager.click_sign_out() mozwebqa.selenium.get('%s/' % mozwebqa.base_url) login_locator = '#loggedout button' WebDriverWait(mozwebqa.selenium, mozwebqa.timeout).until( lambda s: s.find_element_by_css_selector(login_locator).is_displayed()) mozwebqa.selenium.find_element_by_css_selector(login_locator).click() browser_id = BrowserID(mozwebqa.selenium, mozwebqa.timeout) browser_id.sign_in(user.primary_email, user.password) WebDriverWait(mozwebqa.selenium, mozwebqa.timeout).until( lambda s: s.find_element_by_id('loggedin').is_displayed())