def test_visitor_can_watch_page(self, mozwebqa): home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() log_in_or_create_account_pg = LogInOrCreateAccountPage(mozwebqa) log_in_or_create_account_pg.log_in() Assert.true(home_pg.personal_tools_region.is_log_out_visible) # Make sure page is not currently watched if home_pg.header_region.is_unwatch_visible: home_pg.header_region.click_unwatch() home_pg.go_to_home_page() Assert.true(home_pg.header_region.is_watch_visible) watch_pg = home_pg.header_region.click_watch() Assert.true(watch_pg.is_the_current_page) Assert.contains( 'The page "Main Page" has been added to your watchlist.', watch_pg.watchlist_message) watch_pg.click_return_to_page() Assert.true(home_pg.header_region.is_unwatch_visible) unwatch_pg = home_pg.header_region.click_unwatch() Assert.equal( 'The page "Main Page" has been removed from your watchlist.', unwatch_pg.watchlist_message) unwatch_pg.click_return_to_page() Assert.true(home_pg.header_region.is_watch_visible)
def test_user_can_edit_page(self, mozwebqa): _edit_text_entered = 'MozWebQA Edit page wiki-test - ' + str( time.time()) home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() log_in_or_create_account_pg = LogInOrCreateAccountPage(mozwebqa) log_in_or_create_account_pg.log_in() Assert.true(home_pg.is_the_current_page) Assert.true(home_pg.personal_tools_region.is_user_page_visible) home_pg.personal_tools_region.click_user_page() if home_pg.header_region.is_edit_visible: edit_pg = home_pg.header_region.click_edit() Assert.true(edit_pg.is_edit_page_textarea_present) edit_pg.enter_edit_textarea_text(_edit_text_entered) Assert.true(edit_pg.is_edit_page_save_button_present) edit_pg.click_save_button() Assert.true(edit_pg.is_user_entered_text_saved_and_present) Assert.equal(edit_pg.get_user_entered_text, _edit_text_entered) else: Assert.fail("Error - you don't have privileges to edit this page.")
def test_logged_in_user_can_view_history(self, mozwebqa): home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() log_in_or_create_account_pg = LogInOrCreateAccountPage(mozwebqa) log_in_or_create_account_pg.log_in() history_pg = home_pg.header_region.click_history() Assert.true(history_pg.is_the_current_page) Assert.greater(len(history_pg.history_list.strip()), 0)
def test_valid_user_can_log_in(self, mozwebqa): home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() log_in_or_create_account_pg = LogInOrCreateAccountPage(mozwebqa) log_in_or_create_account_pg.log_in() Assert.true(home_pg.is_the_current_page) Assert.false( home_pg.personal_tools_region.is_log_in_or_create_account_visible) Assert.true(home_pg.personal_tools_region.is_log_out_visible)
def test_email_required_error(self, mozwebqa): mock_user = MockUser() home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() create_account_pg = LogInOrCreateAccountPage(mozwebqa) create_account_pg.click_create_account_link() create_account_pg.create_user(mock_user['username'], mock_user['password'], mock_user['password'], '', mock_user['realname']) Assert.true(create_account_pg.is_error_message_present) Assert.true( create_account_pg.get_error_message_text.index('No email address'))
def test_logged_in_user_can_view_source(self, mozwebqa): home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() log_in_or_create_account_pg = LogInOrCreateAccountPage(mozwebqa) log_in_or_create_account_pg.log_in() Assert.false( home_pg.personal_tools_region.is_log_in_or_create_account_visible) Assert.true(home_pg.personal_tools_region.is_log_out_visible) view_source_pg = home_pg.header_region.click_view_source() Assert.true(view_source_pg.is_the_current_page) Assert.greater(len(view_source_pg.source_textarea.strip()), 0)
def test_passwords_mismatch_error(self, mozwebqa): mock_user = MockUser() home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() create_account_pg = LogInOrCreateAccountPage(mozwebqa) create_account_pg.click_create_account_link() create_account_pg.create_user(mock_user['username'], mock_user['password'], 'blah', mock_user['email'], mock_user['realname']) Assert.true(create_account_pg.is_error_message_present) Assert.true( create_account_pg.get_error_message_text.index( 'The passwords you entered do not match.'))
def test_valid_user_can_log_in(self, mozwebqa): home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() log_in_or_create_account_pg = LogInOrCreateAccountPage(mozwebqa) log_in_or_create_account_pg.log_in() Assert.true(home_pg.is_the_current_page) Assert.false( home_pg.personal_tools_region.is_log_in_or_create_account_visible) Assert.true(home_pg.personal_tools_region.is_user_page_visible) Assert.true(home_pg.personal_tools_region.is_my_talk_visible) Assert.true(home_pg.personal_tools_region.is_my_prefs_visible) Assert.true(home_pg.personal_tools_region.is_my_watchlist_visible) Assert.true(home_pg.personal_tools_region.is_semantic_wl_visible) Assert.true(home_pg.personal_tools_region.is_my_contribs_visible) Assert.true(home_pg.personal_tools_region.is_log_out_visible)
def test_create_valid_new_user(self, mozwebqa): mock_user = MockUser() home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() create_account_pg = LogInOrCreateAccountPage(mozwebqa) create_account_pg.click_create_account_link() create_account_pg.create_user(mock_user['username'], mock_user['password'], mock_user['password'], mock_user['email'], mock_user['realname']) Assert.equal(create_account_pg.get_user_created_message, 'Login successful') Assert.equal(create_account_pg.get_user_welcome_message, 'Welcome, ' + mock_user['username'] + '!')
def test_user_already_exists_error(self, mozwebqa): mock_user = MockUser() home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() create_account_pg = LogInOrCreateAccountPage(mozwebqa) create_account_pg.click_create_account_link() create_account_pg.create_user('gbh', mock_user['password'], mock_user['password'], mock_user['email'], mock_user['realname']) Assert.true(create_account_pg.is_error_message_present) Assert.true( create_account_pg.get_error_message_text.index( 'Username entered already in use. Please choose a different name.' ))
def test_valid_email_required_error(self, mozwebqa): mock_user = MockUser() home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() create_account_pg = LogInOrCreateAccountPage(mozwebqa) create_account_pg.click_create_account_link() create_account_pg.create_user(mock_user['username'], mock_user['password'], mock_user['password'], 'notValidEmail', mock_user['realname']) Assert.true(create_account_pg.is_error_message_present) Assert.true( create_account_pg.get_error_message_text.index( 'The email address cannot be accepted as ' 'it appears to have an invalid format. Please ' 'enter a well-formatted address or empty that field.'))
def test_verify_file_upload_page(self, mozwebqa): home_pg = HomePage(mozwebqa) home_pg.go_to_home_page() home_pg.personal_tools_region.click_log_in_or_create_account() log_in_or_create_account_pg = LogInOrCreateAccountPage(mozwebqa) log_in_or_create_account_pg.log_in() Assert.true(home_pg.personal_tools_region.is_log_out_visible) getToUploadFile_pg = ToolBoxRegion(mozwebqa) getToUploadFile_pg.click_upload_file_link() uploadFile_pg = UploadFilePage(mozwebqa) Assert.true(uploadFile_pg.is_the_current_page) Assert.true(uploadFile_pg.is_upload_form_present) Assert.true(uploadFile_pg.is_upload_description_text_present) Assert.true(uploadFile_pg.is_source_file_area_present) Assert.true(uploadFile_pg.is_file_description_area_present) Assert.true(uploadFile_pg.is_file_upload_options_area_present) Assert.true(uploadFile_pg.is_upload_file_button_present)