Jenkins Windows节点返回CreateProcess错误= 193

时间:2016-08-02 18:06:52

标签: java windows jenkins ant codeception

我正在尝试为Jenkins设置一个Windows节点(master在Mac / ElCapitan上运行)以运行Codeception验收测试。

jenkins jnlp文件似乎运行正常,Jenkins已在Windows节点上创建了其目录。我要求它仅通过Firefox中的ant build运行测试。这是在主/ Apple机器上运行的成功测试。

我可以在任何目录的Windows节点上的命令提示符下键入“codecept”,并获取默认的帮助信息。

我可以通过命令提示符使用codecept run tests / acceptance / all / test进入Windows节点计算机上的Jenkins创建的文件夹来运行测试。

当尝试通过主机上的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文件来执行此操作。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

vendor/bin/codecept文件适用于Linux和其他类似unix的操作系统 在Windows上使用vendor/bin/codecept.bat