十大移动测试自动化工具(一)

作者:移动测试自动化工具   发布时间:2021-09-17

10. Mabl

什么是Mabl?

Mabl 是一种革命性的测试自动化解决方案,它使企业的自动化功能测试更容易、更快、更具可扩展性。通过先进的人工智能、低代码和自我修复解决方案,Mabl 专注于为技术和非技术团队实现功能性 UI 和 API 测试自动化。

优点

Mabl 的产品包括自我修复功能,这使得维护测试脚本变得更加容易。

Mabl 的低代码产品使技术较少的团队有可能实现自动化。

Mabl 的数据驱动测试引擎允许您将数据集参数化并将其注入团队的测试自动化中,从而在无需复杂代码的情况下实现更多覆盖。

Mabl 主要是一种基于云的解决方案,使其服务易于访问和扩展。

Mabl 为桌面、API 和移动网络/移动浏览器测试自动化创作提供了一种解决方案。

缺点

Mabl对于移动优先的团队来说仍然非常有限,并且刚刚推出了他们的一个移动兼容解决方案。

Mabl的移动解决方案仅提供移动浏览器测试,对于需要对原生或混合移动应用程序进行自动化测试的团队没有任何帮助。

9. XCTest / XCUITest

什么是XCTest/XCUITest?

XCUITest 是适用于 iOS 移动设备的原生和混合框架。由于 XCUITest 直接集成到 Xcode 的 IDE 中,因此它可以为 iOS 设备提供较快的测试。然而,除了它的主要好处之外,还有一些限制需要注意。

优点

XCUITest 是 100% 免费使用的。 

如上所述,XCUITest / XCTest很快。它是测试 iOS 移动应用程序的快解决方案。

XCUITest 是一个很好的“反剥落”选项,因为它通过直接在对象级别工作来帮助开发反映用户界面的 UI 测试。这样做时,测试能够验证 UI 元素及其属性并在应用程序的元素层次结构中导航。这有助于创建易于维护的直观测试,并极大地减少片状。

XCUITest 提供 XCUITest Recorder 记录通过用户界面的导航并帮助用户创建脚本以快速构建可以跨实际设备或模拟器/模拟器运行的测试套件。 

虽然传统上比 Android 的 Espresso 更难集成到 CI/CD 管道中,但 XCUITest 已经在更容易集成到您的 CI 流程方面取得了进展。 

缺点

在模拟器上测试和/或运行单元测试时,XCUITest 是一个很好的“反剥落”选项,但在真实设备上测试时,这种优势确实开始减弱。

XCUITest 在真实设备上测试时稳定性和可靠性较差,不适合冒烟和回归测试。

XCUITest 是有限的语言。截至目前,XCUITest 仅限于 Objective C 和 Swift。

XCUITest 与 Android 设备不兼容。 

XCUITest 是为 iOS 和 Xcode 开发人员而构建的,较少关注 QA 自动化工程师。  

8. Applitools Eyes

什么是Applitools Eyes?

Applitools 是一个自动化框架,提供 Applitools Eyes:一种用于由视觉 AI 提供支持的 Web 和移动应用程序的 UI 自动化测试工具。Applitools Eyes 提供 40 多个 SDK,可轻松与您现有的自动化测试脚本集成,在您的应用程序 UI 的指定检查点创建 DOM 快照,并将每个快照保存并发送到 Applitools 强大的 AI 驱动服务器。在那里,Applitools 将您的应用程序 UI 快照分解为它们的布局和结构,在每个测试中创建图像基线。因此,当在新版本和不同浏览器和设备上运行未来的测试时,Applitools 能够自动检测和报告视觉差异。

优点

如上所述,Applitools 提供 40 多个 SDK,因此它可以轻松与其他工具(例如 Selenium WebDriver 或 Appium)以及所有主要编程语言集成。 

Applitools Eyes 通过单击视觉差异并查看其相应的相关 DOM 和 CSS 规则差异来提供根本原因分析。这允许开发人员和测试人员节省大量时间来挖掘 UI 错误的原因。 

Applitools Eyes 在保持测试信心的同时显着减少了编码——将脆弱的、多行的 UI 断言转换为一行调用 Applitools Eyes 的代码,让 Applitools 完成剩下的工作。

Applitools 也非常适合数据驱动的测试。无需编写条件逻辑来尝试覆盖用户的所有潜在流程。相反,创建每个变体的视觉快照以进行验证。 

Applitools 提供了一个简化的仪表板,易于阅读和简洁的报告。每份报告都清楚地标出了对比屏幕截图中的视觉差异。 

Applitools 还提供智能辅助来帮助维护测试——当视觉 AI 引擎检测到改进测试的方法时,您会收到通知,并且只需单击即可实施。 

Applitools 提供安全可靠的超快网格——一种基于云的网格,包含浏览器、设备和视口的组合。这允许您运行一次测试,但在几乎零设置的情况下跨多个配置并行运行。 

Applitools 还可以轻松集成到 CI/CL 管道以及其他应用程序中,例如 JIRA。

缺点

Applitools 是基于脚本的,因此需要一些脚本自动化经验才能开始使用。

Applitools 仅限于 UI 测试。

Applitools 的主要重点是在不同浏览器和设备上的 Web 应用程序测试,由 Ultrafast Grid 提供。因此,Applitools 在移动应用程序测试中受到限制。但是,Applitools 可以与 Appium 集成以生成移动应用程序自动化测试。

由于 Applitools 在移动设备上不成熟,它不会报告应用程序崩溃。 

Applitools 不提供真实设备。

Applitools 要求您为每种设备类型设置特定的基线。

对于移动设备,Applitools 要求团队在他们的测试自动化中进行 API 调用和/或检测他们的源代码,这两者都会导致严重的问题(即使在生产中)

7. Espresso

什么是Espresso?

对于专门为 Android 设备开发应用程序的团队来说,Espresso 是一个很好的 UI 级别自动化测试框架。但是,要记住一些限制。让我们来探讨一下利弊。

优点

Espresso100% 免费使用。

与 XCUITest 非常相似,Espresso速度很快。由于它是一个原生框架,直接嵌入到 Android SDK 中并与 Android Studios 集成,并且不需要服务器,因此 Espresso 比 Selenium 或 Appium 等解决方案要快得多。

Espresso 的核心 API 小巧紧凑,使测试易于维护、更改和自定义。 

借助 Espresso 的无缝 UI 同步,测试变得不那么不稳定,断言更加直观。 

Espresso 还提供 Espresso 测试记录器,允许您浏览应用程序、添加断言,并且 Espresso 测试记录器将帮助生成脚本化测试。这有助于快速构建可以稍后修改的测试套件,并有助于为初级 QE 学习 Espresso 脚本。 

由于 Espresso 与 Android 深度集成,它还提供清晰的故障报告并提供调试信息。 

Espresso 还可以轻松集成到 CI/CD 管道中。 

缺点

Espresso 仅限于 Java 和 JUnit 语言。

Espresso 与 iOS 设备不兼容。

Espresso 仅用于 UI 测试。

您必须有权访问您的应用程序的源代码。

使用 Espresso(以及 Espresso Recorder)确实需要一些 Android 应用程序的必备基础知识,包括它们是如何构建的以及如何为它们创建测试。

Espresso 主要是为 Android 开发人员构建的,不像 Appium 这样的解决方案对 QA 友好。

6. Appium

什么是Appium?

Appium 是一个开源自动化框架,或 Appium 称之为客户端“自动化库”的集合,主要用于测试 Android 和 iOS 原生移动应用程序,以及混合和 Web 应用程序。Appium 是 Selenium WebDriver 系列的一部分,因此利用 Selenium WebDriver API 指定客户端-服务器协议,该协议在后台使用供应商提供的框架。无需编译第三方框架或代码,您将能够自信地跨跨平台设备部署已测试过的相同应用程序。 

优点

Appium 是开源的,并带有一个强大的、支持性的社区来帮助满足您的测试需求。

使用原生框架,例如适用于 iOS 的 XCUITest、适用于 Android 的 UiAutomator 或 Espesso,以及适用于 Windows 的 WinAppDriver,Appium 允许您一次性编写针对多个平台的测试。这种跨平台的可访问性和代码可重用性在移动应用程序自动化中非常有益,并消除了测试中的设备碎片。

 Appium 客户端库支持大多数主要语言,包括 Java、JavaScript、Python、C# 和 Ruby。除了支持多个框架外,这还使您可以自由灵活地设置和管理您认为合适的测试环境。 

Appium 允许您通过辅助设置在真实设备和模拟器/模拟器上进行测试,并且不需要额外的依赖项。

Appium 为那些喜欢在命令行之外生活的人提供 Appium Desktop。Appium 桌面功能包括能够轻松启动/停止 Appium 服务器并查看日志和屏幕截图

Appium Inspector,它允许您查看应用程序的源代码树:查找应用程序中的任何元素及其定位器并与它们执行基本交互

步骤记录:记录对您的应用程序施加的操作,并让 Appium 为所述操作自动生成代码

Appium 支持端到端测试,包括移动应用程序的复杂手势和行为。

Appium 可以轻松地与 CI/CL 管道集成。 

缺点

Appium 是基于脚本的,有自己的学习曲线,对于初级 QE来说可能具有挑战性。  

尽管 Appium 允许自由管理您的环境,但环境设置仍然具有挑战性、乏味且耗时。

Appium 仅在本地提供真实设备,如果您需要多个真实设备,则很难管理设备。 

Appium 执行较慢的测试执行,因为它涉及远程网络驱动程序,它应用潜在的网络问题和处理命令时间。 

Appium 脚本存在脆弱和脆弱的测试问题,导致不稳定、不一致,并且维护时间比开发时间长。


本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。



沪ICP备07036474号-4 |

沪公网安备 31010702003220号

2015-2021 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.