Ant可以加载URL吗?

时间:2013-04-09 07:34:58

标签: ant

我有一个Ant构建脚本,它当前启动一个服务器,然后等待一个URL可以解析,然后才能为我执行一些Selenium测试。那个任务看起来像这样;

<target name="test.selenium" depends="compile.constants, launch.server" description="Run the Selenium tests">
    <echodesc/>
    <waitfor maxwait="1" maxwaitunit="minute" checkevery="2" checkeveryunit="second">
        <http url="http://127.0.0.1:${product.listenport}/"/>
    </waitfor>
    <exec executable="${deps.python}" spawn="false" failonerror="true" dir="src">
        <arg line="manage.py test --selenium-only" />
    </exec>
</target>

在成功之后我想调用一个会关闭服务器的URL,但我不确定如何使用Ant做这个。是否可以让Ant呼叫127.0.0.1:${product.listenport}/QUIT

我以前使用taskkill命令对正在运行的进程实现此目的但这已经开始导致Windows错误,并且该URL干净地关闭了服务器。

我能找到的最佳解决方案就是这个宏在浏览器中打开一个URL,但这仍然会引起我的问​​题,因为我在测试结束时有一个打开的浏览器; http://chris.m0nk3y.net/blog/post/opening-a-url-in-the-default-browser-with-ant

我的解决方案

最终我使用了以下蚂蚁目标;

<target name="shutdown.server" depends="init.properties" description="Shutdown the server">
    <get src="http://127.0.0.1:${product.listenport}/QUIT" dest="NUL"/>
</target>

'NUL'使我能够在不处理正在创建的新文件的情况下使用get,因此这非常适合作业\ o /

1 个答案:

答案 0 :(得分:2)

您可以使用get任务来调用http网址。以下是更多信息https://ant.apache.org/manual/Tasks/get.html

例如<get src="http://127.0.0.1:${product.listenport}/QUIT" dest="${temp.dir}/quit.res"/>