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.25.2.12 -r1.25.2.13 --- TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java 16 Dec 2016 18:03:39 -0000 1.25.2.12 +++ TestHarness4LAMS2/src/org/lamsfoundation/testharness/learner/MockLearner.java 31 Mar 2017 03:18:38 -0000 1.25.2.13 @@ -898,19 +898,13 @@ String asText = resp.getText(); // check if current user is the leader boolean hasEditRights = asText.contains(MockLearner.ASSESSMENT_HAS_EDIT_RIGHT_SUBSTRING); - String finishURL = null; - Matcher m = MockLearner.ASSESSMENT_FINISH_PATTERN.matcher(asText); - if (m.find()) { - finishURL = m.group(1); - } else { - MockLearner.log.debug(asText); - throw new TestHarnessException("Finish URL was not found in Assessment Tool"); - } - + Matcher m; + boolean canFinish = asText.contains(MockLearner.ASSESSMENT_FINISH_BUTTON_SUBSTRING); if (hasEditRights) { // this is a Leader or it is a non-Leader Assessmnt while (!canFinish) { + MockLearner.log.debug("action was " + form.getAttribute("action")); WebResponse nextResp = (WebResponse) new Call(wc, test, username + " submits Assessment form", fillFormArbitrarily(form)).execute(); asText = nextResp.getText(); @@ -948,6 +942,17 @@ } } + String finishURL = null; + m = MockLearner.ASSESSMENT_FINISH_PATTERN.matcher(asText); + if (m.find()) { + MockLearner.log.debug(m.group()); + MockLearner.log.debug(m.group(1)); + finishURL = m.group(1); + } else { + MockLearner.log.debug(asText); + throw new TestHarnessException("Finish URL "+MockLearner.ASSESSMENT_FINISH_PATTERN+" was not found in Assessment Tool"); + } + return (WebResponse) new Call(wc, test, username + " finishes Assessment", finishURL).execute(); }