selenium-webdriver - 在 iOS 应用程序自动化时处理 iOS 应用程序中的日期选择器时面临的问题
问题描述
在 ios 应用程序自动化时处理 iOS 应用程序中的日期选择器时面临问题。
- 日期选择器始终显示当前日期。所以,它每天都在变化。
- 日期格式为
MMM DD, YYYY
- 由于它每天都在变化,因此很难通过滚动测量实现自动化。
代码
List<WebElement> dateValue = driver.findElementsByClassName("XCUIElementTypePickerWheel");
for (int i = 0; i < dateValue.size(); i++) {
System.out.println(dateValue.get(i).getText());
}
dateValue.get(0).sendKeys("23");
dateValue.get(0).sendKeys(Keys.TAB);
dateValue.get(1).sendKeys("December");
dateValue.get(1).sendKeys(Keys.TAB);
dateValue.get(2).sendKeys("2000");
dateValue.get(2).sendKeys(Keys.TAB);
解决方案
Appium 提供了一个mobile:
名为的方法selectPickerWheelValue
,该方法可用于使用前后手势导航选择轮:
HashMap<String, Object> params = new HashMap<>();
params.put("order", "next");
params.put("offset", 0.15);
params.put("element", ((RemoteWebElement) pickerWheelElement).getId());
driver.executeScript("mobile: selectPickerWheelValue", params);
这种方法对于选择值更加稳健。您可以在此处查看完整示例
推荐阅读
- linux - 为 X 服务器和自定义显示硬件开发 linux 驱动程序
- php - 如何从php中的多维数组在自定义数组中创建组合
- javascript - laravel 切换按钮不将值发送回 db ajax
- .net - 使用 Jenkins 将 .Net 应用程序自动部署到本地计算机 IIS
- react-native - 最初不应在单选按钮中选择任何按钮
- php - Laravel Eloquent - 无法检索关系数据
- c# - 如何将图像绘制到整个矩形并且与背景无关
- javascript - JavaScript - 使用通配符 (*) 过滤
- rdbms - 为什么联合兼容条件不适用于笛卡尔积?
- jquery - AJAX JQuery GET 成功但不更新表