【问题标题】:How to get the browser to display when running a live server test case with Selenium under django如何在 django 下使用 Selenium 运行实时服务器测试用例时显示浏览器
【发布时间】: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

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

【问题讨论】:

  • 启动进程时,是后台运行还是前台运行?

标签: python django selenium


【解决方案1】:

停止使用虚拟显示器?默认情况下,selenium 会在你的活动显示器上打开一个可见的浏览器......所以你可以直接入侵,比如:

if False:
    cls.display = Display(visible=0, size=(800, 600))
    cls.display.start()

当您在本地进行测试时...您可以使用环境变量或其他东西来获得更持久的解决方案...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 2012-08-03
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    相关资源
    最近更新 更多