- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
robotium入门培训(二)
Robotium入门(二) 搭建黑盒测试环境 前提知识 学习了《Robotium入门(一)》 课程目标 课程目录 资料准备 课程(一)的内容 待测apk:baidusearch_AndroidPhone_757b.apk 链接:/s/1sjFMkf7 密码:s363 re-sign.jar 链接:/s/1i3iS2S9 密码:p7ys 压缩工具(winzip/winrar/7zip等都可以) 重新签名 Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中 每个开发商(开发者)都有自己的key 开发商使用key对自己的应用进行签名 调试用的android应用,公用一个debug key Ubuntu: ~/.android/debug.keystore? Win7 :c:/user/.Android/debug.keystore; ? Xp : C:/Documents and Settings/user/.Android/debug.keystore 重新签名 在命令行工具中,进入到re-sign.jar存放的目录下 输入命令 java -jar re-sign.jar 弹出如右窗口 把 apk文件拖拽到窗口中 弹出消息框。把消息框的内容记下来。 去掉签名 新生成的apk可能无法安装。 不要问我为什么,很多人都碰到这个问题。下面继续。 把apk文件重命名为zip文件 用压缩工具打开 删除“META-INF”目录 保存zip文件,关闭压缩工具 再把zip文件重命名为apk文件 重新加签名 上一步是把apk中的签名文件删除掉。 “META-INF”目录下就是签名文件。 现在我们把apk加上debug签名。 在命令行工具中运行: jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore C:\Users\XXXXX\.android\debug.keystore -storepass android -keypass android C:\temp\resign\baidusearch_AndroidPhone.apk androiddebugkey 红色字部分在jdk7条件下加上。 蓝色字部分,需要找到本机的debug.keystore文件 绿色字部分,就是本机前一步去掉签名的apk文件 提示已签名,OK 确认已经重签名 把上一步生成的apk文件,安装到手机上。 有很多方法可以安装。adb install XXXXX.apk也可以,用豌豆荚等工具也可以。 安装到手机之后,如果用豌豆荚的“洗白白”功能,可以看到应用变成了“山寨应用”。 签名被改成了debug签名,自然就成山寨了。 测试环境搭建 1、新建测试工程: TestBaiduSearch 注意测试目标要选择“This project” 2、引入robotium的jar包。详见第一课。 测试代码编写 包 启动Activity 测试代码编写 修改配置文件:AndroidManifest.xml 必须要填写被测应用的包名 如果包名填写错误,后面测试代码运行时,会报错: ClassNotFoundException 测试代码编写 新建测试类 测试类与被测类包名相同,或者多一个test包 测试类一般以“Test”开头 测试类继承于ActivityInstrumentationTestCase2 不用泛型 测试代码编写 新建测试类 package com.baidu.searchbox.test; import android.test.ActivityInstrumentationTestCase2; import com.robotium.solo.Solo; @SuppressWarnings(rawtypes) public class TestBaiduSearch extends ActivityInstrumentationTestCase2 { private static final String LAUNCHER_ACTIVITY = com.baidu.searchbox.SplashActivity; private Solo so; @SuppressWarnings(unchecked) public TestBaiduSearch() throws ClassNotFoundException { super(Class.forName(LAUNCHER_ACTIVITY)); } } 测试代码编写 添加setUp()方法 添加tearDown()方法 写测试
文档评论(0)