From 82cd845b0fa30f933749bef48dd1248cf513f92c Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 23 Nov 2015 19:54:02 +0100
Subject: [PATCH] OO-1635: try to harden selenium tests against info blue box
 and other transition

---
 .../org/olat/selenium/BusinessGroupTest.java   |  3 ---
 .../java/org/olat/selenium/CourseTest.java     |  2 +-
 .../java/org/olat/selenium/PortfolioTest.java  | 18 ------------------
 .../page/course/AssessmentToolPage.java        |  1 +
 .../page/course/BulkAssessmentPage.java        |  2 +-
 .../page/course/CourseEditorPageFragment.java  |  4 +++-
 .../selenium/page/course/CourseWizardPage.java |  2 +-
 .../page/portfolio/ArtefactWizardPage.java     |  4 ++--
 .../selenium/page/portfolio/PortfolioPage.java |  1 +
 .../selenium/page/repository/FeedPage.java     |  4 +++-
 10 files changed, 13 insertions(+), 28 deletions(-)

diff --git a/src/test/java/org/olat/selenium/BusinessGroupTest.java b/src/test/java/org/olat/selenium/BusinessGroupTest.java
index 92add67157d..f1344d294ae 100644
--- a/src/test/java/org/olat/selenium/BusinessGroupTest.java
+++ b/src/test/java/org/olat/selenium/BusinessGroupTest.java
@@ -52,7 +52,6 @@ import org.olat.selenium.page.course.PublisherPageFragment.Access;
 import org.olat.selenium.page.graphene.OOGraphene;
 import org.olat.selenium.page.group.GroupPage;
 import org.olat.selenium.page.group.MembersWizardPage;
-import org.olat.selenium.page.user.UserToolsPage;
 import org.olat.test.ArquillianDeployments;
 import org.olat.test.rest.UserRestClient;
 import org.olat.user.restapi.UserVO;
@@ -79,8 +78,6 @@ public class BusinessGroupTest {
 	@ArquillianResource
 	private URL deploymentUrl;	
 
-	@Page
-	private UserToolsPage userTools;
 	@Page
 	private NavigationPage navBar;
 
diff --git a/src/test/java/org/olat/selenium/CourseTest.java b/src/test/java/org/olat/selenium/CourseTest.java
index f938f292d52..38041c268da 100644
--- a/src/test/java/org/olat/selenium/CourseTest.java
+++ b/src/test/java/org/olat/selenium/CourseTest.java
@@ -643,7 +643,7 @@ public class CourseTest {
 		String post2Title = "Blog-RW-2-" + UUID.randomUUID();
 		String post2Summary = "Some explantations as teaser";
 		String post2Content = "Content of the post";
-		feed.addPost()
+		feed.addBlogPost()
 			.fillPostForm(post2Title, post2Summary, post2Content)
 			.publishPost();
 		
diff --git a/src/test/java/org/olat/selenium/PortfolioTest.java b/src/test/java/org/olat/selenium/PortfolioTest.java
index d765d422492..5e05ac36417 100644
--- a/src/test/java/org/olat/selenium/PortfolioTest.java
+++ b/src/test/java/org/olat/selenium/PortfolioTest.java
@@ -153,8 +153,6 @@ public class PortfolioTest {
 			.next()
 			.selectMap(mapTitle, pageTitle, structureElementTitle)
 			.finish();
-
-		OOGraphene.closeBlueMessageWindow(browser);
 		
 		//open the portfolio
 		portfolio = userTools
@@ -234,8 +232,6 @@ public class PortfolioTest {
 			.next()
 			.selectMap(mapTitle, pageTitle, structureElementTitle)
 			.finish();
-
-		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		
 		//open the portfolio
 		portfolio = userTools
@@ -333,8 +329,6 @@ public class PortfolioTest {
 			.next()
 			.selectMap(mapTitle, pageTitle, structureElementTitle)
 			.finish();
-
-		OOGraphene.closeBlueMessageWindow(browser);	
 		
 		//open the portfolio
 		portfolio = userTools
@@ -403,8 +397,6 @@ public class PortfolioTest {
 			.next()
 			.selectMap(mapTitle, pageTitle, structureElementTitle)
 			.finish();
-
-		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		
 		//open the portfolio
 		portfolio = userTools
@@ -468,8 +460,6 @@ public class PortfolioTest {
 			.next()
 			.selectMap(mapTitle, pageTitle, structureElementTitle)
 			.finish();
-
-		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		
 		//reopen the portfolio
 		portfolio = userTools
@@ -534,8 +524,6 @@ public class PortfolioTest {
 			.next()
 			.selectMap(mapTitle, pageTitle, structureElementTitle)
 			.finish();
-
-		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		
 		//open the portfolio
 		portfolio = userTools
@@ -612,8 +600,6 @@ public class PortfolioTest {
 			.next()
 			.selectMap(mapTitle, pageTitle, structureElementTitle)
 			.finish();
-
-		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		
 		//open the portfolio
 		portfolio = userTools
@@ -699,8 +685,6 @@ public class PortfolioTest {
 			.next()
 			.selectMap(mapTitle, pageTitle, structureElementTitle)
 			.finish();
-
-		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		
 		//open the portfolio
 		portfolio = userTools
@@ -773,8 +757,6 @@ public class PortfolioTest {
 			.next()
 			.selectMap(mapTitle, pageTitle, structureElementTitle)
 			.finish();
-
-		OOGraphene.closeBlueMessageWindow(browser);
 		
 		//open the portfolio
 		portfolio = userTools
diff --git a/src/test/java/org/olat/selenium/page/course/AssessmentToolPage.java b/src/test/java/org/olat/selenium/page/course/AssessmentToolPage.java
index 06f05d68bf8..04c80c9b1c0 100644
--- a/src/test/java/org/olat/selenium/page/course/AssessmentToolPage.java
+++ b/src/test/java/org/olat/selenium/page/course/AssessmentToolPage.java
@@ -151,6 +151,7 @@ public class AssessmentToolPage {
 		By userLinksBy = By.className("o_sel_certificate_generate");
 		browser.findElement(userLinksBy).click();
 		OOGraphene.waitBusy(browser);
+		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		
 		boolean newCertificate = false;
 		for(int i=0; i<50; i++) {
diff --git a/src/test/java/org/olat/selenium/page/course/BulkAssessmentPage.java b/src/test/java/org/olat/selenium/page/course/BulkAssessmentPage.java
index 726fe71d995..35d89457111 100644
--- a/src/test/java/org/olat/selenium/page/course/BulkAssessmentPage.java
+++ b/src/test/java/org/olat/selenium/page/course/BulkAssessmentPage.java
@@ -83,7 +83,7 @@ public class BulkAssessmentPage {
 		Assert.assertTrue(finish.isEnabled());
 		finish.click();
 		OOGraphene.waitBusy(browser);
-		OOGraphene.closeBlueMessageWindow(browser);
+		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		return this;
 	}
 	
diff --git a/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java b/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java
index 83d209b60b1..7676692e3e8 100644
--- a/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java
+++ b/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java
@@ -378,7 +378,9 @@ public class CourseEditorPageFragment {
 		browser.findElement(chooseButton).click();
 		OOGraphene.waitBusy(browser);
 		//popup
-		WebElement popup = browser.findElement(By.className("o_sel_search_referenceable_entries"));
+		By referenceableEntriesBy = By.className("o_sel_search_referenceable_entries");
+		OOGraphene.waitElement(referenceableEntriesBy, 1, browser);
+		WebElement popup = browser.findElement(referenceableEntriesBy);
 		popup.findElement(By.cssSelector("a.o_sel_repo_popup_my_resources")).click();
 		OOGraphene.waitBusy(browser);
 		
diff --git a/src/test/java/org/olat/selenium/page/course/CourseWizardPage.java b/src/test/java/org/olat/selenium/page/course/CourseWizardPage.java
index 7d393fc72f8..e3c35c36ef5 100644
--- a/src/test/java/org/olat/selenium/page/course/CourseWizardPage.java
+++ b/src/test/java/org/olat/selenium/page/course/CourseWizardPage.java
@@ -75,7 +75,7 @@ public class CourseWizardPage {
 		Assert.assertTrue(finish.isEnabled());
 		finish.click();
 		OOGraphene.waitBusy(browser);
-		OOGraphene.closeBlueMessageWindow(browser);
+		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		return this;
 	}
 	
diff --git a/src/test/java/org/olat/selenium/page/portfolio/ArtefactWizardPage.java b/src/test/java/org/olat/selenium/page/portfolio/ArtefactWizardPage.java
index 63760039fa9..2e6b5644c4f 100644
--- a/src/test/java/org/olat/selenium/page/portfolio/ArtefactWizardPage.java
+++ b/src/test/java/org/olat/selenium/page/portfolio/ArtefactWizardPage.java
@@ -67,7 +67,7 @@ public class ArtefactWizardPage {
 	}
 	
 	/**
-	 * Finish the wizard
+	 * Finish the wizard, wait and close the blue info box.
 	 * @return this
 	 */
 	public ArtefactWizardPage finish() {
@@ -76,7 +76,7 @@ public class ArtefactWizardPage {
 		Assert.assertTrue(finish.isEnabled());
 		finish.click();
 		OOGraphene.waitBusy(browser);
-		OOGraphene.closeBlueMessageWindow(browser);
+		OOGraphene.waitAndCloseBlueMessageWindow(browser);
 		return this;
 	}
 	
diff --git a/src/test/java/org/olat/selenium/page/portfolio/PortfolioPage.java b/src/test/java/org/olat/selenium/page/portfolio/PortfolioPage.java
index 9b0e2ab195c..5b3cb26325b 100644
--- a/src/test/java/org/olat/selenium/page/portfolio/PortfolioPage.java
+++ b/src/test/java/org/olat/selenium/page/portfolio/PortfolioPage.java
@@ -163,6 +163,7 @@ public class PortfolioPage {
 		
 		//title
 		By titleBy = By.xpath("//div[contains(@class,'o_sel_add_map_window')]//form//input[@type='text']");
+		OOGraphene.waitElement(titleBy, 1, browser);
 		WebElement titleEl = browser.findElement(titleBy);
 		titleEl.sendKeys(title);
 		
diff --git a/src/test/java/org/olat/selenium/page/repository/FeedPage.java b/src/test/java/org/olat/selenium/page/repository/FeedPage.java
index a0a110c79e9..c45504f3837 100644
--- a/src/test/java/org/olat/selenium/page/repository/FeedPage.java
+++ b/src/test/java/org/olat/selenium/page/repository/FeedPage.java
@@ -121,10 +121,12 @@ public class FeedPage {
 		return this;
 	}
 	
-	public FeedPage addPost() {
+	public FeedPage addBlogPost() {
 		By newItemButton = By.className("o_sel_feed_item_new");
 		browser.findElement(newItemButton).click();
 		OOGraphene.waitBusy(browser);
+		By postForm = By.className("o_sel_blog_form");
+		OOGraphene.waitElement(postForm, 1, browser);
 		return this;
 	}
 	
-- 
GitLab