ios - 如何通过 Appium/WebdriverIO 更改 iOS 滑块值
问题描述
我正在使用 Appium 和 WebdriverIO 测试我的 React Native 应用程序。难以更改滑块值。
通常在 XCUITest 中,我可以使用以下代码轻松实现此目的:
app.sliders["slider-red"].adjust(toNormalizedSliderPosition: 0)
如何在 Appium/WebdriverIO 中进行等效操作?我在某处读到我应该调用 sendKeys()。我尝试了以下方法:
$('~slider-red').sendKeys(['0']);
但它给了我以下错误:
无效元素状态:错误域 = com.facebook.WebDriverAgent 代码 = 1“必须存在屏幕键盘才能发送密钥”
看起来 sendKeys 是用于输入字段,而不是用于滑块!
解决方案
您可以尝试使用 Appium 为运行非 W3C 标准命令提供的移动手势。在你的情况下,它是mobile: selectPickerWheelValue
命令,更多细节在这里:
const elementId = $(pickerwheel_locator).elementId
browser.execute('mobile: selectPickerWheelValue',
{
'order': 'next',
'offset': 0.15,
'element': elemId
});
据我记得,它是这样工作的
推荐阅读
- python - 通过与过滤后的 Series 关联的时间戳获取另一个 Series 的值
- facebook - 导出搜索结果 (FB) 中出现的人员的好友列表
- java - 我的新版本 4.2.1 有一个大问题
- laravel - 如何按月分组,日期与 whereHas 条件相关
- java - 如何正确使用 Executer In Room Android
- spring - 无法更新 MongoDb Spring Boot 中的唯一字段
- r - 运行 HoltWinters 时出现意外的日期更改
- height - Pine 脚本中的 Ichimuko 云的高低
- c# - 如何使用异步发布并使用 HttpClient 等待
- plot - Pine 脚本 plotshape 未在图表上绘制