我正在尝试使用Appium和python实现Android应用程序的自动化。我有一个带有列表视图的屏幕,我想创建一个函数,遍历列表并返回列表中的名称,然后将其与预期列表进行比较(字母顺序很重要)。我想把这个函数用于可能有不同长度列表的屏幕,我需要先确定列表的长度吗。在
actual_names = []
expected_names = ["Abe", "Bob", "Carl"]
for num in range(1, 4):
xpat = "//android.widget.ExpandableListView[1]/android.widget.FrameLayout[" + str(num) + "]/android.widget.RelativeLayout[1]/android.widget.TextView[1]"
text = appium_driver.find_element_by_xpath(xpat).text
actual_names.append(text)
assert expected_names == actual_names
这段代码可以工作,但只对一个屏幕和列表中的确切项目数有效。如果列表中的项数发生更改,则失败。这个很脆。我如何改进它并使它更具活力?我使用的是python3和appium1.5.3
这里的区别在于我使用
appium_driver.find_elements_by_xpath()
,它将收集所有符合给定条件的元素,并将它们作为一个列表提供给您查看。在当您想与具有相似路径的多个元素匹配时,xpath语句不应该使用索引号,所以我删除了它们。在
相关问题 更多 >
编程相关推荐