We have an MVC 5 C# web application using Kendo Mobile UI compenents which we deploy with Octopus Deploy (Test, Staging, Prod) and have a step to run Selenium UI tests.
The process works perfectly for all environments with the Selenium Chrome driver, however we have an issue with the Selenium Internet Explorer Driver on the servers.
The UI tests fail on the servers when they are run as part of the Octopus Deploy process. The tests run in local dev, and run on the servers if you execute the script manually (same script and user as the Octopus Deploy process).
The only difference I can see is that one is run headless as part of the tentacle script execution and the other not.
We receive the following error:
Tentacle script execution OpenQA.Selenium.ElementNotVisibleException: Element is not displayed
I can recreate this error in local dev by changing the options for the IE web driver to:
var options = new InternetExplorerOptions();
options.RequireWindowFocus = false;
var webDriver = new InternetExplorerDriver(options);
The element that is causing the problem is a Kendo mobile button:
<a data-role="button" data-rel="drawer" id="searchIcon" href="#searchDrawer" data-icon="search" data-align="left"></a>