Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java =================================================================== RCS file: /usr/local/cvsroot/TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java,v diff -u -r1.13 -r1.14 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java 12 Dec 2013 13:34:57 -0000 1.13 +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java 12 Dec 2013 18:36:48 -0000 1.14 @@ -97,6 +97,7 @@ private static final String SCRATCHIE_FINISH_SUBSTRING = "/lams/tool/lascrt11/learning/finish.do"; private static final String SCRATCHIE_RESULTS_SUBSTRING = "/lams/tool/lascrt11/learning/showResults.do"; private static final Pattern SCRATCHIE_SCRATCH_PATTERN = Pattern.compile("scratchItem\\((\\d+), (\\d+)\\)"); + private static final String SCRATCHIE_FINISH_AVAILABLE = "return finish()"; private static final String KNOCK_GATE_SUBSTRING = "/lams/learning/gate.do?method=knockGate"; @@ -405,6 +406,14 @@ } } + while (refreshQuestionsURL != null && !asText.contains(MockLearner.SCRATCHIE_FINISH_AVAILABLE)) { + MockLearner.log.debug("Waiting for leader to finish scratchie"); + delay(); + String url = resp.getURL().toString() + "&reqId=" + System.currentTimeMillis(); + WebResponse questionRefreshResp = (WebResponse) new Call(wc, test, "Scratchie refresh", refreshQuestionsURL).execute(); + asText = questionRefreshResp.getText(); + } + String resultsURL = findURLInLocationHref(resp, MockLearner.SCRATCHIE_RESULTS_SUBSTRING); if (resultsURL != null) { MockLearner.log.debug("Showing results of scratchie using url " + resultsURL);