Xvfb和Chromedriver有什么区别,何时使用它们?

8

你好,我计划搭建selenium来测试我的Web应用程序。

我了解到可以使用chromedriver和Xvfb运行测试。同时也有资料显示Xvfb可以配置使用chromedriver。

这让我感到困惑,请问在运行selenium测试时,chromedriver和Xvfb扮演什么角色?

谢谢。

1个回答

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

Python代码片段:

Chrome驱动程序(下载这里):

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

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()

参考文献:

  1. 如何在Xvfb中运行Selenium?

这在桌面上不起作用。即使指定了 visible=0,它也只是启动一个传统的浏览器。如何在具有活动 X 服务器的系统上进行测试?Selenium 如何知道使用 Xvfb 包装器而不是默认的 DISPLAY 连接? - Cerin
嗨,Cerin,你能解决如何在你的本地桌面启动Xvfb吗?我遇到了类似的问题。 - Upchanges

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接