介绍一个移动UI测试框架Maestro

2494 篇文章 33 订阅
1406 篇文章 7 订阅

在当今的数字环境中,移动应用程序正成为日常生活中不可或缺的一部分。我们将移动应用程序用于各种用途,例如社交网络、娱乐、购物、银行业务等。随着应用程序的使用越来越多,随之而来的问题是如何确保这些应用程序在不同设备、不同操作系统和不同用户场景中顺利运行。

确保这些应用程序顺利运行需要时间,而且随着开发周期的缩短,使用手动测试来保持应用程序的质量变得越来越困难。因此,对可靠测试解决方案的需求一直在增加,而移动自动化工具对于任何开发或 QA 团队来说都是非常重要的补充,可以保持可交付产品的高质量。

目前有多种自动化工具可供选择,Maestro 就是其中之一。无论您是经验丰富的开发人员还是初学者,Maestro 都能提供简单且用户友好的测试方法,帮助您交付高质量的产品。在本文中,我们将探索 Maestro 的简单世界,您无需深入了解编程知识或进行复杂的设置。

在这里插入图片描述

首先,让我们来了解一下什么是 Maestro。简单来说,它是一个用于端到端自动化测试移动应用程序的移动 UI 测试框架。借助 Maestro,开发人员和 QA 工程师可以编写和执行测试脚本,模拟用户与移动应用程序的交互。以下是 Maestro 的一些主要功能:

跨平台:Maestro 支持 Android 和 iOS 应用程序,用户只需进行最少的调整即可编写在两个平台上运行的测试。

可读性和可维护性:在 Maestro 中,测试以 YAML 编写,这使得定义测试步骤变得更加容易,而无需深入了解编程知识,因为它具有人性化可读的格式,使新团队成员更容易理解和维护现有测试。

内置延迟容忍度:在 Maestro 中,我们不需要在测试中添加额外的 sleep() 或 wait() 调用。它足够智能,知道某些内容可能需要更多时间才能加载并自动等待。

设置简单:设置非常简单。您可以在几分钟内开始编写和执行测试。

Maestro 入门

要开始使用 Maestro,请按照以下步骤操作:

安装:在安装 maestro 之前,请确保已安装命令行工具和 Android Studio。之后运行以下命令:

curl -Ls “https://get.maestro.mobile.dev” | bash

连接设备:安装后,连接 Android 设备或运行模拟器/模拟器。截至目前,Maestro 仅支持 Android 设备的真实设备。对于 iOS 应用程序,我们需要使用模拟器。之后,在您的测试设备上安装测试应用程序。

编写测试:如上所述,所有测试都将编写在 YAML 文件中。我们可以通过识别平台在同一个文件中为 Android 和 iOS 编写测试。

# flow.yaml

- runFlow:
    when:
        platform: Android
    commands:
        - runScript:
            file: android_elements/login.js
        - tapOn: "Text on the screen"
- runFlow:
    when:
       platform: iOS
    commands:
        - runScript:
           file: iOS_elements/login.js
        - tapOn: "Text on the screen"

众所周知,我们需要一个元素的标识符,我们将在测试期间与之交互。为此,Maestro 还提供了一个个人助理来帮助编写 Maestro Flows,即 Maestro Studio。使用 Maestro Studio,我们可以获取每个元素的标识符或与应用程序交互的确切命令。Maestro Studio 内置于 Maestro CLI 中,因此我们可以使用以下命令启动 Maestro Studio:

maestro studio

这是在我们的默认浏览器中打开后的样子:

在这里插入图片描述

启动 Maestro Studio 后,我们可以直观地选择元素来识别这些元素的正确定位器id,如text、等。当我们单击某个元素时,Maestro Studio 会生成我们如何在测试中与所选元素交互的方法。我们可以双击示例直接执行它或将其复制到测试脚本中。它看起来如下:

在这里插入图片描述

Maestro Studio 与元素的交互

要了解 Maestro 中使用的命令,您可以访问此链接:https: //maestro.mobile.dev/api-reference/commands

执行流程:编写测试后,使用 Maestro CLI 运行流程并在连接的设备上实时观察结果。要执行测试,请运行以下命令:

maestro test flow.yaml

在这里插入图片描述

测试执行结果示例

我们可以看到测试期间正在执行哪些步骤以及与应用程序的实际交互。虽然我们可以实时看到结果,但我们也可以使用 Maestro 本身录制测试执行流程的视频。要录制测试执行的视频,我们不需要任何其他录制应用程序、清理桌面屏幕或排列窗口。要记录测试执行流程,请运行以下命令:

maestro record flow.yaml

测试执行完成后,Maestro 会提供视频的签名 URL,该 URL 有效期为 60 分钟。我们可以点击生成的 URL 来下载视频。

在这里插入图片描述
Maestro 测试结果记录

这种录制非常适合分享测试执行的结果或识别测试执行过程中出现的问题。但截至目前,录制时长是有限制的,视频录制的最大时长为两分钟。当我们的流程超过两分钟的限制时,记录测试执行的流程就没什么用了。当我们的流程少于或超过两分钟时,我们需要所有条件下的测试执行结果。为此,我们可以生成流程执行报告。

Maestro 支持两种类型的报告:HTML 和 XML。要生成 HTML 报告,请运行以下命令:

maestro test --format html flow.yaml

要生成 XML 报告,请运行以下命令:

maestro test --format junit flow.yaml

默认文件名为 report.html 或 report.xml,但我们可以更改生成的报告的名称。要更改报告文件名,请运行以下命令:

maestro test --format html flow.yaml –output filename.html

在这里插入图片描述
在这里插入图片描述
测试执行报告样本

希望本文能帮助您了解 Maestro 的功能以及它如何融入您的移动测试策略。如果您希望提高移动应用测试的质量和效率,请考虑尝试使用 Maestro。随着它在社区推动的改进下不断发展,它可能会成为跨行业移动自动化的绝佳工具。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】
在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值