三、脚本参数初始化

set appName=TestAndroid.apk                ::被测程序名称

set pkgName=com.example.testandroid  ::被测程序包名

set openName=com.example.testandroid.MainActivity ::被测试程序主activity

set "times=%1"   ::测试次数,脚本传入参数

xcopy blat.exe C:\Windows\System32\  /Y  ::将邮件工具复制到系统文件夹下,需关闭360卫士

四、循环执行安装打开关闭卸载

echo 测试开始>source.txt  ::创建一个source文件记录日志

for /l %%a in (1,1,%times%) do (

adb install TestAndroid.apk   ::安装apk

adb shell am start -W -n %pkgName%/%openName%  ::打开apk

call cmd /c close.bat %pkgName%   ::关闭apk

adb uninstall %pkgName%    ::卸载apk

adb logcat -d |findstr "^D/k.*}\>"  ::过滤logcat,获取需要的内容

adb logcat -c     ::清除logcat日志

taskkill /f /im adb.exe)>>source.txt  ::结束adb进程,防止占用source文件

::每次操作日志都记录在source中

五、处理source.txt提取关键信息,并发送邮件

start javaw -jar FileHandler.jar  ::调用处理日志的jar,这部分需要根据不同apk自己调整,若不需要可以删掉

ping -n 10 127.0.0.1>nul

::以下为发送邮件的工具blat,详情见http://blog.csdn.net/qiming_zhang/article/details/6065824

set from=**@163.com

set user=**

set pass=**

set to=**@**

set subj=apk安装卸载测试结果

set mail=result.txt

set attach=source.txt

set server=smtp.163.com

blat -install %server% %from% 3 25

blat %mail% -to %to% -base64 -charset Gb2312 -subject %subj%  -attacht %attach% -server %server% -f %

from% -u %user% -pw %pass%

六、设置windows定时任务,参数填写为测试次数

经过以上步骤,安装卸载测试已经完成,接下来讲解如何用adb命令进行UI自动化测试

一、打开应用,记录按钮或text在手机屏幕坐标点

1、在android 4.0以上版本中,可以实时显示手机屏幕坐标点

2、点击设置-应用程序-开发人员工具-指针位置

3、打开应用程序,获取按钮的坐标位置,如图坐标为(138.168)

二、脚本模拟屏幕点击事件

adb shell sendevent /dev/input/event0 3 0 138      ::X坐标

adb shell sendevent /dev/input/event0 3 1 168      ::Y坐标

adb shell sendevent /dev/input/event0 1 330 1      ::按下

adb shell sendevent /dev/input/event0 0 0 0

adb shell sendevent /dev/input/event0 1 330 0      ::离开

adb shell sendevent /dev/input/event0 0 0 0

这样就模拟了屏幕点击的事件,若要测试长按,设置等待时间

三、脚本模拟键盘事件

如图,在text中输入数字134

脚本模拟键盘事件

adb shell input keyevent 8

adb shell input keyevent 10

adb shell input keyevent 11

这样adb模拟的UI自动化脚本就可以写好了,这种写法的好处在于快捷轻便,适合简单逻辑的自动化。

结语:以上就是需求实现的全过程,当然此方法也可以用再ubuntu、mac之类的Unix系统中,只需将相应的批处理语言改成shell语言即可。

22/2<12

实现android应用程序自动化测试的批处理脚本,批处理脚本实现android应用程序自动化测试...相关推荐

  1. android课堂小测试,[小薇班]APPIUM自动化测试 优酷APP测试脚本编写实例

    本课程主要包含: Appium入门基础 以优酷APP为例,介绍如何编写自动化脚本. Appium概述 appium 是一个自动化测试开源工具,支持 iOS, Android, Windows, Fir ...

  2. 【Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置 | 编码解码配置 | 交叉编译配置 | 最终脚本 )

    文章目录 一.FFMPEG 源码下载 解压 二.交叉编译工具 三.configure 脚本及帮助命令 四.配置 configure 脚本 五.输出目录配置 六.函数库配置 七.程序配置选项 八.组件配 ...

  3. android执行lua脚本的方法,从Android应用程序调用Lua脚本

    Michal Kottm.. 7 您可能想看看我的示例项目AndroLua.它包含一个使用Android NDK直接嵌入到Android应用程序中的Lua解释器.只需进行非常小的更改即可成功将其嵌入到 ...

  4. 从写下第1个脚本到年薪30W,我的自动化测试心路历程

    我希望我的故事能够激励现在的软件测试人,尤其是还坚持在做"点点点"的测试人. 你可能会有疑问:"我也能做到这一点的可能性有多大?"因此,我会尽量把自己做决定和思 ...

  5. Android自动化测试之MonkeyRunner MonkeyDevice MonkeyImage API使用详解 脚本编写 脚本录制回放

    MonkeyRunner 系列文章 MonkeyRunner简介 MonkeyRunner 三大模块 MonkeyRunner API MonkeyDevice API MonkeyImage API ...

  6. Android自动化测试之Monkey命令使用及monkey脚本编写

    系列文章 Android自动化测试环境部署及adb sdkmanager avdmanager Monitor DDMS工具使用及命令详解 Android自动化测试之Monkey使用及monkey脚本 ...

  7. windows 下执行mysql脚本_Windows下批处理执行MySQL脚本文件

    一. @echo off Setlocal enabledelayedexpansion ::CODER BY Mark_Li POWERD BY iBAT 1.6 cd "C:\Progr ...

  8. java 调用casperjs_Java程序去调用并执行shell脚本及问题总结(推荐)

    摘要: 该文章来自阿里巴巴技术协会(ATA)精选集 背景 我们在开发过程中,大部分是java开发, 而在文本处理过程中,主要就是脚本进行开发. java开发的特点就是我们可以很早地进行TDDL, ME ...

  9. android应用程序永久获取root权限方法,怎么使Android应用程序获得root权限

    一般来说, Android 下的应用程序可以逗直接地得到的最大的权限为 system ,但是如果我们需要在程序中执行某些需要 root 权限的命令,如 ifconfig 等,就需要 root 权限了. ...

最新文章

  1. MPB:中科院城环所杨军组-​​淡水浮游细菌群落采集、过滤与保存
  2. 8张图让你一步步看清 async/await 和 promise 的执行顺序
  3. 盛大手机先圈地后挣钱:云+端变现能力仍未清晰
  4. python观察日志(part11)--管道及MD5文件比较
  5. tensorflow 模型小型化_模型小型化
  6. 从单纯聊天到在线生活
  7. 初学者应该怎么学习前端?web前端的学习路线大剖析
  8. 定制控件消息处理函数
  9. 树莓派3B 开启串口
  10. 别再用PS啦!用Excel轻松实现更换证件照背景颜色!
  11. css盒模型(标准模式和怪异模式)
  12. motd 自定义欢迎界面
  13. 2022-2028年全球与中国低速电动汽车行业发展趋势及投资战略分析
  14. 智慧城市,以人为本的新世界
  15. 电力:发电公司如何构建自己的数据仓库
  16. 成功没有偶然·李嘉诚 之读书笔记
  17. Unity Shader学习:Dissolve消融效果
  18. 25Hz相敏轨道电路调整方法
  19. 腾讯出品:6.4亿短视频用户的狂欢洞察报告
  20. 计算机专业术语拜年祝福语,最时髦的拜年祝福语都在这了!总有一款适合你

热门文章

  1. 如何从完整的文件路径中分离文件名和路径名?
  2. 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数
  3. pythonlinux加入自己写的模块_利用ngx_python模块嵌入到Python脚本
  4. 折半查找一个有序数组中的一个元素,即二分法
  5. C语言结构-演员请就位
  6. Java黑皮书课后题第10章:10.24(实现Character类)在Java库中提供了Character类,给出你自己对这个类的实现(将新类命名为MyCharacter)
  7. 剑指offer-跳台阶
  8. Python3学习笔记(2)——递归函数
  9. exists改写SQL,使其走正确的执行计划
  10. Knockoutjs 实践入门 (2) 绑定事件