APP自动化测试方案对比,包括平台支持,语言支持,HTTP API等。
方案 | Android | iOS | 语言支持 | HTTP API | 批量分发 |
---|---|---|---|---|---|
UIAutomator | 是 | 否 | Python | 是 | 否 |
FB WebDriverAgent | 否 | 是 | OC | 是 | 否 |
FB iOS Development Bridge | 否 | 是 | CLI | 未知 | 否 |
openatx WDA | 否 | 是 | Python | 未知 | 否 |
openatx UIAutomator2 | 是 | 否 | Python | 是 | 否 |
Accessibility Service | 是 | 否 | Java | 否 | 是 |
Appium | 是 | 是 | Python/JavsScript/Java/C#/Ruby | 是 | 否 |
通过HTTP调用API意味着可以同时控制多部手机执行相同的操作。
批量分发即无需电脑作为控制端,而直接在手机上安装运行,目前看只有Android上的AccessiBility Service可以实现。而Appium小范围几十上百台内部设备也是可以实现的。
Appium支持的平台众多,得益于 webdriverio
,除了Android和iOS,还支持Mac/Windows,并且支持特定的浏览器,如Safari和Firefox。不过针对不同的平台,所调用的API可能会不同,比如在Android上启动一个APP使用Start Activity
,而在iOS上则使用Launch App
。
终上,Appium或许是最好的选择,语言上也有诸多选择,个人推荐使用Python或JavaScript。