java - 带有 RemoteWebDriver 的 WebStorage
问题描述
我在运行测试时尝试访问 WebStorage,我使用 ChromeDriver 在本地运行测试,并使用 RemoteWebDriver 在管道中远程运行测试。
使用 RemoteWebDriver 时无法访问 WebStorage
WebStorage webStorage = (RemoteWebStorage) new Augmenter().augment(driver);
我正进入(状态:
org.openqa.selenium.remote.RemoteWebDriver 无法转换为 org.openqa.selenium.remote.html5.RemoteWebStorage
欢迎任何建议,谢谢。
解决方案
您必须使用以下 hack 来访问 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");
推荐阅读
- mysql - 如何(SUM)在数据透视表字段中并在 yajra-laravel-datatable 包中搜索该字段(laravel 5.6)
- angular - Angular 5 ng-repeat 实现
- mongodb - spring data mongodb:graphlookup查询不包含as-field
- ios - 如何在 ios 中获取像谷歌地图持续时间文本格式的持续时间?
- square-connect - 使用 square connect api 创建订单
- angular - 如何在handsontable中添加时间选择器
- twig - 如何在下面的树枝中使用多维数组我们共享输入字段
- windows - 使用powershell删除文件中的特定行
- java - 没有父元素的 JAXB XML 重复交替 XmlElements
- cplex - 在 CPLEX Concert 技术中获得双重公式