From 1957a621470776b06f61100245978378b930ffd7 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Tue, 2 Feb 2021 19:36:41 +0100
Subject: [PATCH] no-jira: hardened selenium tests

---
 src/test/java/org/olat/selenium/AssessmentTest.java | 13 ++++++-------
 .../selenium/page/core/MenuTreePageFragment.java    |  2 ++
 .../selenium/page/course/AssessmentModePage.java    |  6 ++++++
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/test/java/org/olat/selenium/AssessmentTest.java b/src/test/java/org/olat/selenium/AssessmentTest.java
index a927df45d81..454f083c8fb 100644
--- a/src/test/java/org/olat/selenium/AssessmentTest.java
+++ b/src/test/java/org/olat/selenium/AssessmentTest.java
@@ -597,9 +597,8 @@ public class AssessmentTest extends Deployments {
 			.stop(assessmentName)
 			.confirmStop();
 		
-		By continueBy = By.className("o_sel_assessment_continue");
-		OOGraphene.waitElementSlowly(continueBy, 20, ryomouBrowser);
-		OOGraphene.waitElementSlowly(continueBy, 20, kanuBrowser);
+		kanuAssessment.waitBackToOpenOlat();
+		ryomouAssessment.waitBackToOpenOlat();
 		kanuAssessment.backToOpenOLAT();
 		ryomouAssessment.backToOpenOLAT();
 		
@@ -1689,7 +1688,7 @@ public class AssessmentTest extends Deployments {
 			.clickToolbarBack();
 		coursePage
 			.clickTree()
-			.selectWithTitle(gtaNodeTitle);
+			.assertWithTitleSelected(gtaNodeTitle);
 		
 		//Participant log in
 		LoginPage ryomouLoginPage = LoginPage.load(ryomouBrowser, deploymentUrl);
@@ -1707,7 +1706,7 @@ public class AssessmentTest extends Deployments {
 		CoursePageFragment ryomouTestCourse = new CoursePageFragment(ryomouBrowser);
 		ryomouTestCourse
 			.clickTree()
-			.selectWithTitle(gtaNodeTitle);
+			.assertWithTitleSelected(gtaNodeTitle);
 		OOGraphene.waitAndCloseBlueMessageWindow(ryomouBrowser);
 		
 		GroupTaskPage ryomouTask = new GroupTaskPage(ryomouBrowser);
@@ -1728,7 +1727,7 @@ public class AssessmentTest extends Deployments {
 		//back to author
 		coursePage
 			.clickTree()
-			.selectWithTitle(gtaNodeTitle);
+			.assertWithTitleSelected(gtaNodeTitle);
 		GroupTaskToCoachPage participantToCoach = new GroupTaskToCoachPage(browser);
 		
 		participantToCoach
@@ -1742,7 +1741,7 @@ public class AssessmentTest extends Deployments {
 		//participant checks she passed the task
 		ryomouTestCourse
 			.clickTree()
-			.selectWithTitle(gtaNodeTitle);
+			.assertWithTitleSelected(gtaNodeTitle);
 		ryomouTask
 			.assertPassed();
 	}
diff --git a/src/test/java/org/olat/selenium/page/core/MenuTreePageFragment.java b/src/test/java/org/olat/selenium/page/core/MenuTreePageFragment.java
index 71f7d03830f..ebe0bd3a665 100644
--- a/src/test/java/org/olat/selenium/page/core/MenuTreePageFragment.java
+++ b/src/test/java/org/olat/selenium/page/core/MenuTreePageFragment.java
@@ -65,6 +65,8 @@ public class MenuTreePageFragment {
 		OOGraphene.waitElement(linkBy, browser);
 		browser.findElement(linkBy).click();
 		OOGraphene.waitBusy(browser);
+		By activeLinkBy = By.xpath("//div[contains(@class,'o_tree')]//li[contains(@class,'active')]/div/span[contains(@class,'o_tree_link')][contains(@class,'active')]/a[span[contains(text(),'" + title + "')]]");
+		OOGraphene.waitElement(activeLinkBy, browser);
 		return this;
 	}
 
diff --git a/src/test/java/org/olat/selenium/page/course/AssessmentModePage.java b/src/test/java/org/olat/selenium/page/course/AssessmentModePage.java
index a75c6c045e7..9ab464212be 100644
--- a/src/test/java/org/olat/selenium/page/course/AssessmentModePage.java
+++ b/src/test/java/org/olat/selenium/page/course/AssessmentModePage.java
@@ -164,6 +164,12 @@ public class AssessmentModePage {
 		return this;
 	}
 	
+	public AssessmentModePage waitBackToOpenOlat() {
+		By continueBy = By.xpath("//div[@class='modal-content']//a[contains(@class,'o_sel_assessment_continue')]");
+		OOGraphene.waitElementSlowly(continueBy, 20, browser);
+		return this;
+	}
+	
 	/**
 	 * After an assessment, go back to OpenOLAT.
 	 */
-- 
GitLab