How to Get Asserts To work with Selenium headless mode

95 views
Skip to first unread message

Tom Daria

unread,
Feb 9, 2020, 10:49:54 PM2/9/20
to Selenium Users
Greetings.

I am working with 
C#, 
Chrome browser,
Selenium Web Driver v3.14.1.0
Selenium.WebDriver.ChromeDriver" version="80.0.3987.1600" targetFramework="net461"

I can run my test just fine in Chrome, non headless mode.
But when I switch my configuration to run Selenium in headless mode, none of my Asserts (Driver.Instance.FindElement) work!  

Can anyone help.

Here is the code.

ChromeOptions op = new ChromeOptions();
op.AddArgument("headless");  //don't open a browser but all Asserts fail
op.AddArgument("window-size=1920x1200");
op.AddAdditionalCapability("useAutomationExtension", false);
Instance = new ChromeDriver(ChromeDriverService.CreateDefaultService(), op);
bool review = Driver.Instance.FindElement(By.ClassName("modal-dialog")).Displayed;

review returns false but in non-headless mode it returns true.

Thanks

Tom


Tom Daria

unread,
Feb 10, 2020, 8:02:38 AM2/10/20
to Selenium Users
This post helped out alot
https://github.com/SeleniumHQ/selenium/issues/4477
After setting these Chrome Options, I am now able to run in headless mode.
                op.AddArgument("--window-size=1920,1080");
                op.AddArgument("--disable-extensions");
                op.AddArgument("--proxy-server='direct://'");
                op.AddArgument("--proxy-bypass-list=*");
                op.AddArgument("--start-maximized");
                op.AddArgument("--headless");
                op.AddArgument("--disable-gpu");
                op.AddArgument("--disable-dev-shm-usage");
                op.AddArgument("--no-sandbox");
                op.AddArgument("--ignore-certificate-errors");
Reply all
Reply to author
Forward
0 new messages