iOS4.0开始, 苹果官方提供UI Automation以支持应用的UI自动化测试。5.0开始UI Automation支持录制回放。Instrument的主要作用就是驱动脚本在应用上模拟用户的行为。
针对instrument录制的脚本回放不稳定,没有验证框架和一场处理,编写了javascript类库,对instrument的原型进行扩展,加入了统一的验证方法和异常处理。
由于iOS系统本身的封闭性,要进行自动化测试,要么在应用中注入测试代码进行自动化测试,要么使用官方的instrument. 通过调研发现,nstrument存在一个在脚本中能够调用外部shell的漏洞。本测试引擎就是基于此机制来实现的。