我目前正在为我的团队制作一个UI项目。在Jenkins上构建项目之后,我们希望触发验收测试。在我的本地计算机上,我可以通过使用以下命令激活server.py来实现:
python server.py
服务器启动并运行后,我可以运行我用命令编写的验收测试文件夹:
pybot acceptance_tests
我现在正尝试将测试从本地计算机迁移到Jenkins。我无法弄清楚我是如何在Jenkins上运行服务器(server.py)的。我对詹金斯来说比较新,所以任何细节都会很棒!
答案 0 :(得分:0)
不要通过jenkins启动服务器,而是让测试启动并停止服务器。无论您如何运行测试,这都会给您带来相同的行为(即:从命令行手动通过jenkins)。
Robot有一个名为Process的库,您可以使用它来启动和停止进程。您可以使用Start Process和Terminate Process关键字通过suite setup and suite teardown启动和停止网络服务器。它看起来像这样:
*** Settings ***
| Library | Process
| Suite Setup | Start the webserver
| Suite Teardown | Stop the webserver
*** Keywords ***
| Start the webserver
| | ${server process}= | Start process | python | server.py
| | Set suite variable | ${server process}
| Stop the webserver
| | Terminate Process | ${server process}
当然,您要添加一些防弹,例如确保服务器实际启动,如果它没有干净地退出,可能会发现错误。您可能需要提供server.py的显式路径,但希望这可以提供一般的想法。