uiautomator
--龙
欲做诸佛龙象,先做众生马牛
展开
-
APP`S兼容自动化-runCase()实现-终
主要测试前面已经完成了,现在就是runCase()主体。主体数据准备:class run: def __init__(self, oldApp, callBackUrl): self.oldApp = oldApp self.callBackUrl = callBackUrl self.data = [] # 回调数据回调封装: def __callBack(self, json): time.sleep(TIME) url = self.callBackUrl原创 2020-11-18 15:16:56 · 232 阅读 · 0 评论 -
APP`S兼容自动化-广告页、引导页处理
在测试过程中发现部分APP启动过程中会出现广告业、引导页。大部分都是图片,部分是页面。无法点击跳过或开始。只能借助图片识别的能力,决定使用第三方的图片识别,返回文字及坐标的功能。如下:(每天500,完全够用)登录获取Token:def getToken(): # client_id 为官网获取的AK, client_secret 为官网获取的SK host = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_cred原创 2020-11-18 15:01:45 · 232 阅读 · 2 评论 -
APP`S兼容自动化-runCase()实现-04
本文继APP`S兼容自动化-runCase()实现-03。兼容性判断主体:原创 2020-11-18 14:47:31 · 179 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-03
本文继APP`S兼容自动化-runCase()实现-02。封装uiautomator相关方法-定义class:class uitest: def __init__(self, path, device, page): """ 通过uiautomator2进行测试 :param device: 设备地址 :param apkId: apk标识 :param runType: 文件类型:0原始文件;1加固文件原创 2020-11-18 14:26:04 · 163 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-02
本文继APP`S兼容自动化-runCase()实现-01。安装APP:def install(device, App_dir): """ 指定设备,app 进行安装 并启动 :param device: 设备 :param App_dir: apk地址 """ clear_device(device) cmd = 'adb -s ' + device + ' install -r ' + App_dir result = os.原创 2020-11-18 12:17:42 · 140 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-01
前文中已对测试服务搭建进行了说明,接下来主要是对runCase()实现做些准备工作。获取有效设备地址:(用于支持同时进行测试)def findDevice(): """ 获取有效的设备地址 :return: 列表地址列表 """ result = os.popen('adb devices') res = str(result.read()) res = res.replace("List of devices attached", "")原创 2020-11-18 12:05:32 · 270 阅读 · 0 评论 -
APP`S兼容自动化-测试服务搭建:
事件起因:业务:最近有一批APP需要进行持续的兼容性测试,估计要疯! 我:兼容性测试要求高吗? 业务:暂时不高,安装、运行、随便点点没问题就行。 我:那搞个兼容自动化测试服务吧,刚好你们有个内部系统,对接就行。 业务:来、来、来,咱们细聊。分析需求:需求:最好一次性能够测几台手机。 异常情况需要分类:无法安装,启动失败,兼容失败。思路:基础框架:flask+uiautomator2.0+logging 搞个队列:任务下发后排队处理。只管调,反正我每次只能测一个。 主动回调:原创 2020-11-18 11:42:13 · 194 阅读 · 0 评论 -
JAVA_Uiautomator小记之 环境搭建-Android
对于android环境的安装及配置前,先了解一下SDK的组成及每个模块的作用。下面我们通过SDK的目录文件的来进行了解:add-ons:该目录下存放第三方公司为Anddroid平台开发的附加功能(库)如:GoogleMaps build-tools:各个版本的与编译相关的重要工具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx docs:离线开发者文档Androi...原创 2017-12-07 14:59:09 · 863 阅读 · 0 评论 -
JAVA_uiautomator 2.0 模拟monkey性能测试 性能数据
本篇文章是继《基础工作》后,我们对性能测试过程中数据的一个获取。一改我们常用的定时获取数据的方式,我觉得要想更好的对应用进行性能测试,我们不止要知道何时性能数据会升高,还要知道什么操作会使性能数据上升,所以我将会在每次点击之后触发一次性能数据的获取,之后可以日志系统对操作进行定位。那么现在我将会获取“内存”“CPU”数据进行获取,至于流量及电量本篇文章暂时不进行说明。 一,内...原创 2018-03-19 14:40:12 · 514 阅读 · 0 评论 -
JAVA_uiautomator 2.0 模拟monkey性能测试 基础工作
本篇文章主要是用以介绍用uiautomator模拟monkey的点击事件运行机制来进行自动化的测试用例书写,为后期性能测试做基础。我们将写一个基础的case做试例。 一,模拟点击 首先我们要获取页面中可以点击的元素存在一个List中,供我们后面点击随机事件做准备,需要用到的是“By.clickable(true)” List<UiObj...原创 2018-03-16 10:24:06 · 575 阅读 · 0 评论 -
JAVA_Uiautomator小记之 UiSelector
UiSelector用于获取操作对象用于后续的操作,UiSelector 获取对象一般依具备两类,一类是控件属性,一类是控件层级关系。要想获取对象,就需要先了解一下,有哪些对象的属性可以供我们进行获取。index **为同一级别组件的编号 instance **针对的是整个页面的同一类控件的序号 text ** 文本 class** 类 package *...原创 2017-12-07 14:53:43 · 878 阅读 · 0 评论 -
JAVA_Uiautomator小记之 Uidevice
之前有对Uiautomator 有一个大致的说明,在学习过程中大家一定为API文档伤神了,我这边整理了一下共享给大家,方便自己进行了有效的记忆。 首先要归纳的是UideviceUidevice是提供关于设备的状态信息。也可以使用这个类来模拟装置上的用户的行为。 初始化Uidevice private UiDevice(Instrumentation instrume...原创 2017-12-07 14:55:42 · 547 阅读 · 0 评论 -
JAVA_Uiautomator小记之 环境搭建-JAVA
上篇文章中简单说明了一下Uiautomator 2.0相对1.0 的相关变化,及开发的准备工作。分别下载了:Android Studio+jdk环境+android SDK 下面我们来说说java 的环境安装及配置: 1.安装java: 安装过程中会提到两个路径的选中:jdk 和 jre 那么我们了解一下这分别是干嘛的? ...原创 2017-12-07 15:01:15 · 1170 阅读 · 0 评论 -
JAVA_uiautomator 2.0 模拟monkey性能测试 本地日志系统
前面的文章中基本的case及数据准备工作都已经完成了,现在我们就进行的工作:日志本地化。这里我们要进行两个数据进行本地话,一个就是操作日志,一个就是性能日志。这里我们将分别用两中文本载体记录:text+xls。这样有助于我们对性能数据的分析。 第一步:我们要建一个日志写入的方法在每次操作的时候将操作信息写入 这里我们需要考虑到两点:一个日志命名问题...原创 2018-04-11 17:56:01 · 511 阅读 · 0 评论