带有RemoteWebDriver的WebStorage

时间:2019-08-21 13:56:28

标签: java selenium selenium-webdriver remotewebdriver

运行测试时,我试图访问WebStorage,我使用ChromeDriver在本地运行测试,并使用RemoteWebDriver在管道中远程运行测试。

使用RemoteWebDriver时我无法访问WebStorage

var dateString = date.toISOString();
var newDateString = dateString.substr(0, dateString.length -1); 

我得到:

  

org.openqa.selenium.remote.RemoteWebDriver无法转换为org.openqa.selenium.remote.html5.RemoteWebStorage

任何建议都将受到欢迎,谢谢。

2 个答案:

答案 0 :(得分:3)

您将必须使用下面的技巧来访问RemoteWebDriver中的本地存储。使用RemoteWebdriver selenium-java-4.0.0-alpha-2,Chrome版本76.0.3809.100和ChromeDriver 76.0.3809.68在chrome浏览器上对其进行了测试。对我来说很好。

导入以下课程

 import org.openqa.selenium.remote.RemoteExecuteMethod;
 import org.openqa.selenium.remote.html5.RemoteWebStorage;
 import org.openqa.selenium.html5.LocalStorage;

使用以下代码访问本地存储

 RemoteExecuteMethod executeMethod = new RemoteExecuteMethod((RemoteWebDriver) driver);
 RemoteWebStorage webStorage = new RemoteWebStorage(executeMethod);
 LocalStorage storage = webStorage.getLocalStorage();
 storage.setItem("test", "test");

答案 1 :(得分:0)

您忘记了一次导入import org.openqa.selenium.remote.RemoteWebDriver;