我们有一个使用 Kendo Mobile UI 组件的 MVC 5 C# Web 应用程序,我们使用 Octopus Deploy(测试、暂存、生产)部署它,并有一个步骤来运行 Selenium UI 测试。
该过程适用于使用 Selenium Chrome 驱动程序的所有环境,但是服务器上的 Selenium Internet Explorer 驱动程序存在问题。
作为 Octopus 部署过程的一部分运行时,UI 测试在服务器上失败。如果您手动执行脚本(与 Octopus 部署过程相同的脚本和用户),测试在本地开发中运行,并在服务器上运行。
我能看到的唯一区别是,一个作为触手脚本执行的一部分是无头运行的,另一个则不是。
我们收到以下错误:
触手脚本执行 OpenQA.Selenium.ElementNotVisibleException:元素不显示
我可以通过将 IE Web 驱动程序的选项更改为:
var options = new InternetExplorerOptions();
options.RequireWindowFocus = false;
var webDriver = new InternetExplorerDriver(options);
导致问题的元素是 Kendo 移动按钮:
<a data-role="button" data-rel="drawer" id="searchIcon" href="#searchDrawer" data-icon="search" data-align="left"></a>