移动测试基础 TesterHome 新秀群成员-minmin,2014年9月 学习总结

minminlee · 2014年10月09日 · 最后由 JennyHui 回复于 2014年10月16日 · 1609 次阅读

PS:本人站内的处女贴,有点小紧张

一、Robotium 自动化测试,脚本集成
项目背景:写了一个基于 Robotium 的 android UI 自动化测试项目,该项目含有对出错情况进行截图,并调用 testutils.jar 在测试结束时自动化生成 xml 格式的测试报告等功能。因为要将 xml 格式转换成 html 格式,并在 html 页面内添加截图,故需要再用 python,调用 pyh 模块来进行格式化。
问题:由于初入门,在脚本集成的方法上并不是很了解,一开始的想法是使用 python 开线程去监听 android 真机或虚拟机内文件系统,一旦发现生成了测试报告之后,即可提取测试报告进行后续处理(后来谷歌百度之后发现实现难度灰常大)。
解决:在看了 Monkey 的书(第六章 6.1.3)后,里面有讲解到相关的一个技巧。结合项目需求终于整合设计出一个较为完善的过程。
主要思路:python 作为整个测试项目的主导。
1)python 启动后台线程,调用 os.system 运行命令启动 genymotion 模拟器
2)python 运行 adb 命令安装应用
3)调用 MonkeyRunner 进行模拟器解锁
4)Robotium 进行 UI 操作,控件验证,界面截图,xml 格式测试报告生成
5)python 调用 adb 命令从 android 端提取截图及 xml 格式测试报告
6)python 调用 pyh 模块将 xml 格式的测试报告转换成 html 格式,并加入截图查看的功能

二、通过仿照 Emmagee 的需求,自己编程实现一个类似的 android 应用工具(还在开发中)
做这个项目的目的一方面是开发出一个可用的性能测试工具,另一方面也是顺带深入学习 android 的一些知识。
目前只做了界面部分,核心的诸如获取当前运行应用的占用内存和占用 cpu 等数据获取还未实现。
通过这个项目的开发,目前初步掌握了 android 的一些基础知识,包括控件使用还有布局等。主要的参考资料都是 android 的官方 api、samples 以及网上的一些现有的代码例子等。

三、参加了广州某公司的测试工程师面试
( = =说来惭愧,国庆假期前面完了 hr,放完假之后就没有消息了。不过面试还是能学到不少东西的!)
因为目前还是个大四的学生,也是暑假才刚开始的实习,经验尚浅,想找个大一点的平台希望能学到更多东西,所以果断去面试啦。可能因为我是应届生,面试过程问的都是一些基础,包括:数据库、java 的基础知识(包括一些堆、栈、内存分配等)、设计模式、数据结构、项目经验、对测试的理解等。
技术面试的面试官很好人,会跟我讲解一些他们公司的一些基础的测试流程以及大概会用到哪些工具等,感觉我的视野又有所拓宽了哇。
面试过程还了解到一个问题就是,就算是大公司,在测试方面也是主要用的是手工测试,自动化测试能真正用到的地方还是不多。

待解决问题:webview 自动化测试方案。其实这个很严峻的问题一直未解决,可能是我实在太小白,webview 的测试到底怎样进行会比较好?尤其是在 web UI 变化较频繁的情况下。希望大神们可以给予指导!

共收到 25 条回复 时间 点赞

webview 的 webUI 变化频繁的话 就不需要在移动设备上跑,用其他平台的模拟看效果就可以了。 然后在到设备上过一遍。

赞~我还没有实践过移动方面的测试

哎~看的我好迷茫~今天看 monkey 的书~介绍到 Monkey~然后感觉要先搞个安卓项目下来先 TAT

#3 楼 @jennyhui =。=。。这句话咋看有歧义。。哈哈~~

赞一次~

#1 楼 @lihuazhang 嗯……目前主要还是在设备上手工做功能测试……但是想知道有没有能够提高效率的方法

#2 楼 @xiaxin 我也是初入门哇,还有好多要学的呢

#3 楼 @jennyhui 嗯嗯……个人觉得做项目是提高对一个编程语言的了解的最好方法……

赞,9 月真是浑天暗地的一个月

规划得很清楚嘛,点赞。我去年也是大四,跟楼主差不多~w 加油哦~

#12 楼 @anikikun 嗯嗯 , 谢谢,我会加油的!

请教下,1)~6)都是在一个 python 脚本中完成的吗?
1)python 启动后台线程,调用 os.system 运行命令启动 genymotion 模拟器
2)python 运行 adb 命令安装应用
3)调用 MonkeyRunner 进行模拟器解锁
4)Robotium 进行 UI 操作,控件验证,界面截图,xml 格式测试报告生成
5)python 调用 adb 命令从 android 端提取截图及 xml 格式测试报告
6)python 调用 pyh 模块将 xml 格式的测试报告转换成 html 格式,并加入截图查看的功能

#14 楼 @lookatcn 是啊,都在 python 里面写的,Robotium 代码当然还是 java,不过可以在 python 里面通过 os.system 去运行

请问生成 xml 格式的测试报告,是用这个帖子的办法,修改 InstrumentationTestRunner 类么?
http://blog.csdn.net/onepiece2345/article/details/8165241

#16 楼 @lookatcn 额不是的,我是用 testutils.jar 包。操作步骤如下:

1.将 testuntils.jar 加 到 Test Project Libraries 中 , 右 键 Test Project > Build path > Configure Build Path > Add External JARs > testutils.jar > OK

2.修改 AndroidManifest.xml, ↓

3.右键 Test Project > Run as > Run Configurations > 在 Instrumentation runner: 选择 com.neenbedankt.android.test.InstrumentationTestRunner > Apply

4.右键 Test Project > Run as > Android JUnit testing,,android junit 完成后 test result 会在生成在 模拟器 data/data/com.xxx.xxxx/files/TEST-all.xml

5.使用 adb pull 命令将 Test result 导出到 PC 本地 adb pull data/data/com.xxx.xxxx/files/TEST-all.xml d:\TestResult

#18 楼 @lookatcn 嗯,应该就是这个。不过后面还需要用 python 再转成 html 格式。

#4 楼 @monkey 书里从工具那边开始我就有点不知道怎么下手了 想先安卓官网的文档 一步步看 + 实践 学下来 这样好吗

#10 楼 @minminlee TAT 工程量很大啊 我这 0 基础的

#20 楼 @jennyhui 嗯可以得,你先把 android sdk 文档中提到得工具先全部实践下,了解一下原理。

#22 楼 @monkey !!!! 官网 android 开发的教程可以忽略? hmm 我刚开始根据那个教程在学习

#23 楼 @jennyhui 你做得是 nice to have 得。但是我说得那个你一定要去做得

#24 楼 @monkey oHHHHHHHH!! 好的~我大概有个意识了~thank you~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册