我有使用 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
仍然没有显示浏览器。我确实在谷歌上搜索并搜索过,这似乎是一个非常常见的问题,但没有一个答案对我有用。如何从命令行运行此测试并让浏览器可见?