selenium - 如何在使用后关闭 Xvfb

标签 selenium robotframework xvfb

我正在使用 Xvfb 在 headless firefox 中运行一些测试。但是,测试完成后我想恢复正常显示。但我无法做到这一点。这就是我正在做的事情。

  1. 打开终端
  2. sudo Xvfb :10 -ac &
  3. 导出 DISPLAY=:10
  4. 使用 RobotFramework+ Selenium 执行我的测试

第 4 步之后,我想在同一终端中打开 Firefox,但我看不到它,因为它指向 :10 显示。

我想知道如何关闭此 (xvfb :10) 以便我可以打开 Firefox 并查看它。

最佳答案

第二个命令末尾的 & 告诉 Linux 在后台运行它的命令。您可以看到使用 $ jobs 运行的后台命令列表。 Ubuntu16.04 上的示例:

$ sudo Xvfb :10 -ac &
[1] 31294
$ jobs -l
[1]+ 31294 Running                 sudo Xvfb :10 -ac &

正如您在上面的输出中看到的,jobs -l 显示后台作业,输出的第二列是可用于终止它的 PID$ sudo Kill 31294

另一个可能“更干净”的选项是启动 Xvfb 只是为了运行您想要的命令并自动退出,而不是让它在后台运行。这样你就可以将第 2,3 和 4 行替换为:

xvfb-run python my_selenium_tests.py

只需将 python my_selenium_tests.py 替换为运行测试的任何方式即可。它将打开 Xvfb 并在最后关闭。

关于selenium - 如何在使用后关闭 Xvfb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24869824/

相关文章:

python - (在Ubuntu服务器上使用 'imgkit')wkhtmltopdf : could not connect to any X display

selenium - 如何使用带有 firefox 17.0.1 的 Webdriver 在 Mac 上以 headless 模式运行 selenium 测试

iphone - 如何将 iphone 模拟器连接到 selgrid 2?

c# - 可以使用 Selenium WebDriver 和 C# 更改 IE 文档模式吗?

vba - 无法访问 iframe 中存储的内容

python - 在机器人框架中调用用户定义的测试库函数(带参数)时出现类型错误

python - Robot Framework 的 Mongo Db 扩展库返回错误记录

selenium - 使用 Selenium IDE 解析查询字符串值的 URL

robotframework - 获取 Robotframework 中给定元素的 HTML 标签

grails - headless 运行 Geb + spock 测试