Appium (iOS/Android Testing Tool)
开源的,是混合和原生iOS的跨平台测试自动化工具,它支持从2.3开始的Android版本。 Appium的工作方式类似于在后台运行的服务器,如selenium服务器。
它支持许多编程语言,例如Python,Java,Ruby,C#和WebDriver库中的其他编程语言。 Appium利用WebDriver接口进行测试。
Appium使用UIAutomator库自动化Android,该库由Google作为Android SDK的一部分提供。在移动设备上,它可以控制Safari和Chrome。它可以与测试框架TestNG同步。UI Automator可以生成信息丰富且详细的报告,类似于Ranorex生成的报告
Appium的好处
- 由于在所有平台上使用标准自动化API,您无需以任何方式修改或重新编译应用程序
- 可以使用任何与Web驱动程序兼容的语言(Python,Java,Objective-C,JavaScript)来编写测试用例
- 可以使用任何测试框架,比如pytest、unittest、nose。
- 易于在不同平台上进行设置
- 它不需要在设备上安装任何东西
- 可以使用Selenium Webdriver JSON协议
Appium Studio
Appium Studio社区版是一款免费工具,可让Appium测试更加出色,帮助企业快速发布高质量的应用程序。
Appium Studio解决了许多Appium的局限性。它允许用户在几分钟内开始测试,降低运营成本,并通过应用程序外测试帮助提高覆盖率。测试脚本及其执行更加稳定,结果以清晰的报告显示。最后,Appium Studio支持并行执行,并提供有保证的操作系统版本支持。
Appium Studio社区版的好处:
- 几分钟内开始Appium测试
- 在Windows机器(以及MAC)上测试iOS应用程序
- 使用设备反射,Object Spy和独特的XPath轻松编写或记录测试
- 在任何设备和任何应用程序类型(本机,Web,混合)上覆盖更多用例
- 在您的应用程序之外进行测试(包括条形码和支票扫描,音频功能,GPS模拟,TouchID,系统应用程序)
- 接收包含屏幕截图和视频的详细分步报告
- 无需任何修改即可运行现有的Appium测试
- 享受有保证的OS版本支持 - Appium Studio支持iOS 11 beta
- 在本地连接的移动设备或Experitest SaaS数字保障实验室托管的设备上进行测试
- 使用开箱即用的并行执行。
- 完全免费
以上所有工具为Android应用程序测试提供了出色的性能和令人兴奋的功能
如何选择最好的自动化工具
确定需要自动化的测试
研究和分析满足您自动化需求的自动化产品
根据您的要求和预算,为两种最佳工具进行试验。
根据要求,选择最合适的一个或多个工具
与其他利益相关者讨论所选择的自动化工具,解释选择并获得他们的批准
继续测试自动化
Kobiton
Kobiton在人工测试期间为用户提供对真实移动设备的完全控制,支持多点触控手势,方向和GPS模拟,摄像头和扬声器控制以及设备连接管理。通过自动生成的活动日志,Kobiton可以捕获测试会话期间执行的所有操作,从而可以更快地识别和解决问题。
优点:
- 真实,基于云的设备和配置
- 集中测试历史记录和数据日志
- 内部设备实验室管理,以更有效地利用内部设备
- 支持Appium 1.6.4
- 简化用户体验,简化测试会话
- 免费试用 - 无需信用卡
Squish By FrogLogic
Squish专门支持自动测试本机移动应用程序,移动Web应用程序以及两者的混合。
由于Squish独特而稳定的物体识别方法,Squish测试可以在移动设备模拟器和不同的真实设备上运行而无需任何更改。与许多其他测试工具不同,Squish不要求您越狱或根设备。相反,您可以立即开始对移动应用程序进行自动GUI测试!
优点
- 高级手势支持
- 可以在云中进行测试
- 支持嵌入式Web内容
- CI和源代码控制集成
- 端到端和物联网测试
参考资料
- 讨论qq群630011153 144081101
- 本文最新版本地址
- 本文涉及的python测试开发库 谢谢点赞!
- 本文相关海量书籍下载
- 2018最佳人工智能机器学习工具书及下载(持续更新)
SeeTest
Experitest的SeeTest持续测试平台可让您持续测试移动应用程序,以加快发布周期并提高质量。
- 开发:使用可视化测试开发工具(如设备反射,Object Spy和测试记录器)快速轻松地开发
- 执行 - 您在众多真实的iOS和Android设备上并行进行测试,以提供快速反馈并加快发布周期。
- 分析:使用包含屏幕截图,视频和日志文件的可视化报告轻松分析您的测试结果。利用测试分析仪表板来了解您的质量状态
- 手动测试 - 在真实移动设备上实时与您的应用程序交互。
- 调试 - 直接从您的开发环境调试您的移动应用程序,例如Android Studio,XCode和Chrome DevTools
KMAX
使用KMAX测试您的移动应用或设备,以确保它在不利的网络条件下执行,从常规到极端。 KMAX提供预定义的网络场景,包括3G / 4G,LTE,低地球轨道卫星等。模拟实验室中的不良网络状况,包括丢包,延迟,重复,损坏等。准确地重建特定场景。
优点:
- 22个以上预定义的移动网络方案
- 产品/应用程序受控,可定制和可重复的测试
- 合并实际或模拟网络流量
- 自定义网络损伤以完全匹配您所需的环境
Robotium
它是一款免费的Android UI测试工具,使用Robotium可以轻松为Android应用程序编写功能强大的自动黑盒测试用例。因此,无需有关Android应用程序结构或已实现类的更多信息。他们需要的只是主类的名称和链接到它的路径。它支持Android 1.6及更高版本。 Robotium中的测试是用Java编写的。实际上,Robotium是一个用于单元测试的库。
但是,通过Robotium准备测试需要花费很多精力和时间,因为必须使用程序源代码才能自动化测试。该工具不太适合与系统软件交互;它无法锁定和解锁智能手机或平板电脑。 Robotium中没有播放或录制功能,也没有提供屏幕截图。
Robotium的好处
- 自动处理多个Android activities
- 需要最少的时间来创建可靠的测试用例
- 与Ant或Maven轻松同步,以作为持续集成的一部分运行测试
- 可以在预安装的应用程序上运行测试用例
- 可以获得Robotium测试的代码覆盖率
Selendroid
Selendroid是一个测试自动化框架,可以驱动Android原生和混合应用程序(应用程序)和移动Web的UI。使用Selenium 2客户端API测试编写。
Selendroid的好处
- 与JSON线协议完全兼容
- 不需要更改被测应用程序
- 自动化本机或混合应用程序使用相同概念
- 通过不同的定位器类型,可以找到UI元素
- 它可以同时与多个Android设备进行交互
- Selendroid支持热插拔硬件设备
- 通过不同的定位器类型,可以找到UI元素
- Selendroid附带了一个名为Selenium Inspector的有用工具。它允许您检查应用程序UI的当前状态。
MonkeyRunner
Monkeyrunner工具提供了一个API,用于编写从Android代码之外控制Android设备或模拟器的程序。就性能而这个工具在robotium 之后言。测试是用Python编写的,可以使用录制工具的测试。
MonkeyRunner的缺点是必须为每个设备编写脚本,每次更改测试程序的用户界面时都需要调整测试。
MonkeyRunner的好处
- 它可以控制多个设备
- 不必处理源代码
- 可用于自动功能测试
- Monkeyrunner也可用于回归测试
- Jython允许MonkeyRunner API与Android应用程序进行交互
Calabash
Calabash包含允许测试代码以编程方式与本机和混合应用程序交互的库。
- 专用于在触摸屏设备上运行的本机应用程序的API
- 允许测试代码以编程方式与本机和混合应用程序交互的库组成
- 它支持框架cucumber,使业务专家和非技术QA人员更容易理解
Frank
基于UI的轻量级自动化工具。使用Cucumber和JSON命令组合的工具。它被描述为Selenium for native iOS app,其中一些功能包括
- 类似CSS的选择器语法
- 它由Cucumber驱动
- 它包含symbiote的实时内省工具
- 可以在模拟器和设备上运行测试
- 记录您的测试运行视频,以显示应用程序的运行情况
KIF
KIF是基于objective C的框架,用于iOS自动化测试,直接与XCTests集成。当商务人士不参与编写或阅读测试规范时,可以使用它。
- 社区和良好的支持
- 与XCTests无缝集成,KIF附带“KIFtestCase”,您可以使用它代替“XCTTestCase”
- KIF通过其可访问性标签访问UI元素
MonkeyTalk
从数据驱动的测试套件到简单的“Smoke Tests”,Moneytalk可以自动执行iOS和Android应用程序的真实,功能性交互式测试。
- 脚本简单易懂
-MonkeyTalk IDE可以记录/回放测试脚本 - 支持网络设备和仿真器等
- 对于Android和iPhone,可以使用相同的脚本
Testdroid
Testdroid是基于云的移动应用程序测试工具,可帮助开发人员节省开发应用程序的成本,加快产品上市时间并降低运营和不可预测的成本。这是针对具有不同硬件平台,屏幕分辨率和操作系统版本的各种真实Android和iOS设备测试应用程序的最快方法。根据要求,价格范围从499美元到4999美元/月不等。它是Android和iOS游戏的稳固手机游戏测试平台之一。它允许在启动应用程序之前远程手动访问运行Android的300多个真实设备。
Testdroid的好处
- 通过真实设备和敏捷测试最大限度地降低风险
- 降低运营和不可预测的成本
- 提高应用评级和每日活跃用户