【发布时间】:2017-01-26 16:22:08
【问题描述】:
目前我在soap UI 中运行的所有常规脚本似乎都使用“...\SoapUI-5.2.1\bin”作为工作目录。从this question 的答案之一我尝试设置我的项目的 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()
虽然这行得通,但它不如我用上面提到的其他工具做的那样优雅。
【问题讨论】:
-
你想达到什么目的?请提供一些上下文?
-
@Rao 我只是认为处理相对路径比使用必须添加到每个路径字符串的变量更优雅。这可以在 IntelliJ/Eclipse 等其他工具中完成,所以我想知道在 SoapUI 中是否也可以这样做?
-
那么究竟在您链接到的答案中不满足您的要求吗?你能提供你的脚本minimal reproducible example吗?
-
@SiKing 就像我已经解释过的那样:我链接到的答案建议在 SoapUI 中设置 Resource Root 属性,这似乎对 SoapUI 中 groovy 使用的工作目录没有影响。我认为我的问题与任何特定脚本没有任何联系,它适用于在 SoapUI 中运行的任何 groovy 脚本。我将从问题中删除 groovy 标记以避免将来出现任何混淆。
-
@EJS,还不确定这个问题。您是否在寻找soapui 项目的
Resource Root价值?可能是您显示您拥有的脚本。你也可以用例子来解释 - 你期望什么,你得到什么?