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.false(home_pg.personal_tools_region.is_log_in_or_create_account_visible) Assert.true(home_pg.personal_tools_region.is_log_out_visible) if home_pg.header_region.is_watch_visible: watch_pg = home_pg.header_region.click_watch() Assert.true(watch_pg.is_the_current_page) Assert.equal(watch_pg.page_title, "Added to watchlist") 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(watch_pg.page_title, "Removed from watchlist") unwatch_pg.click_return_to_page() Assert.true(home_pg.header_region.is_watch_visible) else: unwatch_pg = home_pg.header_region.click_unwatch() Assert.equal(watch_pg.page_title, "Removed from watchlist") unwatch_pg.click_return_to_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.equal(watch_pg.page_title, "Added to watchlist") watch_pg.click_return_to_page() Assert.true(home_pg.header_region.is_unwatch_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_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) # Refs bug: 1058819 home_pg.header_region.unfurl_header_dropdown() # 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() # Refs bug: 1058819 home_pg.header_region.unfurl_header_dropdown() 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. Future changes to this page and its associated talk page will be listed there.', watch_pg.watchlist_message) watch_pg.click_return_to_page() # Refs bug: 1058819 home_pg.header_region.unfurl_header_dropdown() 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() # Refs bug: 1058819 home_pg.header_region.unfurl_header_dropdown() Assert.true(home_pg.header_region.is_watch_visible)
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_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, "Log in is still visible") Assert.true(home_pg.personal_tools_region.is_user_page_visible, "User page is not visible") Assert.true(home_pg.personal_tools_region.is_my_talk_visible, "Talk is not visible") Assert.true(home_pg.personal_tools_region.is_my_prefs_visible, "Preferences are not visible") Assert.true(home_pg.personal_tools_region.is_my_watchlist_visible, "Watchlist is not visible") Assert.true(home_pg.personal_tools_region.is_semantic_wl_visible, "Semantic wl is not visible") Assert.true(home_pg.personal_tools_region.is_my_contribs_visible, "My contributions are not visible") Assert.true(home_pg.personal_tools_region.is_log_out_visible, "Log out is not 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_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_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_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_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_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_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_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_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_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_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_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_search_user_contributions_results_returned(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) home_pg.personal_tools_region.click_my_contribs() user_contrib_pg = ViewUserContributionsPage(mozwebqa) user_contrib_pg.type_ip_or_username() user_contrib_pg.click_search_button() Assert.true(user_contrib_pg.is_contrib_results_present, "User contribution results are not present.")
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_user_contributions_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) home_pg.personal_tools_region.click_my_contribs() user_contrib_pg = ViewUserContributionsPage(mozwebqa) Assert.true(user_contrib_pg.is_page_title_visible, "Page Title is missing from the page.") Assert.equal(user_contrib_pg.page_title, "User contributions", "Page Title is incorrect.") Assert.true(user_contrib_pg.is_breadcrumbs_visible, "Breadcrumbs are missing from the page.") Assert.true(user_contrib_pg.is_contrib_form_visible, "Search for contributions form is missing from the page.") Assert.true(user_contrib_pg.is_contrib_newbie_option_visible, "Options to only show contributions from new accounts is not present.") Assert.true(user_contrib_pg.is_contrib_user_option_visible, "Options to show contributions from any user or IP is not present.")
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)
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_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_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_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.'))