Index: TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java =================================================================== diff -u -rc86f0a63f47e34a986f072b2729f61e91cb86b84 -re39b87861fe915e8193f05c82d588dee12d60d74 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java (.../MockLearner.java) (revision c86f0a63f47e34a986f072b2729f61e91cb86b84) +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java (.../MockLearner.java) (revision e39b87861fe915e8193f05c82d588dee12d60d74) @@ -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);