有没有办法在用MobileIron包装的IPA构建上运行使用XCUItest框架编写的自动化测试?
我正在测试的应用程序是用SWIFT 4、XCode 11编写的iOS应用程序,开发团队用MobileIron包好构建,让QA团队在不需要VPN连接的情况下测试这个版本。如果我是从XCode运行测试,应用程序是构建和编译的,所以这样我只能测试应用程序的未包装版本,我使用的是VPN连接。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用MobileIron包装的IPA进行自动化测试时,直接通过XCTest框架运行确实存在挑战,因为MobileIron封装通常是为了增强应用的安全性和管理性,这可能会与直接从Xcode运行UI测试产生冲突。不过,有几种方法可以尝试绕过这些限制来实现你的测试目标:
使用TestFlight或企业分发:如果可能的话,让开发团队通过Apple TestFlight或者企业分发的方式提供一个未加密的、用于测试的版本。这样你可以在真实设备上安装该应用,并通过XCTest正常执行自动化测试。
HockeyApp 或 Firebase App Distribution:类似TestFlight,这些第三方服务也可以帮助分发测试构建,便于在设备上安装并执行自动化测试。
脱壳(Unwrapping):理论上,你可以尝试对MobileIron封装的IPA进行脱壳处理,以恢复原始的应用程序包,然后重新签名并安装到设备上进行测试。但请注意,这种方法可能违反了企业的安全策略和版权法,且技术上具有挑战性,不推荐未经许可尝试。
云测试服务:考虑使用阿里云的移动测试服务(如PTS-Performance Testing Service),虽然它主要针对性能和压力测试,但部分服务支持上传特定的APP包进行功能测试。你可能需要咨询阿里云技术支持确认是否支持MobileIron封装的IPA以及如何集成XCUItest。
调整测试策略:如果上述方法都不适用,可能需要与开发团队合作,探讨能否在开发阶段就集成自动化测试脚本,或者在打包前完成大部分的自动化测试,确保基础功能的稳定。
模拟环境测试:如果应用程序逻辑允许,可以在模拟器中使用未封装的版本进行自动化测试,尽管这可能无法完全覆盖所有真实设备上的行为。
请记得,在采取任何行动之前,务必与你的IT安全部门和开发团队沟通,确保遵守公司政策和法律法规。