【发布时间】:2013-10-18 21:35:58
【问题描述】:
我有使用 django LiveServerTestCase、pyvirtualdisplay 和 Selenium 的测试。通常它们从 cron 运行,而我没有显示,所以我这样做:
cls.display = Display(visible=0, size=(800, 600))
cls.display.start()
效果很好。但是在调试新测试时,我想从命令行运行并显示浏览器。我尝试了很多不同的东西,例如将可见设置为 1。这失败了:
WebDriverException: 消息: '浏览器似乎在我们连接之前已经退出。输出为:错误:无法打开显示:1207\n'
我尝试注释掉这些行并得到:
WebDriverException: 消息: '浏览器似乎在我们连接之前已经退出。输出为:错误:未指定显示\n'
我厌倦了用 xvfb-run 运行测试:
xvfb-run python manage.py test cdsem.W2WTestLive
这样测试运行了,但是浏览器没有显示。我试过这个:
DISPLAY=:1 xvfb-run python manage.py test cdsem.W2WTestLive
仍然没有显示浏览器。我确实在谷歌上搜索并搜索过,这似乎是一个非常常见的问题,但没有一个答案对我有用。如何从命令行运行此测试并让浏览器可见?
【问题讨论】:
-
启动进程时,是后台运行还是前台运行?