void GUITestService::runAllGUITests() { GUITests initTests = preChecks(); GUITests postChecksTests = postChecks(); GUITests postActiosTests = postActions(); GUITests tests = AppContext::getGUITestBase()->takeTests(); SAFE_POINT(false == tests.isEmpty(),"",); foreach(HI::GUITest* t, tests) { SAFE_POINT(NULL != t,"",); if (!t) { continue; } QString testName = t->getFullName(); QString testNameForTeamCity = t->getSuite() +"_"+ t->getName(); if (t->isIgnored()) { GUITestTeamcityLogger::testIgnored(testNameForTeamCity, t->getIgnoreMessage()); continue; } qint64 startTime = GTimer::currentTimeMicros(); GUITestTeamcityLogger::testStarted(testNameForTeamCity); HI::GUITestOpStatus os; log.trace("GTRUNNER - runAllGUITests - going to run initial checks before " + testName); foreach(HI::GUITest* t, initTests) { if (t) { t->run(os); } } clearSandbox(); log.trace("GTRUNNER - runAllGUITests - going to run test " + testName); t->run(os); log.trace("GTRUNNER - runAllGUITests - finished running test " + testName); foreach(HI::GUITest* t, postChecksTests) { if (t) { t->run(os); } } HI::GUITestOpStatus os2; foreach(HI::GUITest* t, postActiosTests) { if (t) { t->run(os2); } } QString testResult = os.hasError() ? os.getError() : GUITestTeamcityLogger::successResult; qint64 finishTime = GTimer::currentTimeMicros(); GUITestTeamcityLogger::teamCityLogResult(testNameForTeamCity, testResult, GTimer::millisBetween(startTime, finishTime)); }
GUITests GUITestService::postActions() { UGUITestBase* tb = AppContext::getGUITestBase(); SAFE_POINT(NULL != tb,"",GUITests()); GUITests additionalChecks = tb->takeTests(UGUITestBase::PostAdditionalActions); SAFE_POINT(additionalChecks.size()>0,"",GUITests()); return additionalChecks; }
GUITests UGUITestBase::getTests(TestType testType, QString label) { GUITests testList = getMap(testType).values(); int size = testList.size(); foreach (GUITest* t, testList) { if(t->getLabel() != label){ testList.takeAt(testList.indexOf(t)); } } size = testList.size(); return testList; }