自动化工具之Instrumentation

本文介绍了Android Instrumentation的工作原理,它允许测试App和被测App在同一进程中运行,通过修改签名实现。Instrumentation测试主要用于功能测试、Activity生命周期测试和兼容性测试。在需要使用JavaJUnit框架、进行白盒测试或模拟系统对象时,可以选择Instrumentation。文章还提到了使用Eclipse进行代码编写和测试执行的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Instrumentation原理是什么?

        Instrumentation它是通过直接调用被测试App的类直接调用代码,然后实现的一些自动化技术,它必须要求和被测App在同一个进程内。

 

        图解:这张图分为几个部分,先看最右侧外面框,底部显示“Android Process”它把myAppTests.apk和myApp.apk圈到一起,意思是他两个需要在同一个进程内,如何实现在同一个进程内?Android系统如果发现两个App包名是完全一样的那就认为两个包是同一个App,所以那可以通过从签名来实现让系统认为测试App和被测App是同一个进程,当然同一个进程里面是通过分别一个独立的线程来完成它的测试操作。即然需要签名就需要一个apk文件,myAppTests.apk通过Instrumentation技术控制被测myApp.apk,myAppTests.apk文件是由InstrumentationTestRunner进行控制各种方法运行。

        左侧分为两个部分,上面部分为“command line”,下面部门标记为“Eclipse”所有的代码编写在Eclipse完成的,可以看到里面写着“Run as >Android JUnit Test”意思是所有的源码都是使用Java程序去写使用的是JUnit测试框架,使用Eclipse执行测试方法可以输出测试结果“test output”,不在eclipse去执行测试用例集,也可以在命令行去执行“$test command”可以看到输出。

2、Instrumentation测试什么?

        功能测试

        Activity声明周期的测试

        模拟数据库操作的测试和兼容性测试

3、什么情况使用Instrumentation?

        使用Java JUnit框架

        需要进行白盒测试时

        需要使用Mock技术模拟系统对象时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值