我正在尝试使用Robot Framework接受测试我的Django应用程序.
问题是,要测试我的Django应用,我需要致电
./manage.py runserver
启动服务器.我可以制作机器人框架来帮我吗?并在经过测试后将其停止.
或者甚至可以使测试套件在django LiveServerTestCase下运行?
解决方法:
机器人有一个名为Process的库,专门用于启动和停止过程.您可以使用Start Process和Terminate Process关键字通过suite setup and suite teardown来启动和停止Web服务器.看起来像这样:
*** Settings ***
| Library | Process
| Suite Setup | Start the webserver
| Suite Teardown | Stop the webdserver
*** Keywords ***
| Start the webserver
| | ${django process}= | Start process | python | manage.py
| | Set suite variable | ${django process}
| Stop the webserver
| | Terminate Process | ${django process}
当然,您将需要添加一些防弹功能,例如确保该过程实际上开始,并且如果未完全退出,则可能会捕获错误.您可能还需要提供一个指向manage.py的显式路径,但是希望这可以提供大致的思路.