这是一个非常简单的问题。我发布这个是因为我无法得到任何令人满意的答案。首先是后台:我有Jenkins的工作,可以在服务器上构建和部署Web应用程序。服务器需要一些时间(大约5到10分钟)。我想设置一个工作(或根据需要修改现有工作)来安装将测试应用程序的单元测试用例执行。我正在考虑以下方法。我希望您验证或建议任何替代方案:
提前感谢您的帮助。 -Vadiraj。
答案 0 :(得分:6)
等待固定时间的问题是您选择的时间要么是短(构建失败)要么是长(浪费构建时间)。所以我认为最好检查一下应用是否可用。
我为Selenium测试做了类似的事情。我不得不等到Selenium远程服务器启动了。我使用了waitfor
元素。有关详细文档,请参阅here。
这是我的蚂蚁目标的精简版:
<parallel>
<sequential>
... Start web application server ...
</sequential>
<sequential>
<waitfor maxwait="10" maxwaitunit="minute">
<socket server="localhost" port="8080" />
</waitfor>
<junit>
...
</junit>
</sequential>
</parallel>
如果您的服务器在部署Web应用程序之前可用,您可以尝试使用http
条件而不是socket
来检查HTTP错误代码。记录条件here。