这里是我的开发环境的详细信息:C# - 硒与Chrome的测试:元素不是在点点击其他元素将收到点击
的Visual Studio 2012旗舰版与更新4 谷歌的Chrome版本38.0.2125.111米 Windows 7专业版32位操作系统 编码UITest生成器11.0.60315.1
我们的软件团队正在开发一个ASP.NET Web应用程序,并得到了客户的要求,我们使用Microsoft Visual Studio 2012与微软CodedUI运行自动化测试。
我跑了我们在谷歌的Chrome版本38.0.2125.111米ASP.NET应用程序
我下载并安装了“编码的UI跨浏览器测试硒组件”
而且,我已经添加了硒DLL到我的Microsoft Visual Studio 2012 CodedUI项目。
IWebDriver driver = new ChromeDriver(@"D:\blabblahblah\SeleniumConfigFiles\");
driver.Navigate().GoToUrl("http://localhost:2816/");
IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00));
wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
wait.Until(drv => drv.FindElement(By.LinkText("System")));
var btn = driver.FindElement(By.LinkText("System"));
btn.Click();
不幸的是,在最后一行代码总是产生以下错误:
System.InvalidOperationException was unhandled by user code
HResult=-2146233079
Message=unknown error: Element is not clickable at point (163, 36). Other element would receive the click: <div class="loading-screen">...</div>
(Session info: chrome=38.0.2125.111)
(Driver info: chromedriver=2.8.241075,platform=Windows NT 6.1 SP1 x86)
Source=WebDriver
StackTrace:
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\WebDriver\trunk\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1012
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\WebDriver\trunk\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 846
at OpenQA.Selenium.Remote.RemoteWebDriver.InternalExecute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\WebDriver\trunk\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 729
at OpenQA.Selenium.Remote.RemoteWebElement.Execute(String commandToExecute, Dictionary`2 parameters) in c:\Projects\WebDriver\trunk\dotnet\src\webdriver\Remote\RemoteWebElement.cs:line 810
at OpenQA.Selenium.Remote.RemoteWebElement.Click() in c:\Projects\WebDriver\trunk\dotnet\src\webdriver\Remote\RemoteWebElement.cs:line 336
at JigsawCUITChrome.UIMap.RecordedMethod1() in d:\blahblahUIMap.Designer.cs:line 55
at JigsawCUITChrome.CodedUITest1.CodedUITestMethod1() in d:\blahblah\CodedUITest1.cs:line 31
的InnerException:
你能告诉我怎样才能解决上述错误?
这是一个非常低效的解决方案,只是导航到该网页driver.Navigate()GoToUrl后( “HTTP://本地主机:2816 /”)。我添加了一个Thread.Sleep(90000);它仍然需要太长时间。无论如何有一个更有效的解决方案?提前致谢。 – 2014-11-06 07:47:41
它说有另一个控制阻止'btn',即div“加载屏幕”。检查模式或其他控件,并尽可能使用ID或ClassName属性进行搜索,因为它更快一些。 – 2014-11-06 13:48:18
这个问题在http://stackoverflow.com/questions/28094589/can-selenium-detect-whether-clickable-elements-are-being-covered-up-by-other-ele/想抛出这个异常,你'重新陷入。你知道这个异常是来自CodedUI,Selenium还是你自己定制的? – 2015-01-28 18:42:12