我有一个SoapUI工作区,我有5个项目。其中4个是模拟服务,最后一个是我正在处理的Web服务,其中包含测试运行器。目前,我必须在运行测试套件之前手动启动每个模拟服务。所以我认为我应该自动启动模拟服务,如果它们还没有为了节省一点时间。
我在测试套件的安装脚本中用groovy定义了一个函数来完成这项工作:
def startMockAutomatically(workspace) {
workspace.getProjectList().each {projects ->
projects.each {
project -> project.mockServices.each() {mockService ->
if (!mockService.value.toString().contains('TestSuiteRunner MockService')) {
def mockRunner = mockService.value.start();
if (mockRunner.isRunning()) {
log.info("Mock Service " + mockService.value + " started");
}
}
}
}
}
}
startMockAutomatically(workspace);
现在它完成了这项工作。但是,如果我打开MockService的窗口,它不显示为已启动(绿色箭头可用),如果我尝试启动它,我有一个错误告诉我它已经启动。所以我没有任何关于服务启动的可见反馈。
这对我来说没问题,但是当我与其他开发人员合作时,我希望这很容易并且有一些反馈。我在脚本日志中记录了一些内容,但是GUI级别的内容将不胜感激。
还有一个问题,有没有办法在启动模拟服务之前测试它是否已经运行?我可以得到一个mockRunner实例,并在它启动后调用isRunning()函数,但我想在之前进行检查。