Jenkins Windows 节点返回 CreateProcess 错误=193
Jenkins Windows Node returning CreateProcess error=193
我正在尝试为 Jenkins 设置一个 Windows 节点(master 在 Mac/ElCapitan 上 运行ning)以进行 运行 Codeception 验收测试。
jenkins jnlp 文件似乎 运行ning 适当,Jenkins 已在 Windows 节点上创建其目录。我要求它 运行 通过仅在 Firefox 中构建的 ant 进行测试。这是 运行ning 在 master/Apple 机器上的成功测试。
我可以在任何目录的 Windows 节点的命令提示符中键入 "codecept" 并获得默认帮助消息。
我可以 运行 通过使用 codecept 运行 tests/acceptance/all/test.[=14 通过命令提示符进入 Jenkins 在 Windows 节点机器上创建的文件夹来进行测试=]
当尝试通过主机上的 Jenkins 执行此操作时,出现以下错误:
C:\jenkins\workspace\nodeTest\browser\firefox\label\Windows10\build.xml:147: Execute failed: java.io.IOException: Cannot run program "C:\jenkins\workspace\nodeTest\browser\firefox\label\Windows10\vendor\bin\codecept" (in directory "C:\jenkins\workspace\nodeTest\browser\firefox\label\Windows10"): CreateProcess error=193, %1 is not a valid Win32 application
蚂蚁文件:
<property environment="env"/>
<property name="codecept" value="${basedir}/vendor/bin/codecept"/>
<target name="InvalidLogin" depends="CleanPics, InvalidLoginRun" />
<target name="CleanPics" description="clean out directories from previous run.">
<delete dir="${basedir}/tests/_output" />
<mkdir dir="${basedir}/tests/_output" />
<mkdir dir="${basedir}/tests/_output/debug" />
<target name="InvalidLoginRun" description="confirm invalid credentials don't allow login">
<exec executable="${codecept}" failonerror="true">
<arg value="run" />
<arg value="--debug" />
<arg value="tests/acceptance/all/00loginsInvalidCest.php" />
<arg value="--xml" />
<arg value="--env" />
<arg value="${browser}" />
</exec>
谷歌搜索让我得到答案,我应该使用 ShellExecute 而不是 CreateProcess 命令,但我不知道如何配置 Ant 文件来执行此操作。有什么想法吗?
vendor/bin/codecept
文件用于 Linux 和其他类 unix 操作系统。
在 Windows.
上使用 vendor/bin/codecept.bat
我正在尝试为 Jenkins 设置一个 Windows 节点(master 在 Mac/ElCapitan 上 运行ning)以进行 运行 Codeception 验收测试。
jenkins jnlp 文件似乎 运行ning 适当,Jenkins 已在 Windows 节点上创建其目录。我要求它 运行 通过仅在 Firefox 中构建的 ant 进行测试。这是 运行ning 在 master/Apple 机器上的成功测试。
我可以在任何目录的 Windows 节点的命令提示符中键入 "codecept" 并获得默认帮助消息。
我可以 运行 通过使用 codecept 运行 tests/acceptance/all/test.[=14 通过命令提示符进入 Jenkins 在 Windows 节点机器上创建的文件夹来进行测试=]
当尝试通过主机上的 Jenkins 执行此操作时,出现以下错误:
C:\jenkins\workspace\nodeTest\browser\firefox\label\Windows10\build.xml:147: Execute failed: java.io.IOException: Cannot run program "C:\jenkins\workspace\nodeTest\browser\firefox\label\Windows10\vendor\bin\codecept" (in directory "C:\jenkins\workspace\nodeTest\browser\firefox\label\Windows10"): CreateProcess error=193, %1 is not a valid Win32 application
蚂蚁文件:
<property environment="env"/>
<property name="codecept" value="${basedir}/vendor/bin/codecept"/>
<target name="InvalidLogin" depends="CleanPics, InvalidLoginRun" />
<target name="CleanPics" description="clean out directories from previous run.">
<delete dir="${basedir}/tests/_output" />
<mkdir dir="${basedir}/tests/_output" />
<mkdir dir="${basedir}/tests/_output/debug" />
<target name="InvalidLoginRun" description="confirm invalid credentials don't allow login">
<exec executable="${codecept}" failonerror="true">
<arg value="run" />
<arg value="--debug" />
<arg value="tests/acceptance/all/00loginsInvalidCest.php" />
<arg value="--xml" />
<arg value="--env" />
<arg value="${browser}" />
</exec>
谷歌搜索让我得到答案,我应该使用 ShellExecute 而不是 CreateProcess 命令,但我不知道如何配置 Ant 文件来执行此操作。有什么想法吗?
vendor/bin/codecept
文件用于 Linux 和其他类 unix 操作系统。
在 Windows.
vendor/bin/codecept.bat