跳到主要内容

SmartUI

LambdaTest SmartUI 为您的WebdriverIO测试提供AI驱动的视觉回归测试。它能捕获屏幕截图,将其与基准进行比较,并通过智能比较算法突出显示视觉差异。

设置

创建SmartUI项目

登录 LambdaTest并导航至 SmartUI项目 创建一个新项目。选择 Web 作为平台并配置您的项目名称、审批人和标签。

设置凭据

从LambdaTest仪表板获取您的 LT_USERNAMELT_ACCESS_KEY,并将其设置为环境变量:

export LT_USERNAME="<your username>"
export LT_ACCESS_KEY="<your access key>"

安装SmartUI SDK

npm install @lambdatest/wdio-driver

配置WebdriverIO

更新您的 wdio.conf.js

exports.config = {
user: process.env.LT_USERNAME,
key: process.env.LT_ACCESS_KEY,

capabilities: [{
browserName: 'chrome',
browserVersion: 'latest',
'LT:Options': {
platform: 'Windows 10',
build: 'SmartUI Build',
name: 'SmartUI Test',
smartUI.project: '<Your Project Name>',
smartUI.build: '<Your Build Name>',
smartUI.baseline: false
}
}]
}

使用方法

使用 browser.execute('smartui.takeScreenshot') 捕获截图:

describe('WebdriverIO SmartUI Test', () => {
it('should capture screenshot for visual testing', async () => {
await browser.url('https://webdriver.io');

await browser.execute('smartui.takeScreenshot', {
screenshotName: 'Homepage Screenshot'
});

await browser.execute('smartui.takeScreenshot', {
screenshotName: 'Homepage with Options',
ignoreDOM: {
id: ['dynamic-element-id'],
class: ['ad-banner']
}
});
});
});

运行测试

npx wdio wdio.conf.js

SmartUI仪表板 查看结果。

高级选项

忽略元素

await browser.execute('smartui.takeScreenshot', {
screenshotName: 'Ignore Dynamic Elements',
ignoreDOM: {
id: ['element-id'],
class: ['dynamic-class'],
xpath: ['//div[@class="ad"]']
}
});

选择特定区域

await browser.execute('smartui.takeScreenshot', {
screenshotName: 'Compare Specific Area',
selectDOM: {
id: ['main-content']
}
});

资源

资源描述
官方文档SmartUI文档
SmartUI仪表板访问您的SmartUI项目和构建
高级设置配置比较敏感度
构建选项高级构建配置

Welcome! How can I help?

WebdriverIO AI Copilot