通过命令行运行时,groovy中的getProjectByName(projectname)抛出空指针异常

时间:2018-12-13 10:32:41

标签: groovy command-line soapui test-runner

我试图自动化一些测试用例,并且在我的groovy脚本中,我在getProjectByName(projectname)上得到了空指针异常。 当我在SOAP UI中运行它时,它正在工作,但是在命令行中运行时,它给出了空指针异常。

我已经搜索了很多,但是找不到有效的方法。 任何帮助将不胜感激。

这是我的代码在groovy脚本中:

groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
projectname = testRunner.testCase.testSuite.project.name
workspace = testRunner.testCase.testSuite.project.workspace
project = (workspace==null) ? ProjectFactoryRegistry.getProjectFactory(WsdlProjectFactory.WSDL_TYPE).createNew(groovyUtils.projectPath +"\\"+projectname+".xml") : workspace.getProjectByName(projectname)
wsdlProject = workspace.getProjectByName(projectname)

我在以下方面遇到异常

wsdlProject = workspace.getProjectByName(projectname)

稍后,我想运行同一项目的testSuite,并且希望从命令行运行项目。

我正在使用运行的testSuite:

wsdlTestSuite = wsdlProject.getTestSuiteByName(TestSuite Name)
runner = wsdlTestSuite.run(new com.eviware.soapui.support.types.StringToObjectMap(), false)

1 个答案:

答案 0 :(得分:0)

您需要检索项目。但是您已经在使用...

testRunner.testCase.testSuite.project.workspace

...获取工作空间,项目是该工作空间的一部分。通过项目变量本身来获取它。

您不能只将最后一行更改为

wsdlProject = testRunner.testCase.testSuite.project