SoapUI 测试执行 returns 错误 "The directory name is invalid"
SoapUI test execution returns error "The directory name is invalid"
我有一个已建立的 CI 管道,包括(在部署之前):
- TFS 构建
- 用于构建工件管理的 JFrog Artifactory
- 用于 Web 服务功能测试自动化的 SoapUI 和 SpecFlow(BDD 和 itaretive,参数化)
我无权访问我们的构建代理服务器,也无权在其上安装任何东西。相反,我添加了 SoapUI 二进制文件作为我的功能测试项目的链接;二进制文件是在每个构建的“获取源代码”步骤中从源代码管理中提取的。
这工作正常,但它大大增加了我的测试项目(以及任何其他需要 SoapUI 的测试项目)的占用空间,并且扩展了构建的执行时间:功能测试将仅在执行的构建的一小部分(仅当应用程序代码库已更改或自上次完整构建和测试以来经过足够的时间间隔时)。
出于这些原因,我选择从我的测试项目中删除 SoapUI 二进制文件文件夹,而是将 SoapUI 二进制文件 zip 存档部署到 Artifactory 存储库。通过在我的构建定义中添加一个 PowerShell 脚本步骤,我可以根据需要提取 SoapUI 二进制文件并将其提取到构建服务器上的所需位置。愚蠢的是,我认为这可能很简单...
我确实设法将压缩的 SoapUI 二进制文件文件夹推送到 Artifactory 存储库,并且在我的开发构建定义中,我确实设法正确编写了我的 PowerShell 步骤脚本以拉取 zip 存档并将其内容成功提取到相同的位置构建代理服务器上构建二进制文件目录中的文件夹,因为它最初位于该文件夹中。
但是,当我执行我的构建时,在执行 SoapUI 测试的步骤中,在第一次测试迭代中,我看到以下错误返回到构建控制台:
System.ComponentModel.Win32Exception: The directory name is invalid
我在我的开发(新)和我的生产(原始)构建以供比较。 两者都显示所需的 'testrunner.bat' 存在,在构建代理服务器 的同一文件夹中。
测试项目本身没有变化(除了删除 SoapUI 二进制文件文件夹)。
总结一下:
我正在尝试在两个构建中执行 SoapUI 测试;在每个构建中,使用相同的测试项目并且 SoapUI 二进制文件在测试执行开始时位于相同的位置。
一个构建成功执行没有问题。
一个构建在测试执行步骤失败,返回错误 "System.ComponentModel.Win32Exception: The directory name is invalid".
对此我很不解;见解和 SoapUI 智慧最受欢迎。
感谢观看。
事实证明,testrunner.bat 版本之间的目录路径存在差异;应该是“-”的地方是“_”
我有一个已建立的 CI 管道,包括(在部署之前):
- TFS 构建
- 用于构建工件管理的 JFrog Artifactory
- 用于 Web 服务功能测试自动化的 SoapUI 和 SpecFlow(BDD 和 itaretive,参数化)
我无权访问我们的构建代理服务器,也无权在其上安装任何东西。相反,我添加了 SoapUI 二进制文件作为我的功能测试项目的链接;二进制文件是在每个构建的“获取源代码”步骤中从源代码管理中提取的。
这工作正常,但它大大增加了我的测试项目(以及任何其他需要 SoapUI 的测试项目)的占用空间,并且扩展了构建的执行时间:功能测试将仅在执行的构建的一小部分(仅当应用程序代码库已更改或自上次完整构建和测试以来经过足够的时间间隔时)。
出于这些原因,我选择从我的测试项目中删除 SoapUI 二进制文件文件夹,而是将 SoapUI 二进制文件 zip 存档部署到 Artifactory 存储库。通过在我的构建定义中添加一个 PowerShell 脚本步骤,我可以根据需要提取 SoapUI 二进制文件并将其提取到构建服务器上的所需位置。愚蠢的是,我认为这可能很简单...
我确实设法将压缩的 SoapUI 二进制文件文件夹推送到 Artifactory 存储库,并且在我的开发构建定义中,我确实设法正确编写了我的 PowerShell 步骤脚本以拉取 zip 存档并将其内容成功提取到相同的位置构建代理服务器上构建二进制文件目录中的文件夹,因为它最初位于该文件夹中。
但是,当我执行我的构建时,在执行 SoapUI 测试的步骤中,在第一次测试迭代中,我看到以下错误返回到构建控制台:
System.ComponentModel.Win32Exception: The directory name is invalid
我在我的开发(新)和我的生产(原始)构建以供比较。 两者都显示所需的 'testrunner.bat' 存在,在构建代理服务器 的同一文件夹中。 测试项目本身没有变化(除了删除 SoapUI 二进制文件文件夹)。
总结一下: 我正在尝试在两个构建中执行 SoapUI 测试;在每个构建中,使用相同的测试项目并且 SoapUI 二进制文件在测试执行开始时位于相同的位置。 一个构建成功执行没有问题。 一个构建在测试执行步骤失败,返回错误 "System.ComponentModel.Win32Exception: The directory name is invalid".
对此我很不解;见解和 SoapUI 智慧最受欢迎。 感谢观看。
事实证明,testrunner.bat 版本之间的目录路径存在差异;应该是“-”的地方是“_”