Robotium源码分析之运行原理-创新互联

从上一章《Robotium源码分析之Instrumentation进阶》中我们了解到了Robotium所基于的Instrumentation的一些进阶基础,比如它注入事件的原理等,但Robotium作为一个测试框架,其功能远不止于只是方便我们注入事件,其应该还包含其他高级的功能,参照我们前面其他框架如MonkeyRunner,UiAutomator和Appium的源码分析,我们知道一个移动平台自动化测试框架的基本功能除了事件注入外起码还应该有控件获取的功能。所以,这篇文章我们主要是围绕Robotium的这几个功能做阐述。

公司主营业务:成都网站设计、做网站、成都外贸网站建设公司、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出剑河免费做网站回馈大家。

Robotium作为一个自动化测试框架,做一个自动化测试库,其所要走的事情就是要封装好获取控件和操作控件的各种方法,而因为Robotium编写的脚本又是和目标测试应用运行在同一进程中的(参考《Robotium源码分析之Instrumentation进阶》第一节),所以就会让事情更简单了。比如获取一个TextView的文本,我们就可以直接在测试脚本这个子线程调用目标控件的个相应方法来获得文本,如果要设置控件的文本属性的话,我们也只是需要提供一个runnable让主线程UiThread去调用控件的设置Text属性的方法就完成了。当然,如果你是想要模拟用户键盘输入来设置文本,那么就需要操作事件的另外一个方式,去注入事件发送键盘事件来完成了。也就是说,你的脚本既可以运用作为UiThread子线程的优势来直接操控控件属性,也可以通过注入事件的方式来模拟用户层面对控件的操作。

1.通过注入事件操作控件 

在上一章《Robotium源码分析之Instrumentation进阶》中我们谈到了Instrumentation通过InputManager注入事件的几种方式:

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:Robotium源码分析之运行原理-创新互联
网页网址:http://scyanting.com/article/diepse.html