元素不可见异常(selenium C#,teamcity as service)

问题描述 投票:0回答:2

我最近从量角器(客户端应用程序在angularJS中)移动到selenium(C#)进行e2e测试 - 有一些关于量角器稳定性的问题。

对于硒,一切都很好,除了一件重要的事情。我正在使用TeamCity与作为服务运行的代理进行持续集成。问题就出现了 - 在我得到的几个测试中:

OpenQA.Selenium.ElementNotVisibleException : element not visible (Session info: chrome=50.0.2661.94)

我试图等待元素可见或可点击但完全没有帮助(取而代之的是超时)。

如果我从VS或未注册为服务的代理运行测试,一切正常。我可以在技术上使用代理作为非服务,但更喜欢代理作为服务。

有没有什么额外的我想念运行代理服务?有什么样的保护可以用来让我的测试更稳定吗?

c# selenium continuous-integration teamcity
2个回答
1
投票

运行TeamCity代理作为操作系统强加的服务存在一些已知限制,请参阅完整列表here


0
投票

如果这对以后的任何人有帮助,我会遇到DevExtreme的这个问题,因为他们对DOM的操作很复杂。

我发现解决这个问题的最好方法是告诉Selenium点击你关注的元素的位置,而不是试图直接点击该元素:

new Actions(webDriver).MoveToElement(elementInQuestion).Click().Perform()

这会将鼠标移动到元素中间的位置,并在该位置执行鼠标单击。

© www.soinside.com 2019 - 2024. All rights reserved.