我正在测试一个应用程序,在大多数屏幕上,我看到有些元素具有相同的类" android.widget.TextView"索引编号相同" 0"。所有其他属性也相同,只有例外是" text"并且"绑定"。
我有" Skip"," Next"和"跳过下一个3"作为屏幕上具有除文本和边界属性之外的相同属性的文本。我需要知道如何点appium点击所需的项目..说我想点击"下一步",我该怎么做。我正在使用Python进行脚本编写。
答案 0 :(得分:2)
您可以搜索具有相同类名的所有匹配的Web元素,这将返回匹配元素的列表。然后循环遍历找到的元素并比较它们的文本,例如:
KotlinType
答案 1 :(得分:2)
按照Chuk Ultima说的那样可行,但如果你有很多TextView,可能需要一段时间。
您可以使用:
((AndroidDriver<MobileElement>)driver).findElementByAndroidUIAutomator("new UiSelector().text(\"Next\")");
中查看更多用法
答案 2 :(得分:1)
嗯,在我的情况下,我终于使用遍历节点来解决问题,比如我创建了xpath以从特定位置获取Text(时间值),如下所示:
Time = self.driver.find_element_by_xpath('//android.widget.LinearLayout[@index=2]/android.view.ViewGroup[@index=0]/android.view.ViewGroup[@index=0]/android.view.ViewGroup[@index=0]/android.view.ViewGroup[@index=3]/android.view.ViewGroup[@index=0]/android.widget.TextView[@index=0]').get_attribute('text')
我知道这是一个繁琐的过程,但暂时这对我来说是解决方案。