我有这段代码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(使用前将#替换为@)