Tfs SoapUI测试执行返回错误";目录名无效";

Tfs SoapUI测试执行返回错误";目录名无效";,tfs,soapui,artifactory,Tfs,Soapui,Artifactory,我已建立CI管道,包括(部署前): TFS构建 用于构建工件管理的JFrog工件工厂 用于web服务功能测试自动化的SoapUI和SpecFlow(BDD&itaretive,参数化) 我无权访问我们的build agent服务器,也无权在其上安装任何东西。相反,我添加了SoapUI二进制文件作为功能测试项目的链接;在每个构建的获取源代码步骤中,从源代码管理中提取二进制文件 这可以正常工作,但它大大增加了我的测试项目(以及任何其他需要SoapUI的测试项目)的占用空间,并且扩展了构建的执行时

我已建立CI管道,包括(部署前):

  • TFS构建
  • 用于构建工件管理的JFrog工件工厂
  • 用于web服务功能测试自动化的SoapUI和SpecFlow(BDD&itaretive,参数化)
我无权访问我们的build agent服务器,也无权在其上安装任何东西。相反,我添加了SoapUI二进制文件作为功能测试项目的链接;在每个构建的获取源代码步骤中,从源代码管理中提取二进制文件

这可以正常工作,但它大大增加了我的测试项目(以及任何其他需要SoapUI的测试项目)的占用空间,并且扩展了构建的执行时间:功能测试将只在执行的构建的一小部分上执行(仅当应用程序代码库已更改或自上次完整构建和测试以来经过了足够的时间间隔时)

出于这些原因,我选择从测试项目中删除SoapUI binaries文件夹,而是将SoapUI binaries zip存档部署到Artifactory存储库中。通过在构建定义中添加PowerShell脚本步骤,我可以根据需要提取SoapUI二进制文件,并提取到构建服务器上所需的位置。愚蠢的是,我没有这样做尽管这可能很简单

我确实成功地将压缩后的SoapUI二进制文件文件夹推送到了Artifactory repo,并且在我的开发构建定义中,我确实成功地编写了PowerShell步骤的脚本,以将zip归档文件拉入并成功地将其内容解压缩到build agent服务器上构建二进制文件目录中的同一文件夹中,与它最初所在的位置相同

但是,当我在第一次测试迭代中执行构建时,在执行SoapUI测试的步骤中,我看到以下错误返回到构建控制台:

System.ComponentModel.Win32异常:目录名无效

我在我的开发版(新版)和我的生产版(原始版)的测试执行步骤之前添加了PowerShell脚本筛选文件夹内容步骤,以进行比较。两者都在生成代理服务器上的同一文件夹中显示所需的“testrunner.bat”。 测试项目本身没有改变(除了删除SoapUI二进制文件文件夹)

总结如下: 我尝试在两个构建中执行SoapUI测试;在每个构建中,使用相同的测试项目,并且在测试执行开始时,SoapUI二进制文件位于相同的位置。 一个构建成功执行,没有问题。 一个生成在测试执行步骤失败,返回错误“System.ComponentModel.Win32Exception:目录名无效”

我对此感到非常困惑;最受欢迎的是见解和SoapUI智慧。
感谢您的查看。

结果是,testrunner.bat上的目录路径在两个版本之间存在差异;一个''.'其中一个'-'应该出现;

两个版本之间的testrunner.bat上的目录路径存在差异;一个'.'其中一个'-'应该出现