我刚刚开始使用我的 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/