详解如下语句的含义:
sys =
self
.driver.find_element_by_android_uiautomator(
'new UiScrollable(new UiSelector().scrollable(true).instance(0)).getChildByText(new UiSelector().className("android.widget.LinearLayout"), "System")'
)
self.driver
Python中默认参数self的理解:python程序中类的方法与普通的函数有一个区别:类方法需要有一个默认的self参数变量,该变量指向对象本身,这个特别的变量指对象本身类似Java中的this,表明当前对象的引用。
self代表当前对象的地址(引用)
。但是在调用该方法的时候并不为这个参数赋值Python会提供这个值。
self.driver.find_element_by_android_uiautomator()方法解析
:该方法声明通过android的uiautomator查找元素
UiScrollable()方法解析:
UiScrollable是UiCollection的子类,用于处理滚动时间,提供各种滚动方法。常用功能有:向前滚动、向后滚动、快速滚动、滚动到某个对象、设置滚动方向、设置滚动次数等
。
参考官方文档:
UiScrollable
(
https://developer.android.com/reference/android/support/test/uiautomator/UiScrollable.html#scrollForward%28int%29
)
getChildByText(UiSelector childPattern, String text, boolean allowScrollSearch)是否允许滚动获取具备UiSelector条件的元素集合后再以文本条件查找对象
UiSelector()方法解析:
该方法指定对目标测试的布局层次结构中的元素,由文本值、内容描述、类名和状态信息等属性进行筛选。还可以通过布局层次结构中的位置对元素进行目标定位。
该方法定义了uiautomator查找元素的方式
,常用的元素定位方式如下:
resourceId 方式
driver.find_element_by_android_uiautomator
(
'new UiSelector().resourceId("
%
s")'