def open(self, username, password): self.selenium.get(self.canonical_url) from pages.desktop.login_page import LoginPage page = LoginPage(self.base_url, self.selenium).wait_for_page_to_load() page.log_in(username, password) self.wait_for_page_to_load() return self
def test_that_article_can_be_created(self, mozwebqa): """ Creates a new knowledge base article. Verifies creation. Deletes the article """ kb_new_article = KnowledgeBaseNewArticle(mozwebqa) kb_article_history = KnowledgeBaseShowHistory(mozwebqa) kb_edit_article = KnowledgeBaseEditArticle(mozwebqa) login_pg = LoginPage(mozwebqa) # Admin account is used as he can delete the article login_pg.log_in('admin') article_info_dict = self._create_new_generic_article(kb_new_article) kb_new_article.submit_article() kb_new_article.set_article_comment_box() # verify article history Assert.true(kb_article_history.is_the_current_page) # verify article contents kb_article_history.navigation.click_edit_article() actual_summary_text = kb_edit_article.article_summary_text Assert.equal(article_info_dict['summary'], actual_summary_text) actual_contents_text = kb_edit_article.article_contents_text Assert.equal(article_info_dict['content'], actual_contents_text) # delete the same article kb_edit_article.navigation.click_show_history() kb_article_history.delete_entire_article_document()
def _go_to_page_with_login_redirect(self, page_object, user='******'): from pages.desktop.login_page import LoginPage self.selenium.get(self.base_url_ssl + page_object._page_url) login_page = LoginPage(self.testsetup) login_page.log_in(user) page_object.is_the_current_page return page_object
def test_that_article_can_be_deleted(self, mozwebqa): """ Creates a new knowledge base article. Deletes the article. Verifies the deletion. """ kb_new_article = KnowledgeBaseNewArticle(mozwebqa) kb_article = KnowledgeBaseArticle(mozwebqa) kb_article_history = KnowledgeBaseShowHistory(mozwebqa) login_pg = LoginPage(mozwebqa) # Admin account is used as he can delete the article login_pg.log_in('admin') article_info_dict = self._create_new_generic_article(kb_new_article) kb_new_article.submit_article() kb_new_article.set_article_comment_box() # go to article and get URL kb_article_history.navigation.click_article() article_url = kb_article.url_current_page # delete the same article kb_article.navigation.click_show_history() kb_article_history.delete_entire_article_document() kb_article_history.selenium.open(article_url) actual_page_title = kb_article_history.page_title Assert.contains("Page Not Found", actual_page_title)
def _go_to_page_with_login_redirect(self, page_object, username, password): self._set_window_size() from pages.desktop.login_page import LoginPage self.selenium.get(self.base_url + page_object._page_url) login_page = LoginPage(self.testsetup) login_page.log_in(username, password) page_object.is_the_current_page page_object.header.dismiss_staging_site_warning_if_present() return page_object
def _go_to_page_with_login_redirect(self, page_object, user='******'): self.selenium.maximize_window() from pages.desktop.login_page import LoginPage self.selenium.get(self.base_url + page_object._page_url) login_page = LoginPage(self.testsetup) login_page.log_in(user) page_object.is_the_current_page page_object.header.dismiss_staging_site_warning_if_present() return page_object
def test_that_article_can_be_previewed_before_submitting(self, mozwebqa): kb_new_article = KnowledgeBaseNewArticle(mozwebqa) login_pg = LoginPage(mozwebqa) # Admin account is used as he can delete the article login_pg.log_in('admin') article_info_dict = self._create_new_generic_article(kb_new_article) kb_new_article.click_article_preview_button() actual_preview_text = kb_new_article.get_article_preview_text() Assert.equal(article_info_dict['content'], actual_preview_text)
def test_that_article_can_be_edited(self, mozwebqa): """ Creates a new knowledge base article. Verifies creation. Edits the article, verifies the edition. Deletes the article """ kb_new_article = KnowledgeBaseNewArticle(mozwebqa) kb_article_history = KnowledgeBaseShowHistory(mozwebqa) kb_edit_article = KnowledgeBaseEditArticle(mozwebqa) login_pg = LoginPage(mozwebqa) # Admin account is used as he can delete the article login_pg.log_in('admin') article_info_dict = self._create_new_generic_article(kb_new_article) kb_new_article.submit_article() kb_new_article.set_article_comment_box() # verify article history Assert.true(kb_article_history.is_the_current_page) # edit that same article timestamp = datetime.datetime.now() edited_article_summary = "this is an automated summary__%s_edited" % timestamp edited_article_content = "automated content__%s_edited" % timestamp article_info_dict_edited = {'title': article_info_dict['title'],\ 'category': 'How to', 'keyword': 'test',\ 'summary': edited_article_summary, 'content': edited_article_content} kb_article_history.navigation.click_edit_article() kb_edit_article.edit_article(article_info_dict_edited) kb_article_history.navigation.click_edit_article() # verify the contents of the edited article actual_page_title = kb_edit_article.page_title Assert.contains(article_info_dict_edited['title'], actual_page_title) actual_summary_text = kb_edit_article.article_summary_text Assert.equal(edited_article_summary, actual_summary_text) actual_content_text = kb_edit_article.article_contents_text Assert.equal(edited_article_content, actual_content_text) # delete the same article kb_edit_article.navigation.click_show_history() kb_article_history.delete_entire_article_document()
def test_that_article_can_be_translated(self, mozwebqa): """ Creates a new knowledge base article. Translate article """ kb_new_article = KnowledgeBaseNewArticle(mozwebqa) kb_article_history = KnowledgeBaseShowHistory(mozwebqa) kb_edit_article = KnowledgeBaseEditArticle(mozwebqa) kb_translate_pg = KnowledgeBaseTranslate(mozwebqa) login_pg = LoginPage(mozwebqa) timestamp = datetime.datetime.now() # Admin account is used as he can delete the article login_pg.log_in('admin') article_info_dict = self._create_new_generic_article(kb_new_article) kb_new_article.submit_article() kb_new_article.set_article_comment_box() # verify article history Assert.true(kb_article_history.is_the_current_page) kb_article_history.navigation.click_translate_article() kb_translate_pg.click_translate_language('Esperanto (eo)') kb_translate_pg.type_title('artikolo_titolo%s' % timestamp) kb_translate_pg.type_slug('artikolo_limako_%s' % timestamp) kb_translate_pg.click_submit_review() change_comment = 'artikolo sangoj %s' % timestamp kb_translate_pg.type_modal_describe_changes(change_comment) kb_translate_pg.click_modal_submit_changes_button() Assert.equal(change_comment, kb_article_history.most_recent_revision_comment) Assert.equal('Esperanto', kb_article_history.revision_history) kb_article_history.delete_entire_article_document()
def click_login(self): self.selenium.find_element(*self._login_locator).click() from pages.desktop.login_page import LoginPage return LoginPage(self.testsetup)
def sign_out(self): self.header.click_logout() from pages.desktop.login_page import LoginPage return LoginPage(self.testsetup)
def sign_out(self): self.header.click_logout() from pages.desktop.login_page import LoginPage return LoginPage(self.base_url, self.selenium)