跳至主要内容

Web 应用

将您的 WebdriverIO 测试与 Percy 集成

在集成之前,您可以浏览Percy 的 WebdriverIO 示例构建教程。将您的 WebdriverIO 自动化测试与 BrowserStack Percy 集成,以下概述了集成步骤

步骤 1:创建 Percy 项目

登录 Percy。在 Percy 中,创建一个类型为 Web 的项目,然后为项目命名。项目创建后,Percy 会生成一个令牌。请记下它。您必须在下一步中使用它来设置您的环境变量。

有关创建项目的详细信息,请参阅创建 Percy 项目

步骤 2:将项目令牌设置为环境变量

运行给定的命令将 PERCY_TOKEN 设置为环境变量

export PERCY_TOKEN="<your token here>"   // macOS or Linux
$Env:PERCY_TOKEN="<your token here>" // Windows PowerShell
set PERCY_TOKEN="<your token here>" // Windows CMD

步骤 3:安装 Percy 依赖项

安装为您的测试套件建立集成环境所需的组件。

要安装依赖项,请运行以下命令

npm install --save-dev @percy/cli @percy/webdriverio

步骤 4:更新您的测试脚本

导入 Percy 库以使用拍摄屏幕截图所需的方法和属性。以下示例在异步模式下使用 percySnapshot() 函数

import percySnapshot from '@percy/webdriverio';
describe('webdriver.io page', () => {
it('should have the right title', async () => {
await browser.url('https://webdriverio.node.org.cn');
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js');
await percySnapshot('webdriver.io page');
});
});

独立模式下使用 WebdriverIO 时,将浏览器对象作为第一个参数提供给 percySnapshot 函数

import { remote } from 'webdriverio'

import percySnapshot from '@percy/webdriverio';

const browser = await remote({
logLevel: 'trace',
capabilities: {
browserName: 'chrome'
}
});

await browser.url('https://duckduckgo.com');
const inputElem = await browser.$('#search_form_input_homepage');
await inputElem.setValue('WebdriverIO');
const submitBtn = await browser.$('#search_button_homepage');
await submitBtn.click();
// the browser object is required in standalone mode
percySnapshot(browser, 'WebdriverIO at DuckDuckGo');
await browser.deleteSession();

快照方法的参数为

percySnapshot(name[, options])

独立模式

percySnapshot(browser, name[, options])
  • browser(必需) - WebdriverIO 浏览器对象
  • name(必需) - 快照名称;每个快照必须唯一
  • options - 请参阅每个快照的配置选项

要了解更多信息,请参阅Percy 快照

步骤 5:运行 Percy

使用以下所示的 percy exec 命令运行您的测试

如果您无法使用 percy:exec 命令或更愿意使用 IDE 运行选项运行测试,则可以使用 percy:exec:startpercy:exec:stop 命令。要了解更多信息,请访问运行 Percy

percy exec -- wdio wdio.conf.js
[percy] Percy has started!
[percy] Created build #1: https://percy.io/[your-project]
[percy] Running "wdio wdio.conf.js"
...
[...] webdriver.io page
[percy] Snapshot taken "webdriver.io page"
[...] ✓ should have the right title
...
[percy] Stopping percy...
[percy] Finalized build #1: https://percy.io/[your-project]
[percy] Done!

访问以下页面以获取更多详细信息:

资源描述
官方文档Percy 的 WebdriverIO 文档
示例构建 - 教程Percy 的 WebdriverIO 教程
官方视频使用 Percy 进行视觉测试
博客推出视觉审查 2.0

欢迎!我如何帮助您?

WebdriverIO AI Copilot