From 98510ba06f92544d65051fcc530b7ccdb7cf60ed Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 23 Nov 2015 15:55:04 +0100 Subject: [PATCH] OO-1635: try to harden selenium tests against info blue box --- src/test/java/org/olat/selenium/CourseTest.java | 2 -- .../page/course/CourseEditorPageFragment.java | 2 +- .../course/EfficiencyStatementConfigurationPage.java | 1 + .../org/olat/selenium/page/course/MembersPage.java | 1 + .../org/olat/selenium/page/course/MyCoursesPage.java | 11 ++--------- .../selenium/page/course/PublisherPageFragment.java | 2 +- .../org/olat/selenium/page/graphene/OOGraphene.java | 9 +++++---- .../page/repository/RepositoryAccessPage.java | 1 + .../repository/RepositoryEditDescriptionPage.java | 1 + 9 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/test/java/org/olat/selenium/CourseTest.java b/src/test/java/org/olat/selenium/CourseTest.java index ef7f32ba6a5..f938f292d52 100644 --- a/src/test/java/org/olat/selenium/CourseTest.java +++ b/src/test/java/org/olat/selenium/CourseTest.java @@ -712,8 +712,6 @@ public class CourseTest { .next() // -> no problem found .finish(); - OOGraphene.closeBlueMessageWindow(browser); - //User logs in, go to "My courses", navigate the catalog and start //the course LoginPage userLogin = LoginPage.getLoginPage(userBrowser, deploymentUrl); 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 4f96250cc15..83d209b60b1 100644 --- a/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java +++ b/src/test/java/org/olat/selenium/page/course/CourseEditorPageFragment.java @@ -497,7 +497,7 @@ public class CourseEditorPageFragment { By autoPublishBy = By.cssSelector("div.modal a.o_sel_course_quickpublish_auto"); browser.findElement(autoPublishBy).click(); OOGraphene.waitBusy(browser); - + OOGraphene.waitAndCloseBlueMessageWindow(browser); return new CoursePageFragment(browser); } diff --git a/src/test/java/org/olat/selenium/page/course/EfficiencyStatementConfigurationPage.java b/src/test/java/org/olat/selenium/page/course/EfficiencyStatementConfigurationPage.java index ee3c3012572..183a6ec5e45 100644 --- a/src/test/java/org/olat/selenium/page/course/EfficiencyStatementConfigurationPage.java +++ b/src/test/java/org/olat/selenium/page/course/EfficiencyStatementConfigurationPage.java @@ -75,6 +75,7 @@ public class EfficiencyStatementConfigurationPage { * @return */ public CoursePageFragment clickToolbarBack() { + OOGraphene.closeBlueMessageWindow(browser); By toolbarBackBy = By.cssSelector("li.o_breadcrumb_back>a"); browser.findElement(toolbarBackBy).click(); OOGraphene.waitBusy(browser); diff --git a/src/test/java/org/olat/selenium/page/course/MembersPage.java b/src/test/java/org/olat/selenium/page/course/MembersPage.java index e33dc2bcefe..f20069a7c00 100644 --- a/src/test/java/org/olat/selenium/page/course/MembersPage.java +++ b/src/test/java/org/olat/selenium/page/course/MembersPage.java @@ -154,6 +154,7 @@ public class MembersPage { * @return */ public CoursePageFragment clickToolbarBack() { + OOGraphene.closeBlueMessageWindow(browser); By toolbarBackBy = By.cssSelector("li.o_breadcrumb_back>a"); browser.findElement(toolbarBackBy).click(); OOGraphene.waitBusy(browser); diff --git a/src/test/java/org/olat/selenium/page/course/MyCoursesPage.java b/src/test/java/org/olat/selenium/page/course/MyCoursesPage.java index 14d7b68e744..9d2a180d645 100644 --- a/src/test/java/org/olat/selenium/page/course/MyCoursesPage.java +++ b/src/test/java/org/olat/selenium/page/course/MyCoursesPage.java @@ -123,17 +123,10 @@ public class MyCoursesPage { } public MyCoursesPage selectCatalogEntry(String title) { - By titleBy = By.cssSelector(".o_sublevel .o_meta h4.o_title a"); + By titleBy = By.xpath("//div[contains(@class,'o_sublevel')]//div[contains(@class,'o_meta')]//h4[contains(@class,'o_title')]//a[span[text()[contains(.,'" + title + "')]]]"); List<WebElement> titleLinks = browser.findElements(titleBy); Assert.assertFalse(titleLinks.isEmpty()); - WebElement selectCategory = null; - for(WebElement titleLink:titleLinks) { - if(titleLink.getText().contains(title)) { - selectCategory = titleLink; - } - } - Assert.assertNotNull(selectCategory); - selectCategory.click(); + titleLinks.get(0).click(); OOGraphene.waitBusy(browser); return this; } diff --git a/src/test/java/org/olat/selenium/page/course/PublisherPageFragment.java b/src/test/java/org/olat/selenium/page/course/PublisherPageFragment.java index 7381a3ce3bf..45750dd021b 100644 --- a/src/test/java/org/olat/selenium/page/course/PublisherPageFragment.java +++ b/src/test/java/org/olat/selenium/page/course/PublisherPageFragment.java @@ -88,7 +88,7 @@ public class PublisherPageFragment { 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/graphene/OOGraphene.java b/src/test/java/org/olat/selenium/page/graphene/OOGraphene.java index ea13a8d1b19..a8b503a5a00 100644 --- a/src/test/java/org/olat/selenium/page/graphene/OOGraphene.java +++ b/src/test/java/org/olat/selenium/page/graphene/OOGraphene.java @@ -46,6 +46,8 @@ public class OOGraphene { private static final long poolingDuration = 25; + private static final By closeBlueBoxButtonBy = By.cssSelector("div.o_alert_info div.o_sel_info_message i.o_icon.o_icon_close"); + public static void waitBusy(WebDriver browser) { Graphene.waitModel(browser).pollingEvery(poolingDuration, TimeUnit.MILLISECONDS).until(new BusyPredicate()); } @@ -174,16 +176,15 @@ public class OOGraphene { public static final void waitAndCloseBlueMessageWindow(WebDriver browser) { try { - Thread.sleep(350); - } catch (InterruptedException e) { + OOGraphene.waitElement(closeBlueBoxButtonBy, 1, browser); + } catch (Exception e) { e.printStackTrace(); } closeBlueMessageWindow(browser); } public static final void closeBlueMessageWindow(WebDriver browser) { - By closeButtonBy = By.cssSelector("div.o_alert_info div.o_sel_info_message i.o_icon.o_icon_close"); - List<WebElement> closeButtons = browser.findElements(closeButtonBy); + List<WebElement> closeButtons = browser.findElements(closeBlueBoxButtonBy); for(WebElement closeButton:closeButtons) { if(closeButton.isDisplayed()) { try { diff --git a/src/test/java/org/olat/selenium/page/repository/RepositoryAccessPage.java b/src/test/java/org/olat/selenium/page/repository/RepositoryAccessPage.java index cc45565dea2..f76fbe7610e 100644 --- a/src/test/java/org/olat/selenium/page/repository/RepositoryAccessPage.java +++ b/src/test/java/org/olat/selenium/page/repository/RepositoryAccessPage.java @@ -88,6 +88,7 @@ public class RepositoryAccessPage { * Click toolbar */ public void clickToolbarBack() { + OOGraphene.closeBlueMessageWindow(browser); By toolbarBackBy = By.cssSelector("li.o_breadcrumb_back>a"); browser.findElement(toolbarBackBy).click(); OOGraphene.waitBusy(browser); diff --git a/src/test/java/org/olat/selenium/page/repository/RepositoryEditDescriptionPage.java b/src/test/java/org/olat/selenium/page/repository/RepositoryEditDescriptionPage.java index 1ec9be60c0c..ad78d2c9d9c 100644 --- a/src/test/java/org/olat/selenium/page/repository/RepositoryEditDescriptionPage.java +++ b/src/test/java/org/olat/selenium/page/repository/RepositoryEditDescriptionPage.java @@ -86,6 +86,7 @@ public class RepositoryEditDescriptionPage { } public void clickToolbarBack() { + OOGraphene.closeBlueMessageWindow(browser); browser.findElement(NavigationPage.toolbarBackBy).click(); OOGraphene.waitBusy(browser); -- GitLab