我正在使用 Xvfb 在 headless firefox 中运行一些测试。但是,测试完成后我想恢复正常显示。但我无法做到这一点。这就是我正在做的事情。
- 打开终端
- sudo Xvfb :10 -ac &
- 导出 DISPLAY=:10
- 使用 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/