node.js - 在 selenium-webdriver 和 appium 中通过可访问性标签选择元素的有效方法是什么?

标签 node.js selenium react-native appium

我刚刚开始使用我的 native react 应用程序进行自动端到端测试,包括 ios 和 android,上下文是 nodejs。客户端是 selenium-webdriver,它连接到 appium 服务器。

根据多个来源,在 React Native 中定位元素的最佳方法是向 View 提供 accessibilityLabel。但是,在 selenium-webdriver 中,没有这样的函数:

driver.find_elements_by_accessibility_id('some id')

目前我正在使用一种解决方法:

driver.findElement(By.xpath('//*[@accessibilityLabel="some label"]'))

由于是遍历所有元素的所有属性,不难想象其效率之低。有什么更好的方法?

P.S. 我选择 selenweb driveriver 作为客户端,因为它也用于测试我们的网络应用程序,所以我不需要经历另一个学习曲线。但如果需要,我很乐意切换到另一个客户端。

最佳答案

你可以像这样使用普通的 selenium webdriver 来做到这一点:

driver.find_element("accessibility id", "some id")

这基本上就是 appium 客户端中的所有辅助方法在幕后所做的事情。除了 Appium,它甚至可以直接与 WinAppDriver 一起工作。

关于node.js - 在 selenium-webdriver 和 appium 中通过可访问性标签选择元素的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48636086/

相关文章:

node.js - 如果不是本地主机,则无法让浏览器连接到nodejs WS服务器

node.js - 误差k是来自 Angular 还是 Electron ?

java - 如何从元素 : after it's in a div with Selenium? 获取内容

reactjs - 如何使用 redux 和 react-native 打开模式

javascript - 如何将变量从 Jade 模板文件传递到脚本文件?

java - 当尝试在 Selenium 中使用 POM 自动化论坛时,我遇到了 java.lang.NoClassDefFoundError...我该如何解决这个问题?

python - 如何编码这个

react-native - StackNavigator 颜色在 'back mode' 时发生变化

android - 启动 React Native 命令行界面

javascript - 异步函数是否仅用于 IO 阻塞操作?