У меня есть скрипт селенового веб-драйвера, который выполняет некоторые регрессионные тесты для моего тестируемого приложения. Скрипт отлично работает на Google Chrome, Firefox, IE и т. Д.
Однако недавно я попытался запустить его в Safari (11.1.1) в Mac OS X (10.13.5), и мой сценарий завершился ошибкой со странным сообщением, даже когда я вызываю простую строку, такую как
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
Selenium Версия: 3.0.1
Версия Safari: 11.1.1
Версия Java: 1.8
Версия OS X: 10.13.5
Edit:
Это моя зависимость, настроенная в Maven
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.0.1</version>
</dependency>
Я много пытался найти эту проблему, но, к сожалению, ничего не появилось с информацией, специфичной для Mac.
Может кто-нибудь помочь мне решить эту проблему, пожалуйста?
Спасибо,
Шрирам Шридхаран