我正在尝试运行测试时尝试访问WebStorage,我使用ChromeDriver在本地运行测试,并使用RemoteWebDriver在管道中远程运行测试。
使用RemoteWebDriver时我无法访问WebStorage
WebStorage webStorage = (RemoteWebStorage) new Augmenter().augment(driver);
我正进入(状态:
org.openqa.selenium.remote.RemoteWebDriver无法转换为org.openqa.selenium.remote.html5.RemoteWebStorage
任何建议都将受到欢迎,谢谢。
最佳答案
您将必须使用下面的技巧来访问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");