From cc80b7482576668a1608edc2e0a2b6bc81ec4378 Mon Sep 17 00:00:00 2001 From: Marty30 Date: Sun, 25 Jun 2017 14:03:14 +0200 Subject: [PATCH] Add an extra wait --- .../nl/utwente/bpsd/selenium/FindOwnerIT.java | 1 + .../utwente/bpsd/selenium/SeleniumBaseIT.java | 21 ++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/test/java/nl/utwente/bpsd/selenium/FindOwnerIT.java b/src/test/java/nl/utwente/bpsd/selenium/FindOwnerIT.java index 57da781d9..45050f1ab 100644 --- a/src/test/java/nl/utwente/bpsd/selenium/FindOwnerIT.java +++ b/src/test/java/nl/utwente/bpsd/selenium/FindOwnerIT.java @@ -23,6 +23,7 @@ public class FindOwnerIT extends SeleniumBaseIT { driver.get(BASE_URL+"/owners/find"); fillTextField(By.name("lastName"),"Coleman"); driver.findElement(By.name("lastName")).submit(); + waitFor(new FixedPeriod(1000)); waitForPageToLoad(); Assert.assertTrue("Could not find \"Jean Coleman\" on the current page. This is the html of the current page: "+getHTML(),driver.findElements(By.xpath("//*[text()='Jean Coleman']")).size() == 1); setTestFinished(); diff --git a/src/test/java/nl/utwente/bpsd/selenium/SeleniumBaseIT.java b/src/test/java/nl/utwente/bpsd/selenium/SeleniumBaseIT.java index a69a41e1d..e65d5a692 100644 --- a/src/test/java/nl/utwente/bpsd/selenium/SeleniumBaseIT.java +++ b/src/test/java/nl/utwente/bpsd/selenium/SeleniumBaseIT.java @@ -64,7 +64,7 @@ public class SeleniumBaseIT { waitFor(new PageLoadedExpectedCondition()); } - private void waitFor(ExpectedCondition condition) { + protected void waitFor(ExpectedCondition condition) { new WebDriverWait(driver, 3).until(condition); } @@ -78,4 +78,23 @@ public class SeleniumBaseIT { throw new ClassCastException("This webdriver is not able to execute javascript."); } } + + protected class FixedPeriod implements ExpectedCondition { + private final int time; + + public FixedPeriod(int timeInMilliseconds) { + this.time = timeInMilliseconds; + } + + @Override + public Boolean apply(WebDriver webDriver) { + try { + Thread.sleep(time); + return true; + } catch (InterruptedException e) { + e.printStackTrace(); + return false; + } + } + } }