Android自动化技术之自动monkey:shell脚本实现自动创建模拟器、启动模拟器、自动安装apk并进行monkey测试
来源:互联网 发布:前瞻网数据库免费账号 编辑:程序博客网 时间:2024/06/07 15:50
几个关键命令
1.查找一个已经连接上电脑的设备(当然了,手机得是开启了调试模式的状态)
firstDeviceName=`adb devices|sed -n '2p'|awk '{print $1}'`
2.如果没有找到连接的设备,则自动开启模拟器
firstExistDeviceName=`android list avd -c|sed -n '1p'`
3.启动模拟器
emulator -netdelay none -netspeed full -avd $firstExistDeviceName
4.安装的命令应该是很容易理解了
adb -s $firstDeviceName install -r $lastAPK
5.启动apk
adb -s $firstDeviceName shell am start -n "你的应用的包名/第一个activity全路径" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
6.启动monkey
adb -s $firstDeviceName shell monkey -p 你的包名 自动发生事件的次数
再看看完整代码
#! /bin/bashcd ~/Desktop/release_apkmkdir -p logecho "查找正在运行的设备"firstDeviceName=`adb devices|sed -n '2p'|awk '{print $1}'`if [ "$firstDeviceName"x = x ] ; then echo "没有发现运行中的模拟器,尝试启动或创建一个新的模拟器" firstExistDeviceName=`android list avd -c|sed -n '1p'` if [ "$firstExistDeviceName"x = x ] ; then echo "本地不存在模拟器,请创建一个模拟器(请手动执行:android avd)" exit "402" # 找到第一个可用的镜像 imageID=`android list targets | tr '\n' '@' | sed 's/-@/#/g' | tr '#' '\n' | grep -v 'no ABIs' | grep -v 'Available' | sed 's/id: \([0-9]*\).*/\1/g'|sed -n '1p'` if [ "$imageID"x = x ] ; then echo "没有找到可用设备,也无法创建模拟器,即将退出monkey测试!!!" exit 402 else # 创建模拟器 android create avd -n forMonkey -t $imageID code=$? if [ "$code" != "0" ] ; then echo "创建模拟器失败code:$code" exit $code fi firstExistDeviceName="forMonkey" fi else echo "本地存在模拟器$firstExistDeviceName" fi # 启动模拟器,在独立的进程中,将日志信息保存在launchEmulator.log,不向控制台输出 echo "启动模拟器" emulator -netdelay none -netspeed full -avd $firstExistDeviceName > log/launchEmulator.log & echo "启动模拟器中,等待30秒后再次尝试获取运行设备名称" sleep 30 firstDeviceName=`adb devices|sed -n '2p'|awk '{print $1}'` echo "再次尝试获取运行中的设备名称是:$firstDeviceName"fiecho "安装apk"lastAPK=`ls -t *.apk | sed -n '1p'`adb -s $firstDeviceName install -r $lastAPK > log/installAPK.logcode=$?if [ "$code" = "0" ]; then echo "安装apk成功" else echo "安装apk失败code:$code" exit "$code"fiecho "启动apk"adb -s $firstDeviceName shell am start -n "com.jian.test/com.jian.xxx.activities.LaunchActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHERcode=$?if [ "$code" = "0" ]; then echo "启动apk成功" else echo "启动apk失败code:$code" exit "$code"fiecho "启动monkey测试"# --ignore-crashes --ignore-timeouts --monitor-native-crashes --pct-appswitch 70adb -s $firstDeviceName shell monkey -p com.topglobaledu.uschool 500code=$?if [ "$code" = "0" ]; then echo "启动monkey成功" else echo "启动monkey失败code:$code" exit "$code"fiexit "0"
阅读全文
1 0
- Android自动化技术之自动monkey:shell脚本实现自动创建模拟器、启动模拟器、自动安装apk并进行monkey测试
- shell脚本实现自动创建模拟器、启动模拟器、自动安装apk并进行monkey测试
- Android APP压力测试 之Monkey信息自动收集脚本
- Android APP压力测试 之Monkey日志自动分析脚本
- Android自动测试之monkey测试
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- Android自动测试之Monkey工具
- TCP/IP与UDP的区别
- easyui可编辑行失去焦点后操作
- java分割字符串
- 常见的mysql数据库优化操作
- faster-rcnn遇到的问题
- Android自动化技术之自动monkey:shell脚本实现自动创建模拟器、启动模拟器、自动安装apk并进行monkey测试
- php高级实战的技术有哪些
- PAT-部分A+B
- Bootstrap clearfix 如何优雅的让row之间 隔开一点
- HTTP常见状态码(404、500)等错误
- 程序设计如何学习
- select、epoll的好文章待有时间整理一下
- zookeeper安装配置的时候zoo.cfg配置信息分成了两个文件zoo.cfg.dynamic
- 如何选择开发语言