【发布时间】:2016-10-06 07:55:47
【问题描述】:
我尝试在混合应用中获取元素的文本属性。
def test_example(driver):
el = driver.find_element_by_id('com.access_company.twine.android.dmc:id/btnVideos')
print el.get_attribute("text")
所以有一个带有视频图标和文本“视频”的按钮。不幸的是,上面的代码没有打印任何东西。 所以我尝试了这个:
print el.get_attribute("resourceId")
令人惊讶的是,它有效。那么我在这里错过了什么或做错了什么?希望有人可以提供帮助。
问候
【问题讨论】:
-
您确定查询时此按钮中确实有文字吗?文本是否设置在代码的其他位置(不是在 XML 布局中)?
-
是的,我刚刚附上了 uiautomator 的截图。在那里你可以看到文本存在。我无法访问源代码,但可以询问开发人员是否使用不同的方法设置了文本。但我认为当 uiautomator 在文本字段中显示文本时这并不重要?
-
这可能是时间问题,可能是 appium 在设置之前抓取了文本。 (只是推测,在这里,我不确定appium如何抓取文本以及您的测试代码何时执行)
-
感谢您的建议。在我搜索元素之前和我找到它之后,我设置了 30 秒的睡眠时间。还是不行
标签: android python testing automation appium