AI智能总结
CI中移动应用兼容性大规模真机验证实践 亚马逊云科技祝小伟Industry Builder 祝小伟 亚马逊云科技Industry Builder l在移动应用开发领域已有近10年的经验,尤其对Android及跨平台应用开发有着独到的见解和研究,同时在移动应用UI自动化测试结合云计算方面,持续探索更高效、更可靠的解决方案。 目录 App自动化测试1Appium介绍2AWS DeviceFarm云真机测试3GitHubCI中集成4CI中移动应用测试总结5 1.App自动化测试 l从点击流SDK真机兼容性测试说起 点击流解决方案 点击流SDK CI流程 点击流SDK集成测试 手动集成测试 •兼容有限的设备•很难每次都验证所有的业务场景•花费大量时间 点击流SDK Appium介绍 lAppium介绍lAppium Inspector使用演示lPython测试脚本编写 Appium Appium旨在支持多种不同平台(移动、网页、桌面等)的UI自动化。不仅如此,它还致力于支持使用不同编程语言(JavaScript、Java、Python等)编写的自动化代码。 Appium Core定义核心API Drivers实现与特定平台的连接 Plugins更改或扩展Appium的核心功能 Clients实现Appium支持不同语言的API Appium平台支持 Android购物App üAdvancedTech Stack•Kotlin •Jetpack Compose UI•View Model•Live Data•Fake Store API Joomia Android App iOS购物App üAdvancedTech Stack•Swift •Swift UI•MVVM•Fake Store API 开源示例App Appium本地演示 AWS Device Farm云真机测试 lDevice Farm介绍l界面手动运行lCI中自动运行 Device Farm介绍 通过在亚马逊云服务中托管的真实移动设备及各种桌面浏览器上进行测试从而提高您的移动应用程序质量 ü真机测试 Device Farm可用设备 使用Device Farm优势 真机测试优势 •无需预置和管理任何测试基础设施•快速使用与您客户相同的设备进行测试•快速复现并修复问题•提供多种语言SDK,易于与您现有的开发流程集成 价格(us-west-2) •每个账户一次性1000分钟的免费使用时长•$0.17/设备/分钟•$250/插槽/月•$200/私有设备/月 AWS Device Farm演示 GitHubCI中集成 l流程介绍l效果展示 GitHub Release Action integration_test.yml integration_test.yml GitHubCI中的集成测试报告 CI中移动应用测试总结 lApp UI自动化测试心得lCI中App自动化测试总结 App UI自动化测试心得 1.在CI中使用固定的Appium server, driver,python版本。2.测试脚本中合理的使用显示和隐式等待。3.尽量通过ID或者android_uiautomator进行元素的查找,避免使用XPath。4.使用PageObject模式来提高代码的可维护性和重用性。5.可以在CI中通过自定义脚本,在打包前临时修改App的行为来测试特定场景。6.将UI自动化测试与CI/CD集成,每次PR都触发测试,可实现大规模兼容性验证。 CI中App自动化测试总结 •稳定性是移动应用UI测试的基础。•可以通过大规模真机验证来节省集成测试时间,并提高代码的稳定性和质量。•稳定性,兼容性的提升可以显著改善应用程序的体验,从而赢得您用户的信任。 THANKS