Robotium 学习-长新整理,金阳光审阅.doc_第1页
Robotium 学习-长新整理,金阳光审阅.doc_第2页
Robotium 学习-长新整理,金阳光审阅.doc_第3页
Robotium 学习-长新整理,金阳光审阅.doc_第4页
Robotium 学习-长新整理,金阳光审阅.doc_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 Robotium 简介Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长 按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测 试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium 对Activity,Dialog,Toast,Menu 都是支持的。 Robotium 核心类是Solo 通过Solo 类可以对控件进行各种操作Robotium 官网:/Robotium 中文官网/2 环境搭建安装并配置JAVA_HOME下载JDK1.7 并安装,安装过程中全用默认安装即可JDK 环境配置点击我的电脑-属性-高级-环境变量:新建环境变量如果是默认安装就是上面这个路径,需要依据实际路填写 确定保存退出 JDK 配置验证开始-运行-输入CMD在命令提示符下输入java version确认版本与你安装的版本是否相同下载ADT 工具包并配置Android 环境在百度输adt-bundle-windows-x86-20130917选红色框下载下载解压缩之后就可以配置Android 了点击我的电脑-属性-高级-环境变量- 系统变量(新建) ANDROID_HOME=XX盘符: adt-bundle-windows-x86-20130917sdkANDROID_SDK_HOME= XX盘符: adt-bundle-windows-x86-20130917sdkANDROID_AVD_HOME= XX盘符: adt-bundle-windows-x86-20130917sdk选择系统变量中 path 编辑 % ANDROID_HOME %TOOLS;% ANDROID_HOME %platform-tools确定退出 ANDROID 环境配置确认在开始-运行-输入CMD在命令提示符下输入ECHO % ANDROID_HOME %ECHO % ANDROID_SDK_HOME %ECHO % ANDROID_AVD_HOME %ECHO %PATH%确认相关信息与此前配置的完全相同,若不相同重启之后在确认一次,部分机器重启才能生效以下是我电脑是配置之后的显示的结果,注意(我电脑用的是20130219 版的ADK) 3 相关工具的准备 下载Robotium.jar 如果需要操作Excel 要下载jxl 如果需要操作Oracle 要下载Oracle 对应的驱动包 官网演示APK(记事本APK) 下载配置Host 以便能访问GOOG方式1: 打开站长工具网站/选择其它工具超级ping在输入框输:检测站点只选 海外就行了点查询查询结果如下我们一般选择响应时间快的加入到host文件中打开C:WINDOWSsystem32driversetchost按以下格式填写Ip 域名另外还有一种方式将/kb/2_122.html 中的所有信息全加到HOST SDK 更新配置运行Android 工具中的SDK Manager.exe 点击Tool-Options在Use download cache 打V醒置完之后就可以启用更新了选择你想要的API 版本就可以更新了,注意该更新时间很长,有时需要一天,中间不要关机4:模拟器创建启动Eclipse首次启动时会询问Workspse 路径此时选择一个你自定义的一个路径就可以了选择Windows-Android Virtual Device Manager-点新建之后出现如下画面,注意在Device 最好不要选择Nexus 开头的如果选择的话最终会出现新增的模拟器右边没的其它按键不易使用AND名称一定要记住,后续用命令启动措拟器时需要用到,另外为了后续测试此处SD CARD 最好配置一点空间确定之后界面像这样你仍可以选中重新编辑模拟器启动方式:Eclipse 中用AVD管理器启动在上面界面点Start启动之后模拟器界面模拟器启动方式命令提示符下启动开始-运行-输CMDEmulator 模拟器名称用命令提示符启动之后画面就是像上面那样,注意启动之后命令提示符的那个界面不能关掉,一旦关掉模拟器也会关掉的5重签名工具的使用方式:基于UI 层级的操作下载re-sign.jar双击re-sign.jar将需要重签名的APK 拖动到工具内签名之后系统会弹出信息此里需要记录相关信息第一栏是APK 的包名第二栏是主Activity 名也就是你启动第一个画面相应的类名签名方式基于脚本方式全自动运行的将需要重签名的apk 与重签名工具放在同一个目录下双击重签名.bat签名之后会在当前目录下新增一个目录进入新增的目录即会看到一个重签名OK 的apk 文件6 APK 的安装与卸载测试过程中均是采用adb 与机器交互,此处安装也用adb 进行安装与卸载adb install apk 路径Apk 路径可以在 输入adb instll 之后选择要安装的APK 拖入到命令提示符即可假如安装过程中出现如下信息有可能是签名有问题,可以重新签名一次将重签名工具和要签名的APK 一起放到androidsdk.android 目录下再运行一次重签名工具签名完再安装以下画面显示最后一次安装成功了安装成功之后如下所示安装过程中还可能出现如下所示异常信息找不到模拟器(一种是根本没有启动模拟器另一种是模拟器启动了但仍找不到,此时有可能是 其它手机管家软件占用了5037 端口,需要杀掉其它软件进程之后再执行以下命令(专门针对模拟器已启动,但adb devices 找不到备的处理方式)Adb kill-serverAdb start-serverAdb devices确认是否能找到设备在模拟器的APP 栏即可找到对应的APP 了点击模拟器的红色框框处出现如下画面左滑即可找到你新装的APKAPK 卸载卸载之前需要先获取对应包名可以按如下方法获取到包名:adb shell: cd /data/data: ls 在清单中找到与你apk 相同的名字并记录下来退出adb 命令用Exit卸载Adb uninstall com.xxxxxxx.xxxx 假如要卸载计算器程序Adb uninstall com.android,calculator2 7正式使用RobotiumRobotium 提供两种工作方式(一种有源代码的测试,一种没有源代码的测试)没有源代码的需要重新签名方式1 有源码的测试有源代码的测试(此处以官网记事本apk 为例)打开Eclipse 导入官网记事本apk 工程File-importGeneral-Existing Projects Into WorkSpace选择源工程存放路径点完成删除原始APK重新编译生成新的APKProject-Clena选中需要重新编译的APK 点OK选择工程点Run as-Android Application 运行之后会在BIN 目录重新生成一个APK正式进入测试工程File-Project选择Android-Android Test Project按红色框框选择选择APK 运行的版本,模拟器创建时用什么版本,此处就选什么版本我的机器因为只有所以我选用的是API点完成在测试工程目录下新建Lib 目录复制Robotium,jar jxl.jar ojdbc.jar 到Lib 目录下选中三个jar 包导入到工程导入之后确认界面其它配置选择测试工程-Build Path-Configure Build Path一定要在Order And Export 中将新加入的jar 包打 V 不然在测试过程中会报Solo 异常点击测试工程,确认以下两个属性配置是否正确1:Android 的版本信息2: 字体格式-UTF-8 3:签名文件在测试工程中的SRC 目录下新建一个包Src-new-package包名:com.robotium.test将Notepad.java copy 到comrobotiumtest 目录下修改AndroidManifest.xmlAndroidManifest.xml 一定要按以下连线的方式配置,很多初学者会出错配置完就可以用启动测试工程了Run as -Android Junit Test (注意这里需要选 Junit)如果首次运行AndroidManifest.xml出现错误提示时只需要在Eclipase 中执行清空工程即可如果一切顺利的话画面就是这样的针对上面这个测试类中的部分方法稍作解释方式2 (无源码的测试,自学的同仁主要是以这种方式为多,拿不到工程源代码)先按上面APK 所述对APK 重签名并将APK 安装到手机新建测试工程没有源码的就需要选择This Project 点完成获取安装包名与Activity 方式 方式一如上面重签名所述用RE-SIGN.JAR 获取 另外一种方式用命令方获取Aapt dump badging xxxx.apk第一个框为包名第二个框为主Activity 名如果取包名与Activity 在命令行中不方例还可以用以下方式获取Aapt dump badging xxxx.apk c:apk.txt之后打开c:apk.txt 修改测试工程中的AndroidManifest.xml在com.ganji.test 包名下新建一个测试类最基本的一个测试类应按如下格式编写首先必须继承ActivityInstrumentationTestCase2其次Activity 必须与被测应用Activity 相同第三就是必须有一个 setUp tearDown 方法第四所有正式的测试方法必须以test 开头在测试工程新建Lib 目录 并复制相应jar 包到lib 目录下导入jar 到工程在Order and Export 中选中新加入的jar 并打 V由于Robotium 定位是基于控件的,如果要对控件进行操作必须先找到元素的定位方式8 控件定位方式元素获取可以Androidtools 目录下的hierarchyviewer.bat 在模拟器中启动被测APP双击hierarchyviewer.bat 先选中高亮的部分-再点Load View Hierachy加载之后画面会是这样9.脚本编写用例1:选择人才简因库 - - 返回测试代码用例2 依次点击首页下方五个按键(此处采用遍历的方式进行)10 常用控件使用举例11 Solo 源码解释APP 本身的元素定位及操作源码下面以点击操作为例首先在Solo 类中找到以下方法(点击按键操作)public void clickOnButton(String text) clicker.clickOn(Button.class, text);接下来我们看下clicker 类网页元素定位定位及操作源码 (网页部分元素定位底层主要是采用JS 注入定位)首先我们在Solo 类中找到以下方法public void clickOnWebElement(By by, int match)clicker.clickOnWebElement(by, match, true);在clicker 类中调用了ClickOnWebElement 方法这个方法获取控件时又调用了waiter 中的waitForwebElement 方法waitForwebElement 方法又调用了searcher.searchForWebElement 12 Log 信息记录与查看在这里采用Android.Util.log Log记录编写格式:其中TEST 字符可以自已任意定义Log.i(TEST, 显示的信息);Log.v(TEST, 显示的信息);Log.e(TEST, 显示的信息);Log.d(TEST, 显示的信息);Log 打印输出在命令提示符下输入chcp 65001 (让命令提示符下支持显示中文字符);输入adb shell logcat s TEST 即可看到log 信息13常用方法二次封装14 WAP 抓包工具的使用WAP 网页元素的获取(在不清楚应用主机时需要用抓包工具获取主机地址)此处采用Fiddle 抓包软件1: 下载并安装Fiddle (全采用默认安装即可)2: Fiddler 开启远程连接。Fiddler 主菜单 Tools - Fiddler Options- Connections页签,选中Allow remote computers to connect。3:重启Fidler(这一步很重要,必须做)。4:获取PC的IP地址:在开始-运行 输入CMD 在命令提示符下输入ipconfig 记录自已电脑的IP 地址,在手机端设置是会用到设置手机代理:需要手机和安装 Fiddler 电脑在同一WIFI下,手机连接到WIFI。打开手机的WIFI设置界面,选中连接的WIFI,长按,弹出如下界面,选择“修改网络”。代理验证在命令提示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论