【发布时间】:2018-12-03 20:05:55
【问题描述】:
我有一个 selenium webdriver 脚本,它对我的被测应用程序执行一些回归测试。该脚本可在 Google Chrome、Firefox、IE 等上完美运行。
但是,最近我尝试在 Mac OS X (10.13.5) 上的 Safari (11.1.1) 上运行它,即使我调用诸如
之类的简单行,我的脚本也会失败并显示一条奇怪的消息driver.findElement(By.tagName("body"));
我得到的异常如下:
org.openqa.selenium.WebDriverException: Returned value cannot be converted to WebElement: {}
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:49:13 -0700'
System info: host: 'Yethis-MacBook-Pro.local', ip: '192.168.2.197', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.5', java.version: '1.8.0_171'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:375)
at org.openqa.selenium.remote.RemoteWebDriver.findElementByTagName(RemoteWebDriver.java:441)
at org.openqa.selenium.By$ByTagName.findElement(By.java:334)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:360)
at org.ycs.selenium.safari.App.execute(App.java:75)
at org.ycs.selenium.safari.App.main(App.java:27)
Caused by: java.lang.ClassCastException: com.google.common.collect.Maps$TransformedEntriesMap cannot be cast to org.openqa.selenium.WebElement
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:373)
... 5 more
硒版本:3.0.1 Safari 版本:11.1.1 Java版本:1.8 OS X 版本:10.13.5
编辑: 这是我在 maven 中配置的依赖项
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.0.1</version>
</dependency>
我尝试对这个问题进行大量搜索,但不幸的是,没有任何关于 Mac 的特定信息出现。
谁能帮我解决这个问题?
谢谢, 斯里拉姆斯里达兰
【问题讨论】:
-
请分享html源代码和你的attepmt。
-
很抱歉这是一个客户端应用程序,我无法共享 HTML 源代码。但是,我可以告诉你,这个问题只发生在少数随机页面上,其余页面没有问题。但是,我已确保 iFrame、窗口句柄等方面没有问题。你能指出我正确的方向吗?
-
从异常 StackTrace 中搜索此
Caused by: java.lang.ClassCastException: com.google.common.collect.Maps$TransformedEntriesMap cannot be cast to org.openqa.selenium.WebElement
标签: java macos selenium selenium-webdriver safari