如何等待服务器启动并运行Jenkins/Hudson的单元测试
问题描述:
这是非常简单的问题。我张贴这个,因为我无法得到任何满意的答案。首先是背景:我有Jenkins的工作,构建并将Web应用程序部署到服务器上。服务器需要一些时间(大约5到10分钟)。我想设置一个工作(或者根据需要修改现有的工具)来构建将测试应用程序的单元测试用例执行。我正在考虑以下方法。我想请你来验证或提出任何替代方案:如何等待服务器启动并运行Jenkins/Hudson的单元测试
- 有等待一个固定的时间
- 具有坪的应用程序可用性的URL和检查自定义Ant目标Ant目标
在此先感谢您的帮助。 -Vadiraj。
答
等待一个固定的时间有一个问题,你选择的时间要么是短(构建失败)要么是长(浪费构建时间)。所以我认为最好是检查应用程序是否可用。
我为我的Selenium测试做了类似的事情。我必须等到Selenium Remote Server启动。我使用了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应用程序部署之前,你可以尝试使用,而不是socket
的http
条件来检查HTTP错误代码。条件记录在here。
谢谢,这真的有帮助! – Vadiraj 2012-07-26 09:29:05