I recently faced a Chrome not reachable error while running a Selenium test in Chrome browser on a Ubuntu machine. I had a hard time isolating the problem because I was trying to get setup with Chrome driver on Ubuntu as part of a Docker image.
Initially, I suspected the error is because of the below issues:
1. Xvfb display, not getting set properly
2. Chrome driver version/environment issue
Even after making sure that these were set properly I still got this error. After quite a bit of Googling, I came across this particular StackOverflow solution which helped me resolve my issue. The solution was to add a couple of arguments (no-sandbox, disable-setuid-sandbox) when starting up Chrome.
Since I did not understand the solution, I got more info on what Chrome’s Linux sandbox means from this link. The Chrome-Sandbox SUID Helper Binary launches when Chrome does and sets up the sandbox environment. The sandbox environment is meant to be restrictive to the file system and other processes, attempting to isolate various Chrome parts (such as the renderer) from the system.
Adding arguments to disable the sandbox and no sandbox helped me get past my issue and running my tests again
#Selenium script to print the title of http://qxf2.com from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() #argument to switch off suid sandBox and no sandBox in Chrome chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-setuid-sandbox") driver = webdriver.Chrome(chrome_options=chrome_options) driver.get('http://qxf2.com') print driver.title driver.quit()
Hope this post helps you get past the Chrome not reachable error. Happy testing!
If you are a startup finding it hard to hire technical QA engineers, learn more about Qxf2 Services.