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

Ani*_*ket 6 selenium webdriver xvfb selenium-chromedriver selenium-webdriver

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

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

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

谢谢

Nav*_*R B 9

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

代码片段(python):

Chrome 驱动程序(在此处下载):

browser = webdriver.Chrome() // to launch tests in Chrome browser.
Run Code Online (Sandbox Code Playgroud)

Xvfb - 使用 pyvirtualdisplay(Xvfb 的 Python 包装器):

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()
Run Code Online (Sandbox Code Playgroud)

参考:

  1. 如何在 Xvfb 中运行 Selenium?