能否无需集成Detox直接对.app或.apk文件执行黑盒测试?
能否无需集成Detox到应用中直接对.app/.apk运行测试?
答案是不行的,Detox没办法像Appium那样直接拿编译好的未集成Detox的.app或.apk文件来跑测试,这和它的灰盒测试定位直接相关:
- Detox的核心工作机制依赖于在应用内部注入的Detox原生依赖:iOS项目需要集成
Detox.framework,Android项目需要引入detox.jar。这些依赖负责在测试运行时和Detox的测试端建立通信通道,实现测试步骤的同步、元素的精准定位,以及对应用内部状态的感知——这也是它作为灰盒测试框架比黑盒工具更稳定的原因之一。 - 你给出的Detox配置里的
build命令,本质上是在编译应用的过程中就把Detox集成进去了,最终生成的HelloWorld.app已经包含了Detox的相关依赖。如果换成一个没有提前集成Detox的.app/.apk,即使你正确指定了binaryPath,运行测试时也会因为无法建立通信而报错。
对比Appium的话,Appium是黑盒测试工具,它依赖系统原生的UI自动化框架(比如iOS的XCTest、Android的UIAutomator2)来驱动应用,不需要修改应用代码或注入额外依赖,所以可以直接使用编译好的包进行测试。
如果你的需求是对已编译完成的应用包做自动化测试,而又无法重新编译应用加入Detox依赖,那更适合用Appium这类黑盒测试工具;如果是自己的应用,建议还是按照Detox的官方流程,在项目中集成Detox后再编译打包、运行测试。
内容的提问来源于stack exchange,提问作者Anil Maurya
相关产品推荐
相关产品推荐

