示例#1
0
    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)
示例#2
0
    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.")
示例#3
0
    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)
示例#4
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)
示例#5
0
    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'))
示例#6
0
    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)
示例#7
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)
示例#9
0
    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'] + '!')
示例#10
0
    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.'
            ))
示例#11
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.'))
示例#12
0
    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)