Xvfb 和 Chromedriver 之间有什么区别以及何时使用它们

What is difference between Xvfb and Chromedriver and when to use them

您好,我正计划设置 selenium 来测试我的 Web 应用程序。

我了解到 chromedriver 和 Xvfb 都可以用于 运行 测试。 我还读到 Xvfb 可以配置为使用 chromdriver。

这让我很困惑。 chromedriver 和 Xvfb 在 运行nning selenium 测试中起什么作用。

谢谢

  1. chrome驱动程序 - 运行 在 chrome 浏览器(带有 GUI)上进行测试。
  2. Xvfb - 在 headless 模式下进行 运行 测试。可以是任何浏览器,包括chrome(不会显示浏览器GUI,所以您可以使用机器进行一些其他操作)。

代码片段 (python):

Chrome驱动程序(下载here):

browser = webdriver.Chrome() // to launch tests in Chrome browser.

Xvfb - 使用 pyvirtualdisplay(python Xvfb 包装器):

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# now Chrome will run in a virtual display. 
# you will not see the browser.
browser = webdriver.Chrome()
browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()

参考文献:

  1. How do I run Selenium in Xvfb?