Android自动化测试应用<二>《uiautomator 工具的安装

作者:编程技术

事情发生前一贯使用python操作adb来支配手提式无线话机,采取tcp格局链接,常常倒还不错,但Computer重启什么的,手动链接手提式有线电话机真是意气风发件痛楚的事,小编想问一下,python还也有啥库能操作android

我们将通过 python 语言  操作 的 uiautomator  模块 举行安卓手提式有线电话机控件的操作

它会使测量检验在碰着crash的意况是,不活动截止,而是继续实行完钦命数量的测量试验,然则依然会照常打字与印刷log

链接: 密码:012i

重新钦赐操作测验
运用monkey scipt脚本。。。。前边在写啊。。。。╮(╯▽╰卡塔尔(英语:State of Qatar)╭

附上github链接  通过github查看API使用 俄文本事十分的能够用Google浏览器右键翻译(比方作者~)

参数:  --pct-{ 事件类别}{ 事件类别百分比}

用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)


--pct-touch { 百分比}

调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)

--pct-motion { 百分比}

调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)adb shell monkey -p

--pct-trackball { 百分比}

调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)

--pct-nav { 百分比}

调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)

--pct-majornav { 百分比}

调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)

--pct-syskeys { 百分比}

调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)

--pct-appswitch { 百分比}

调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法

--pct-anyevent { 百分比}

调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等

--pct -anyevent 100 1000* 指定多个类型事件的百分比:

from uiautomator import device as d

美高梅4858官方网站 1

python推荐版本 3.6.4  自行百度设置 并配置python意况变量与pip 蒙受变量

第一次压力测试的时候
adb shell monkey -p 应用包名 -s 120 1000
执行编号为120的1000次随机事件测试

这时候你发现出了问题了,想重现
同样再执行一遍这组随机事件就行了
adb shell monkey -p 应用包名 -s 120 1000

接下去大家将介绍《uiautomator 工具的装置与运用》

您以后手提式有线电话机的体现分界面正是挂钟app的首页,
里面cmp前面随着的正是挂钟这些动用的包名
从后边也足以看出来自笔者用的是OPPO手提式有线电电话机。
嘿嘿嘿~~~~

跻身正题

命令行输入
adb shell monkey -p 应用包名 测试的事件数

在纠缠了要命可怜可怜十分久以往

中标链接手提式有线电电话机

安装 uiautomator  模块

adb shell monkey -p com.android.alarmclock --pct-touch 100 1000

表示100%执行触摸点击测试1000次随机事件

你也可以将测试的事件打印出来
adb shell monkey -v -p com.android.alarmclock --pct-touch 100 1000

-v表示将测试的事件打印出来

 输入 pip [setup.py的绝对路径] install,如下图

Paste_Image.png

打开cmd 输入python  再输入

静心:各事件类型的比重总量不可能抢先百分之百;

算是是下定狠心  入坑python 依旧舍不得笔者大JAVA 然而 作为一个开采者 一门编制程序语言是力不能及满意大家的,何况大家最少要学会一门脚本语言,那是着力中的基本(现学现卖卡塔尔国.

--ignore-timeouts

还没报错!安装成功!

收获到了想测量检验的运用的包名之后就可以给钦赐应用做压力测量试验了:

下载后将文件解压至磁盘   张开解压目录 按住shift键 鼠标右键 张开命令提醒符

事件也都为touch点击事件

美高梅4858官方网站 2

上航海用教室为压力测量检验结果,可以看看,小编的测量检验事件是1000个,injected展现的结果也是实践了1000次测量试验,表明,每二次都因而了并没反常

美高梅4858官方网站 3

写到这里开掘了阿标的博客:关于制订测量检验事件写的可比详细,直接copy过来,嘿嘿嘿~~~~

在上篇作品中,大家做到了微微电脑的情况变量以致uiautomatorviewer工具的安装,并符合规律使用.uiautomatorviewer工具用来博取显示器中的控件并扩充利用

python 下载地址:
https://www.python.org

monkey压力测量试验还或然有叁个十分实用的功能

事件百分比

具备指令都有不错回答的时候证实情形变量配置成功,就足以接下去的下压力测量检验了

adb shell monkey -p 应用包名 -s 自定义数字 事件数

在最顶上部分能够观察事件的百分比

压力测量检验结果

cmd张开命令行窗口

能够见见,要是说出了难题,也会打出来具体的失实log,相比便于

首先我们要获取手机上的应用的包名

还是命令行输入
adb logcat | grep START
意思就是说,将还有START标签的应用通过logcat打印出来

比如说我要测试一个手机自带的闹钟程序:
点开手机上的闹钟app
输入    adb logcat | grep START

抑或以时钟为例:

首先,Computer上须要配备有sdk遇到变量和python蒙受变量
机关百度情况变量配置方式

美高梅4858官方网站 4

举例:

那会儿就用到了

--ignore-crashes

Android自动化测试应用<二>《uiautomator 工具的安装与使用》美高梅4858官方网站。假如说你想在各类事件个中加点儿间隔时间的话能够用这么些命令

action事件

美高梅4858官方网站 5

假诺在测验时期,应用crash了,测量检验私下认可会结束
能够利用

自家这里就输入
adb shell monkey -p com.android.alarmclock 1000

美高梅4858官方网站 6

这句代码的野趣乃是把(事件数)个随机事件装进叁个队列中,那些行列的数码正是您自身定义的格外数字编号,如若出了难题你想再一次现身的话,钦点相像号码的任性事件队列就能够了

话十分少说,直接写步骤:

后生可畏经你不想举办如何其余的没用的操作,举例说截屏,音量大小,只是想测量试验触摸点击事件的话,也得以做到

在命令行窗口输入

adb shell monkey 1000
这个就表示模拟手机1000次随机操作:
比如说 滑动屏幕,随机点击屏幕某个坐标,音量键,截图 ====

但是如果按照这个操作一遍就会发现,没有指定某个应用啊!
对的。。。
确实没有。。。

美高梅4858官方网站 7

美高梅4858官方网站 8

再来八个出难题的情形

adb shell monkey --pct-touch 事件所占百分比

生龙活虎致,如若采用中主线程实践了耗费时间操作是,会境遇ANLacrosse至极,monkey也会私下认可终止测量检验,这是足以用

Android自动化测试应用<二>《uiautomator 工具的安装与使用》美高梅4858官方网站。下图为窗口打字与印刷的log日志

adb shell monkey --throttle<毫秒数>

接下去就内定有个别应用

美高梅4858官方网站 9

来打字与印刷错误的还要,继续施行完测量检验

    输入  python查看python环境变量是否配置成功
    输入 adb devices 查看当前链接的设备

在二弟大上装上要测得利用
开发开辟者选项中的调节和测量检验形式
链接Computer

python遭逢布署成功

因为,每一回压力测验,测量试验的具备事件都是随便产生的,如若境遇标题来讲,怎能让难点再一次现身呢?

本文由美高梅4858官方网站发布,转载请注明来源

关键词: 日记本 手机 链接 操作 想问