不知不觉已经到了移动测试会第四期了,很多朋友从杭州和南京赶过来参加我的会,我真的感到非常荣幸。不过也有一点让我遗憾的是,我认为上海这里能来的朋友应该更加多才对。有点小小的失望。希望以后上海的同仁们能够更加的活跃。 感谢南京的朋友,喜力能够来主动分享android,ios,web的持续继承测试,和他沟通之后我会将ppt放出。
基本上全程都是我在讲,讲的时候没有感觉,结束之后就觉得好饿啊。。好累啊。。hold不住了。从北京回来到现在每天木有睡满6个小时过,实在有点累。
今天第一个讲的是android的robotium工具,从robotium的官网上面下载了两个工程,notepad和notepadtest。其是一个国外的小组在09年的时候就开始针对android的instrumentation做的一次二次开发。我们能够看到在测试的工程中导入了robotium的这个jar包。
这里使用的版本是3.6.紧接着我介绍了这样一个使用robotium框架的测试例子的代码:
测试类继承了android的测试类ActivityInstrumentationTestCase2,那么这个类我们是可以在android的sdk文档中找到。robotium的源码中主类就是叫做Solo,那么这里创建了一个Solo的对象solo。构造函数中进行了被测对象activity的类名。接下来就是分别在测试启动前getInstrumentation和getActivity了,在每次测试结束后进行启动activity的结束。保证每次测试用例执行环境的一致。
接下来我们来看测试代码:
其实robotium就是将android的测试框架进行了二次封装,让更多的测试人员能够简单,傻瓜式的进行coding。就如同上面的代码,这里哪怕是一个没有接触过junit,android,只要会一点点java的同学都能够看懂。其就是一个黑盒功能测试的用例的代码化,先点击了列表中的第二行,然后设置了屏幕变成横屏,然后点击菜单中的edit title,然后在第一行输入test,然后返回。最后去检查两个结果是否一致,否则返回错误信息。从整个过程来看,你想点击,或者滑动,返回等操作的话,并不需要从每个动作的实现代码写起,而是直接行为驱动测试代码的编写就可以了。非常的容易方便。
不过同时,我也结束了robotium的讲解。因为我不建议大家使用robotium去进行写测试。其一,它是一个第三方的封装好的jar包,他本身很多api还有着一些bug。使用上面也会带来很多的不便。其二,如果直接使用,也不利用测试人员更加好的了解android的测试框架以及实现机制。
我个人建议如果要用,你可以选择自己进行简单的行为封装,然后调用自己的方法做。或者你也可以选择对于robotium的源码进行二次修改,添加或者重写一些方法达到符合你产品的业务。这样都是比较有利于长期进行测试的。
同时,大家也可以选择jenkins和hudson对于这些case做持续性的继承,网上这类CI的搭建过程非常详细,我这里就不多说了。
ok,这里是今天沙龙的第一个topic,我就先写到现在。接下来还有android如何用白盒的方法写黑盒的测试用例,以及android CS架构的测试如何进行测试,以及android性能监控apk实现等也都是我说的topic我会在接下来的blog中进行续写。今天的沙龙内容很多。大家继续期待我接下来的blog把~~~:)
谢谢大家。
QQ:383750787
TEL:18621519900