UiAutomator——常用类说明

UiAutomator对外提供UiAutomatorTestCaseUiDeviceUiSelectorUiObjectUiCollectionUiScrollable等类,其作用如下:

l  UiAutomatorTestCase :继承自Junit TestCase Junit),对外提供setupteardown等,以便初始化用例、清除环境等。

l  UiDevice:此类主要包含了获取设备状态信息,和模拟用户至于设备的操作两类APIUiSelector,主要是通过一定查询方式,定位到所要操作的UI元素。

l  UiObjectUiObject可代表页面的任意元素,它的各种属性定位通常通过UiSelector来完成。

l  UiCollectionUiCollection一般与UiSelector连用,如它的构造函数也要求提供Uiselector: UiCollection(UiSelector selector)。它的API较少,主要用以从Uiselector筛选出的元素集中挑出所要的元素:getChildByDescription(), getChildByInstance(), getChildByText() ,以及统计元素集的个数getChildCount()

l  UiScrollableUiScrollable 用来表示可以滑动的界面元素,其继承关系为UiObject -> UiCollection ->UiScrollable

UiAutomator的实现方式与HierachyView+Monkey有很大不一样。以控件点击操作为例,其实现流程大致如下:

定义一个点击对象Object,该对象则通过UiSelector对象定位到具体的控件。而UiSelector则通过UiAutomatorBridge(它可看做是UiSelectorAccesibilityService之间的连接器),将查询内容(AccessibilityNodeInfo)和输入事件(AccessibilityEvent)传给AccessibilityService。实际业务过程比这复杂的多。这样,就实现了对某个控件的查找或点击操作。备注:AccessibilityEvent,所有可操纵的UI元素都定义为一个AccessibilityEeventtAccessibilityNodeInfo指视窗中的组件树节点。    

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uiautomator2是一款用于Android设备自动化测试的工具,支持Python、Java和Golang语言,可以用于UI自动化测试、性能测试、Monkey测试等场景。下面是使用uiautomator2的简单说明: 1. 安装uiautomator2 可以通过pip安装uiautomator2: ``` pip install uiautomator2 ``` 或者从GitHub上下载源码安装: ``` git clone https://github.com/openatx/uiautomator2.git cd uiautomator2 python setup.py install ``` 2. 连接设备 在使用uiautomator2之前,需要先连接Android设备,可以通过USB连接或者WiFi连接。如果是通过USB连接,需要先打开USB调试模式。如果是WiFi连接,需要先在设备上安装ATX-Agent应用,并打开ATX-Agent应用的WiFi调试功能。 连接设备的代码如下: ```python import uiautomator2 as u2 # USB连接 device = u2.connect() # WiFi连接 device = u2.connect_wifi('设备IP地址') ``` 3. 查找元素 可以通过uiautomator2提供的方法查找元素,例如: ```python # 通过text属性查找元素 element = device(text='文本内容') # 通过resource-id属性查找元素 element = device(resourceId='元素ID') # 通过XPath表达式查找元素 element = device.xpath('//元素的XPath表达式') ``` 4. 操作元素 可以通过uiautomator2提供的方法操作元素,例如: ```python # 点击元素 element.click() # 输入文本 element.set_text('要输入的文本') # 获取元素的文本 text = element.get_text() ``` 5. 截图 可以通过uiautomator2提供的方法截取设备屏幕的截图,例如: ```python # 截取整个屏幕的截图 screenshot = device.screenshot() # 截取指定区域的截图 screenshot = device.screenshot(region=(x1, y1, x2, y2)) ``` 6. 其他功能 uiautomator2还提供了其他一些功能,例如: - 模拟按键事件 - 获取设备信息 - 执行Shell命令 - 启动应用 - 安装和卸载应用 具体使用方法可以参考官方文档:https://github.com/openatx/uiautomator2。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值