【发布时间】:2020-07-09 14:57:02
【问题描述】:
我正在使用 Appium 和 WebdriverIO 测试我的 React Native 应用程序。难以更改滑块值。
通常在 XCUITest 中,我可以使用以下代码轻松实现此目的:
app.sliders["slider-red"].adjust(toNormalizedSliderPosition: 0)
如何在 Appium/WebdriverIO 中做等价的?我在某处读到我应该调用 sendKeys()。我尝试了以下方法:
$('~slider-red').sendKeys(['0']);
但它给了我以下错误:
元素状态无效:Error Domain=com.facebook.WebDriverAgent Code=1“屏幕键盘必须存在才能发送密钥”
看起来 sendKeys 是用于输入字段,而不是用于滑块!
【问题讨论】:
-
你试过setvalue吗? gitter.im/webdriverio/webdriverio/archives/2018/07/02
-
您可能还想尝试其他选项。 github.com/webdriverio/webdriverio/issues/213
-
browser.setValue('~slider-red', 0);给出此错误:TypeError: browser.setValue is not a function- 可能是因为我不在浏览器上下文中,我正在尝试测试原生 iOS 小部件。 -
另一种解决方案看起来像是纯粹的浏览器。无论如何,我尝试了它的第一步 -
browser.moveTo(100, 100);,它再次给了我一个错误:TypeError: browser.moveTo is not a function。我什至在浏览器上下文中尝试了这个语句,它仍然给我同样的错误!想知道我使用的样板是否不允许这样做:appium-boilerplate
标签: ios react-native appium webdriver-io xcuitest