当前位置: 首页 > 知识库问答 >
问题:

如何在soap ui中为groovy脚本指定工作目录?

邵城
2023-03-14

目前,我在soap UI中运行的所有groovy脚本似乎都使用“..\SoapUI-5.2.1\bin”作为工作目录。在回答这个问题时,我尝试设置项目的资源根属性,但是这对groovy脚本使用的工作目录没有影响。

在SoapUI中创建一个新项目。添加一个测试套件、测试用例和一个groovy脚本测试步骤。在测试脚本中简单地放:

log.info new File("").getAbsolutePath()

单击绿色箭头以运行脚本。对我来说,这将始终返回到SoapUI安装的bin文件夹的路径。

在IntelliJ等工具中,可以在脚本的运行配置中指定工作目录。这允许工具从任何路径开始该过程。除此之外,大多数其他工具将工作目录默认为项目文件夹,而不是像SoapUI那样的工具安装文件夹。

我当前使用的是一个工作目录变量,我将其传递给脚本中的所有相关路径字符串。使用上面的示例,这看起来像:

String workingDir = "C:/somedir/"
log.info new File(workingDir  + "somepath").getAbsolutePath()

虽然这是可行的,但它并不像我用上面提到的其他工具所能做的那样优雅。

共有2个答案

戚哲
2023-03-14

根据此处,您可以使用两种方法更改工作目录:

def processBuilder=new ProcessBuilder("ls")
processBuilder.redirectErrorStream(true)
processBuilder.directory(new File("Your Working dir"))  
def process = processBuilder.start()

"your command".execute(null, new File("your working dir")) 
冯嘉荣
2023-03-14

工作目录与上下文相关。并且它可能会因调用相应进程的方式/目录而异。

例如,SoapUI可以从不同目录的命令行调用。

  • 用户转到%SOAPUI_HOME%\bin目录并运行soapui.bat命令。
  • 用户打开命令提示符,直接运行soapui.bat(需要%SOAPUI_HOME%\bin%PATH%中)

在这两种情况下,工作目录可能不同。

那么,如何在Groovy脚本中找到它呢?

干得好:

def pwd = new File('.').absolutePath
log.info "Current working directory is ${pwd}"

我还想澄清一下SoapUI的项目属性资源根。SoapUI允许有${projectDir}或${workspaceDir}或者用户可以提供其首选路径。

  • ${projectDir}-这只是当前soapui项目的父目录

如果您想通过Groovy Script获取此位置?使用以下两个之一:

def project = context.testCase.testSuite.project
log.info context.expand(project.resourceRoot)

def projectPath = new com.eviware.soapui.support.GroovyUtils(context).projectPath //gets the path of the project root
log.info projectPath
 类似资料:
  • 我想在groovy脚本中定义一个类,我可以通过SoapUI中的其他groovy脚本重用该类。 我一直试图在TestSuite属性中定义我的类,但没有成功。我希望避免在JAR中定义类,因为我们在团队中工作,每个人都必须在他们的SoapUI中导入JAR才能运行我的测试。我使用SoapUI 3.6.1 以下是我的TestSuite的制作方式: 为了简化me测试,我在“Test1”中定义了一个类,我想在“

  • 当我尝试在soapUI测试步骤中解析响应时,收到了以下异常。也尝试了getXMLHolder方法。还是没运气。 答复如下

  • 我使用Soap用户界面来测试我的网络服务。每次我想执行我的测试请求时,我都需要更新定义。我知道有可能添加Groovy脚本来让WSDL自动更新。但是我不知道我应该添加这个脚本来使它工作。有人能描述一下我每次执行请求时需要做的使这个脚本运行的步骤吗?

  • 我在SOAP UI工具中编写了groovy脚本,用于从excel工作表中读取值并执行SOAP UI xml,但每当运行脚本时,我都会遇到以下错误, 请帮帮我。我不明白这里缺少什么。我也添加了所有jar文件。 脚本为 错误:

  • 我在从groovy脚本(groovy脚本是SoapUI测试套件的一部分)运行java代码时遇到了问题,我创建了简单的脚本: TopClass的代码: 我将myjar.jar放入soapui-pro-2.5\lib和soapui-pro-2.5\bin\ext文件夹中。但行书我得到: org.codehaus.groovy.control.multipleCompilationerrorsExcep