如何通过Appium / WebdriverIO更改iOS滑块值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过Appium / WebdriverIO更改iOS滑块值相关的知识,希望对你有一定的参考价值。
我正在使用Appium和WebdriverIO测试我的React Native应用程序。难以更改滑块值。
通常在XCUITest中,我可以使用以下代码轻松实现这一点:
app.sliders["slider-red"].adjust(toNormalizedSliderPosition: 0)
如何在Appium / WebdriverIO中执行等效操作?我读过某个地方,应该打电话给sendKeys()。我尝试了以下方法:
$('~slider-red').sendKeys(['0']);
但是它给了我以下错误:
无效的元素状态:错误Domain = com.facebook.WebDriverAgent代码= 1“必须存在屏幕键盘才能发送键”
似乎sendKeys用于输入字段,而不用于滑块!
答案
您可以尝试使用Appium为运行非W3C标准命令而提供的移动手势。在您的情况下,它是mobile: selectPickerWheelValue
命令,更多详细信息here:
const elementId = $(pickerwheel_locator).value.ELEMENT
browser.execute('mobile: selectPickerWheelValue',
'order': 'next',
'offset': 0.15,
'element': elemId
);
据我所知,它的工作原理是这样的>>
以上是关于如何通过Appium / WebdriverIO更改iOS滑块值的主要内容,如果未能解决你的问题,请参考以下文章
在不使用 adb 的情况下使用 Appium 和 Webdriverio aka wdio 获取您的应用程序的许可
使用 Appium 进行测试时,Webview 上下文不再显示
WebdriverIO - 在 Android 和 iOS 上并行运行相同的代码