[Android] Robotium手机自动化测试(仅需apk安装包版)——环境搭建 【转】
Robotium的手机自动化测试,很多都是利用app源代码里的Id定义来开发自动化脚本。而在我开始要为项目中的app写自动化测试脚本的时 候,开发的环境还很不稳定,app也还处于开发的状态中,而且,在需要自己搭建Android整个开发环境的时候,也遇到许多需要耗费很多时间去解决的开 发问题。因此,我觉得,在这种情况下,如果自己的自动化脚本环境能和开发完全独立,那么,应该可以更好地展开自动化脚本的开发。所以,在网上一番探索后, 选择了只需要apk安装包的方法。
当然,这样也会遇到问题,比如,在开发还没有完全结束前,app的功能会随时发生变化,而在原有基础上开发好的自动化脚本也就需要很多的 rework。但是,我希望的是,在app的功能还没有完全稳定前,可以根据现有的app,把整个自动化开发框架搭好,此后,便可以在这个框架的基础上, 很轻松地去改一些细微的功能变动部分的自动化脚本。
所以,从测试的角度上看,仅需要apk安装包的方式,主要有以下几个优点:
1. 测试人员无需在Eclipse中搭建复杂的Android开发环境(基本的Android SDK和Java环境还是必需的。)
2. 在app还没开发完全的情况下,测试人员可以根据大致的app功能,把自动化开发框架建好,以利于后期对具体功能展开自动化脚本的开发。
3. 在进行自动化测试时,即使不用到持续集成,也可以较为方便地测试迭代中的app——只需要在测试设备上(模拟机或者手机)安装最新的app即可。
下面就来介绍下,这种仅需apk安装包版的Robotium手机自动化开发环境的准备。
1. 从开发人员处获取apk安装包/或者Git等源代码控制工具中获取源代码
在我的项目中,是开发的源代码是使用MVN作为项目管理工具,所以,只需要打开命令提示符(cmd),然后进入app的源代码,敲入mvn install,即可得到apk文件
例如:
1) cd .../TestApp
2) mvn install
3) Build Success后,在TestApp目录下找到target目录,在target目录中,即可找到最新生成的apk文件。
2. Android的apk发布,需要签名。具体信息,详见:http://developer.android.com/tools/publishing/app-signing.html
为了顺利在测试设备上安装apk,我们需要对拿到的apk进行重新签名(Re-sign)。
重新签名的工具,网上很多,我使用的是re-sign.jar。
在用户目录下,会有一个.android的目录,把re-sign.jar放在该目录下。
Re-sign步骤如下:
1) 打开命令提示符:cmd
2) cd .../.android
3) 运行java -jar re-sign.jar,打开resign工具
4) 把最新的apk文件拖拽到打开的resign工具中,完成后,就会产生一个重新签名的apk文件。
Ps: resign后,会得到一个package name和main activity name,我们需要记下这两个名字,在第4步中会用到。
  
3. 在模拟机中安装重新签名后的apk文件,步骤如下:(在真机中安装与模拟机类似,具体操作,Google或者Baidu即可)
1) 打开Android SDK安装目录
2) 找到sdk下的platform-tools目录
3) 把重新签名后的apk文件放在该目录下
4) 打开命令提示符:cmd
5) cd .../sdk/platform-tools
6) 打开要安装apk的模拟机
7) 运行命令:adb install testedapp.apk。看到Success,说明apk已经安装成功了。
Ps: 在安装apk之前,确保旧版的app已经在模拟机中卸载完成。否则,执行该命令,会提示说安装失败。
4. 在eclipse中,新建一个Android Test Project,进行配置,使得自动化脚本与要测试的apk进行关联。
[Android] Robotium手机自动化测试(仅需apk安装包版)——环境搭建 【转】的更多相关文章
- Android APK安装包瘦身[转]
		
很显然,APK安装包越小越好.下面从代码,资源文件,使用策略几个方面简要介绍下: 代码 保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs. 使用proguard混淆 ...
 - 【Android Studio安装部署系列】十、Android studio打包发布apk安装包
		
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 使用Android studio发布apk安装包的操作步骤. 开始打包发布apk Build > Generate Signe ...
 - 配置Windows Server2008+iis+php+mysql所需下载安装包
		
最近一个朋友让我帮忙给配置服务器iis+php+mysq 环境,遇到了很多问题,特此就在这里说一下.小弟只是在windwos2003 和windwos XP下配置过iis+php+mysql,去朋友那 ...
 - 使用zipalign.exe工具优化APK安装包
		
zipalign.exe是Android自带的一个档案整理工具,它可以用于优化APK安装包,从而提升Android应用与系统之间的交互效率,提升应用程序的运行速度. 操作步骤: 1.在命令行窗口输入如 ...
 - 打包文件到APK安装包中
		
打包文件到APK安装包中 目的:将配置文件或SQLITE打包进APK中 1.首先,打开菜单 Project - Deployment 2.点击添加按钮,选择要添加的文件(文件最好放在工程目录中,这样, ...
 - apk安装包信息
		
String archiveFilePath="sdcard/DangDang.apk";//安装包路径 PackageManager pm = getPacka ...
 - 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)
		
菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...
 - Mac上反编译Android apk安装包
		
什么是反编译 我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译.Android的反编译分成两个部分: 一 ...
 - Android 开发基础入门篇: 生成带有签名的apk安装包
		
说明: 软件默认生成的安装包没有签名,现在手机安装APP的时候要求,安装包必须有签名才可以 默认生成的APK位置 现在生成带有签名的APK 我一般放到当前工程根目录,然后文件名字 key 有些时候需要 ...
 
随机推荐
- Fragment重叠,使用show和hide控制显示和隐藏界面重叠问题;
			
Fragment重叠原因: App因某种原因崩溃自动重启,或App长期在后台运行Fragment依赖的activity被回收等等原因:当系统内存不足,Fragment 的依附Activity 被回收的 ...
 - CF1139D Steps to One (莫比乌斯反演 期望dp)
			
\[ f[1] = 0 \] \[ f[i] = 1 + \frac{1}{m} \sum_{j = 1} ^ n f[gcd(i, j)] \ \ \ \ \ \ (i != 1) \] 然后发现后 ...
 - 初级安全入门—— WEBshell与文件上传漏洞
			
概念介绍 WebShell网页木马文件 最常见利用文件上传漏洞的方法就是上传网站木马(WebShell)文件,根据开发语言的不同又分为ASP木马.PHP木马.JSP木马等,该木马利用了脚本语言中的系统 ...
 - ORACLE和MYSQL的简单区别
			
1,Oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了.oracle要分页的话,要换成rownum. 2,oracle建表时,没有auto_increme ...
 - VMware虚拟机上配置nginx后,本机无法访问问题
			
nginx装在CentOS上,用本机访问虚拟机的时候却出现了不能访问的问题,查了资料以后,原来是防火墙的问题.具体情况如下:防火墙可以ping通虚拟机,虚拟机也可以ping通防火墙.接着检查了服务器端 ...
 - orika core工具对实体(Bean)进行深度拷贝
			
1. 在pom.xml中添加orika core依赖: <!-- https://mvnrepository.com/artifact/ma.glasnost.orika/orika-core ...
 - Faster RCNN原理分析(二):Region Proposal Networks详解
			
Faster RCNN原理分析(二):Region Proposal Networks详解 http://lib.csdn.net/article/deeplearning/61641 0814: A ...
 - 修改json文件
			
第三方库jq https://stedolan.github.io/jq/manual/ cat old_deploy.json \ | jq --arg cpu_limit $cpu_limit ' ...
 - 'git status'不显示untracked files
			
git status -uno git status --untracked-files=no
 - 32.纯 CSS 创作六边形按钮特效
			
原文地址:https://segmentfault.com/a/1190000015020964 感想:简简单单的动画特效,位置,动画. HTML代码: <nav> <ul> ...