2

我们有一个使用 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>
4

2 回答 2

0

Tentacle windows 服务默认在本地系统下运行,但它没有任何 UI。您需要授予服务与桌面交互的能力。以下链接可能会有所帮助:

http://lostechies.com/keithdahlby/2011/08/13/allowing-a-windows-service-to-interact-with-desktop-without-localsystem/

于 2014-02-07T04:54:34.567 回答
0

所有区域的保护模式必须相同。查看答案:https ://stackoverflow.com/a/11123960/200824

于 2015-11-06T17:21:12.033 回答