Android暴力测试工具,了解Android测试工具

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

总结下日常用到的Android软件测试工具 包括白盒和黑盒的

一个包含创建测试、执行自动化测试的工具

Android SDK Tools:API 21 版本或者21以上版本;

Android SDK Platform:API 16 版本或者16以上版本

查看ui控件位置的二进制文件在sdk/tools/bin/uiautomatorviewer 双击即可打开 windows的话会是bat文件吧

通过该二进制文件找到控件的id后 可以创建对应的UiObject 然后操控控件的点击 拖拽 滚动等功能 如下代码1

2

3

4

5

6

7

8

9

10UiSelector = new UiSelector().resourceId("com.tencent.mobileqq:id/conversation_head");

// 通过UiSelector 对象 创建出 UiObject 对象

UiObject switcher = new UiObject(uiSelector );

// 判断该控件是否存在

if (switcher.exists())

{

//点击该控件

switcher.click();

}

java的实现方式 需要继承UiAutomatorTestCase类 该类在uiautomator.jar中包含 生成build.xml后用ant工具进行编译最后生成一个 工程名.jar包 推到设备 /data/local/tmp 目录下 在adb shell 中执行: uiautomator runtest 工程名.jar -c 包名.类名 该方式每次改动后都需要编译和生成jar包 稍微麻烦 但是可以直接在设备下运行 如一些微信抢红包的小工具就可以通过这种方式实现 下面介绍python的方式来实现

python的实现方式 先通过pip安装uiautomator库 pip install uiautomator 然后就可以创建py文件写测试代码啦 最后将py文件加上执行权限 直接终端运行python3 xxx.py 即可 代码如下1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26from uiautomator import device as d

#几种方式创建Device

#d = Device('014E05DE0F02000E')

#d = Device('014E05DE0F02000E', adb_server_host='192.168.1.68', adb_server_port=5037)

d = Device()

#屏幕点亮

d.screen.on()

d(text="Clock").click()

# press home key

d.press.home()

# press back key

d.press.back()

# click (x, y) on screen

d.click(x, y)

# long click (x, y) on screen

d.long_click(x, y)

# swipe from (sx, sy) to (ex, ey)

d.swipe(sx, sy, ex, ey)

# drag from (sx, sy) to (ex, ey)

d.drag(sx, sy, ex, ey)

# take screenshot and save to local file "home.png", can not work until Android 4.2.

d.screenshot("home.png")

# wait for current window to idle

d.wait.idle()

# wait until window update event occurs

d.wait.update()

python版本的uiautomator的来自于民间作者xiaocong做的wrapper 下面贴一下他的github项目地址

https://github.com/xiaocong/uiautomator

更多api可以在他的项目下找到

2.Monkey

使用方式很简单1

2

3

4

5

6

7

8

9

10

11

12

13// -vvv表示级别为详细 数字400表示运行的次数 --pct-touch表示点击事件占百分之50 -s 表示seed为1234 想重现使用同样的seed即可 最后执行结果保存到本地txt文件

adb shell monkey -vvv -p com.tencent.mobileqq 400 --pct-touch 50 -s 1234 > ~/monkey.txt

更多扩展

--pct-appswitch 在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法

--pct-anyevent 它包含了所有其它类型的事件,如:按键、其它不常用的设备按钮等等

--throttle 用于指定用户操作(即事件)间的时延,单位是毫秒

--ignore-crashes 忽略crash

--ignore-timeouts 忽略anr

--ignore-security-exceptions 忽略许可认证

-help 更多指令 参考help引导

最后搜索日志 一般搜索以下关键字即可 anr crash die exception

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值