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

13.3k views Asked by At

Hi I am planning to setup selenium to test my web application.

I have read that both chromedriver and Xvfb can be used to run the tests. I have also read that Xvfb can be configured to use chromdriver.

So that got me confused. What role does chromedriver and Xvfb in runnning the selenium tests.

Thanks

1

There are 1 answers

2
Naveen Kumar R B On BEST ANSWER
  1. chromedriver - to run tests on chrome browser (with GUI).
  2. Xvfb - to run tests in headless mode. can be any browser including chrome (Browser GUI won't be displayed, so you can use the machine for some other operations).

code snippets (python):

Chrome Driver (download here):

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

Xvfb - using pyvirtualdisplay (python wrapper for 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()

References:

  1. How do I run Selenium in Xvfb?