我目前正在为一个正在开发的Web应用程序进行约130个Selenium UI测试。
我的问题是,每当我通过Visual Studio的测试浏览器(vstest)在本地运行测试时,我NEVER都遇到了此错误。问题是,当在TFS上运行测试时,某些测试由于此消息而仍然失败(也使用TFS上的vstest)。
我还100%确保没有覆盖元素会干扰click方法,因为测试never在本地运行时失败,并显示该消息。
知道这是什么吗?
这听起来像是我与詹金斯测试执行与本地测试执行的永无止境的战斗。
我现在可以告诉您,问题可能是您运行测试所针对的浏览器大小。
我遇到了所有本地测试都可以通过的问题,但是当您通过Jenkins或TFS运行测试时,会收到您提到的随机错误。
您是否正在以无头模式运行测试?如果没有,您应该立即开始。切换到--headless
并设置浏览器大小最终为我解决了我的大多数问题:
var headlessOptions = new ChromeOptions();
headlessOptions.AddArgument("--headless");
headlessOptions.AddArguments("--disable-gpu");
headlessOptions.AddArguments("--window-size=1920,1200");
您也必须使用--headless
才能正常工作。我试图仅通过设置窗口大小来运行测试,但是无论如何测试仍然会失败,因为虚拟机的分辨率不足以处理我设置的浏览器大小。