当前位置:  开发笔记 > 编程语言 > 正文

如何在Soap ui中为Groovy脚本指定工作目录?

如何解决《如何在Soapui中为Groovy脚本指定工作目录?》经验,为你挑选了1个好方法。

当前,我在soap UI中运行的所有常规脚本似乎都使用“ ... \ SoapUI-5.2.1 \ bin”作为工作目录。从这个问题的答案之一,我尝试设置项目的Resource Root属性,但是这对groovy脚本使用的工作目录没有影响。

在SoapUI中创建一个新项目。添加一个测试套件,测试用例和一个Groovy脚本测试步骤。在测试脚本中,只需输入:

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

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

我在寻找什么

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

我目前的解决方法

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

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

尽管此方法有效,但它并不像我使用上述其他工具所能做到的那样优雅。



1> Rao..:

Working目录是与上下文有关的东西。而且,它可能取决于从哪个目录/从哪个目录调用相应进程。

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

用户转到%SOAPUI_HOME%\bin目录并运行soapui.bat命令。

用户打开命令提示符,然后直接运行soapui.bat(它必须%SOAPUI_HOME%\bin在中%PATH%

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

好吧,我怎么找到它Groovy Script呢?

干得好:

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

我还想澄清一下SoapUI的project属性Resource Root。SoapUI允许${projectDir}or ${workspaceDir}或user可以提供他的首选路径。

$ {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

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有