从 CruiseControl.NET 执行命令行命令

2024-02-16

我有这段代码CruiseControl.NET http://en.wikipedia.org/wiki/CruiseControl配置:

<exec>
    <executable>C:\Windows\System32\cmd.exe</executable>
    <buildArgs>/C SETX SELENIUM_BROWSER googlechrome /M</buildArgs>
</exec>

接下来是NUnit http://en.wikipedia.org/wiki/NUnit执行命令将运行一些Selenium http://en.wikipedia.org/wiki/Selenium_%28software%29在我的网站上进行测试。这个想法是,此命令在运行测试之前更改测试浏览器(系统环境变量)。

问题是该命令似乎不起作用。测试仍然使用默认浏览器 Firefox。如果我手动更改环境变量,它会起作用。

我究竟做错了什么?

EDIT:

我尝试将命令放入批处理文件中并执行它,但它仍然不起作用:

<exec executable="C:\CCNet\setChrome.bat" />

批处理文件内容:

SETX SELENIUM_BROWSER googlechrome /M

像这样设置命令格式可以正确设置环境变量:

<exec>
    <executable>cmd</executable>
    <buildArgs>/C SETX SELENIUM_BROWSER googlechrome /M</buildArgs>
</exec>

现在我需要弄清楚为什么我的 NUnit 测试没有正确地识别它。

UPDATE:

应该使用environment可执行任务中的元素将变量传递给测试。例如:

<exec>
    <executable>make</executable>
    <baseDirectory>D:\dev\MyProject</baseDirectory>
    <buildArgs>all</buildArgs>
    <buildTimeoutSeconds>10</buildTimeoutSeconds>
    <successExitCodes>0,1,3,5</successExitCodes>
    <environment>
        <variable>
            <name>MyVar1</name>
            <value>Var1Value</value>
        </variable>
        <variable name="MyVar2" value="Var2Value" />
    </environment>
</exec>

实际上,我在一个小配置文本文件中实现了浏览器设置作为解决方法,但这个元素会让事情变得更容易,而且我不需要运行任何命令行命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 CruiseControl.NET 执行命令行命令 的相关文章

随机推荐