使用 Azure DevOps 进行 UI 测试
重要
Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但有几种建议的替代方法可以考虑迁移到其中。
本指南介绍如何修改现有的 Azure Pipelines 生成,以创建应用程序二进制文件(.apk
或 .ipa
文件),以添加在 App Center 测试中运行测试套件的 App Center 测试任务。
Azure Pipelines 作为 Azure DevOps Services 的一部分提供。 Azure Pipelines 可帮助你为任何应用实现生成、测试和部署管道。 有关 Azure DevOps Services 或 Azure Pipelines 的详细信息,请参阅 Azure DevOps 文档 或 Azure Pipelines。
Azure Pipelines 的 App Center 测试任务允许在 App Center 测试中运行测试套件。 可以使用 Appium、XCUItest、Espresso 和 Xamarin.UITest 框架。 在 App Center 测试支持的框架页上阅读有关框架的详细信息。
本指南中的每个框架都有自己的部分,可在其中阅读有关在 Azure Pipelines 中设置 App Center 测试任务定义的基本要求。
常规配置步骤
开始之前
在开始测试之前,需要满足以下条件:
- 创建应用程序二进制文件(
.apk
或.ipa
文件)的 Azure Pipelines 生成。 - 有效的 App Center 测试帐户。 可以在 App Center 激活 App Center 测试的试用版。 首先选择应用,然后在左侧菜单中选择“测试”。
- 将管道配置为使用 Node 10.x.x。 阅读如何在 Azure DevOps 文档中阅读文档,文档是关于 Javascript,但原则也适用于此处。
Azure Pipelines 常规配置
找到 Azure Pipelines 项目并将其打开以供 编辑。 单击 + 以添加新任务,然后搜索 App Center。
单击 App Center 测试任务旁边的“添加”。 在屏幕左侧,单击“使用 Visual Studio App Center 任务添加的测试”以选择和修改它。 App Center 测试任务分为多个部分。
在顶部部分中,在“二进制应用程序文件路径”字段中插入应用二进制.apk
文件路径(或 .ipa
) 的路径 。
连接到 App Center 测试
使用服务之前登录到 App Center;有两种身份验证方法可供你使用。
第一种方法使用 API 令牌;获取帐户的 API 令牌:
- 登录到 App Center,并单击 App Center 门户左上角的用户设置图标。
- 在出现的菜单中,选择“ 帐户设置”。
- 在 “设置” 面板中,选择 “API 令牌”。
- 单击面板右上角的“新建 API 令牌”按钮。
- 命名新的 API 令牌 - 例如,可以调用它 Azure DevOps。 将来,此名称将帮助你确定哪个服务正在使用该服务。
- 单击“ 添加新 API 令牌 ”按钮。 弹出窗口显示新的 API 令牌;此弹出窗口是 App Center 显示此令牌的唯一时间 。 单击剪贴板按钮,将 API 令牌复制到浏览器的剪贴板。 将 API 令牌保存到某个位置(例如 Azure 密钥库,例如),可以在需要时再次安全地引用它。
在剪贴板上使用 API 令牌:
- 切换到 Azure DevOps Services 窗口。 在 App Center 连接 字段中,在 App Center 测试任务的“运行 ”部分中,单击“ 添加 ”按钮。
- 使用连接的适当名称填充窗体的 “名称 ”字段(例如: App Center)。
- 将 App Center API 令牌粘贴到 API 令牌 字段中。
- 单击“关闭”完成设置。
请确保新创建的连接显示在“App Center 连接”字段中。
第二种方法使用 App Center 帐户凭据:
- 从“身份验证方法”下拉菜单中选择“凭据”。
- 使用 App Center 帐户中的凭据填充 App Center 用户名 和 App Center 密码 字段。
注意
App Center 用户名位于 App Center 帐户配置文件中。 如果使用Microsoft凭据登录,请使用密码设置帐户或任务无法登录。 可以在 App Center 中设置密码。
Appium
- 在创建测试运行之前,请完成本指南的“开始之前”部分的步骤。
- 为 App Center 测试、Appium 测试准备存储库。
Appium 的 Azure Pipelines 配置
首先,按照 Azure Pipelines 常规配置中所述,将 App Center 测试任务添加到生成定义。
在“准备测试”部分中,确保选中“准备测试”复选框,然后选择“测试框架”。 将 Appium 测试类、dependency-jar 和 pom.xml
文件 的路径插入到生成目录 字段中。 这三个项目通常位于 upload
文件夹中。
现在可以配置测试运行。 通过在 App Center 中创建新的测试来找到所需的全部信息。 按照启动测试运行中的说明操作。 将提交页面(测试运行安装程序的最后一页)保持打开状态,以便在设置 App Center 测试任务时使用该信息。
appcenter test run appium --app "username/appname" --devices 209ed689
--app-path pathToFile.apk --test-series "main" --locale "en_US"
--build-dir target/upload
- 在提交页上,应用 slug 是
--app
参数。 将其 插入到 App Slug 字段中。 - 设备选择是
--devices
参数。 将其插入到 “设备” 字段中。 - 测试系列 是一个自由文本字段 - 可以是任何内容。 它是
--test-series
参数。 - 系统语言 是下拉菜单。 如果选择“其他”,将显示“其他区域设置”字段,你可以在其中输入语言和国家/地区代码,如下所示:
en_US
保存配置,并且已设置为启动生成和 App Center 测试运行。
意大利浓咖啡
- 在创建测试运行之前,请完成本指南的“开始之前”部分的步骤。
- 了解如何为 App Center Test、Espresso 测试准备存储库。
适用于 Espresso 的 Azure Pipelines 配置
首先,按照 Azure Pipelines 常规配置中所述,将 App Center 测试任务添加到生成定义。
在“准备测试”部分中,确保选中“准备测试”复选框,然后选择“测试框架”。
现在可以配置测试运行。 通过在 App Center 中创建新的测试来找到所需的全部信息。 按照启动测试运行中的说明操作。 将提交页面(测试运行安装程序的最后一页)保持打开状态,以便在设置 App Center 测试任务时使用该信息。
appcenter test run espresso --app "username/appname" --devices 209ed689
--app-path pathToFile.apk --test-series "main" --locale "en_US"
--build-dir pathToEspressoBuildFolder
- 在提交页上,应用 slug 是
--app
参数。 将其 插入到 App Slug 字段中。 - 设备选择是
--devices
参数。 将其插入到 “设备” 字段中。 - 测试系列 是一个自由文本字段 - 可以是任何内容。 它是
--test-series
参数。 - 系统语言 是下拉菜单。 如果选择“其他”,将显示“其他区域设置”字段,你可以在其中输入语言和国家/地区代码,如下所示:
en_US
保存配置,并且已设置为启动生成和 App Center 测试运行。
Xamarin.UITest
- 在创建测试运行之前,请完成本指南的“开始之前”部分的步骤。
- 了解如何为 App Center Test、Xamarin.UITest 测试准备 Xamarin.Android 存储库。
- 了解如何为 App Center Test、Xamarin.UITest 测试准备 Xamarin.iOS 存储库。
适用于 Xamarin.UITest 的 Azure Pipelines 配置
首先,按照 Azure Pipelines 常规配置中所述,将 App Center 测试任务添加到生成定义。
在“准备测试”部分中,确保选中“准备测试”复选框,并在“测试框架”下选中 Xamarin UI 测试。 插入生成目录的路径;在大多数情况下,生成文件夹为: <ProjectName>/bin/<configuration>
。
现在可以配置测试运行。 通过在 App Center 中创建新的测试来找到所需的全部信息。 按照启动测试运行中的说明操作。 将提交页面(测试运行安装程序的最后一页)保持打开状态,以便在设置 App Center 测试任务时使用该信息。
appcenter test run uitest --app "username/appname" --devices 209ed689
--app-path pathToFile.apk --test-series "main" --locale "en_US"
--build-dir pathTUITestBuildDir
- 在提交页上,应用 slug 是
--app
参数。 将其 插入到 App Slug 字段中。 - 设备选择是
--devices
参数。 将其插入到 “设备” 字段中。 - 测试系列 是一个自由文本字段 - 可以是任何内容。 它是
--test-series
参数。 - 系统语言 是下拉菜单。 如果选择“其他”,将显示“其他区域设置”字段,你可以在其中输入语言和国家/地区代码,如下所示:
en_US
保存配置,并且已设置为启动生成和 App Center 测试运行。
XCUITest
- 在创建测试运行之前,请完成本指南的“开始之前”部分的步骤。
- 了解如何为 App Center Test、XCUITest 测试准备存储库。
注意
在管道中,在 App Center 测试任务之前,需要使用 Xcode 任务步骤 build-for-testing
来生成测试运行程序应用所需的测试运行程序应用。 在该任务中,在“高级”部分中的参数下,指定派生的数据路径,通常使用 -derivedDataPath DerivedData
。 还需要一个 .ipa file
应用程序。 可以通过检查Create app package
选项或在单独的 Xcode 生成步骤或 Bash 脚本步骤中生成.ipa file
同一 Xcode build-for-testing
任务。
XCUITest 的 Azure Pipelines 配置
首先,按照 Azure Pipelines 常规配置中所述,将 App Center 测试任务添加到生成定义。
在“准备测试”部分中,确保选中“准备测试”复选框,并在“测试框架”下选中 XCUITest。 从 Xcode build-for-testing
步骤插入生成目录的路径。 通常,生成文件夹为: DerivedData/Build/Products/Debug-iphoneos/
。
现在可以配置测试运行。 通过在 App Center 中创建新的测试来找到所需的全部信息。 按照启动测试运行中的说明操作。 将提交页面(测试运行安装程序的最后一页)保持打开状态,以便在设置 App Center 测试任务时使用该信息。
appcenter test run xcuitest --app "username/appname" --devices 209ed689 --test-series "main" --locale "en_US" --build-dir pathToXCUItestBuildFolder
- 在提交页上,应用 slug 是
--app
参数。 将其 插入到 App Slug 字段中。 - 设备选择是
--devices
参数。 将其插入到 “设备” 字段中。 - 测试系列 是一个自由文本字段 - 可以是任何内容。 它是
--test-series
参数。 - 系统语言 是下拉菜单。 如果选择“其他”,将显示“其他区域设置”字段,你可以在其中输入语言和国家/地区代码,如下所示:
en_US
保存配置,并且已设置为启动生成和 App Center 测试运行。