wio-visual-regression-service 是一个基于 WebdriverIO 的 npm 包,提供了可视化回归测试功能,用于检测前端界面的改变。
该库使用了 Puppeteer 来捕捉页面截图,然后使用 pixelmatch 库来比较截图,进而检测网页是否发生了变化。
下面是一个 wdio-visual-regression-service 的使用教程,包含详细的内容和示例代码。
安装
要使用该库,需要先安装它,可使用 npm 命令行工具安装:
npm install @wdio/visual-regression-service --save-dev
配置文件
接下来需要在配置文件中添加 wdio-visual-regression-service。
在 wdio.conf.js
文件中加入以下代码:
-- -------------------- ---- ------- -------------- - - -- --- --------- - - -------------------- - -- ------ ---------- ------- ------- ------- -- -- -- -- --- --
服务选项可作如下配置:
-- -------------------- ---- ------- -------------- - - -- --- --------- - - -------------------- - -------------- - -- ------ -- --------- ----- ------ --- ---- -- ---------------------------------------- ------------------- ----- -- ------ -- ---- --------- ------- --- --------- -- ---------------------------------------- -- -------------------- ---- -- -- ----- ------- ---------- -- ------ ---------- ------ ---- ------- ---- -- - ------ ---------- ------ ---- ------- ---- -- - ------ ----------- ------ ---- ------- ---- --- -- ---- ------- --------- -- --------------------------------------------------------------------------------------------------- -- -- -- -- --- --
使用
所有的 wdio-visual-regression-service 命令都需要使用 browser.checkElement(screenName)
方法。
如果你想测试一个完整页面的变化,可以使用 browser.checkDocument(screenName)
方法。
在一个屏幕截图中,每个元素都是一个区域,其被称为 "screen region",一个 "screen region" 是相对于页面的一个位置。使用 browser.checkElement(screenName)
来检测这个 "screen region" 是否发生了变化。
// 等待元素加载 browser.waitUntil(() => $('#authform')); // 检测一个指定的屏幕区域 browser.checkElement('#authform', 'login-form');
使用 browser.checkDocument(screenName)
来检测整个页面的变化。
// 检测整个页面 browser.checkDocument('homepage');
如果查找元素时有较多的难度,则可以使用自定义规则查找元素。wdio-visual-regression-service 提供了 browser.addCommand()
方法,可以用来自定义规则。
-- -------------------- ---- ------- --------------------------------------- -------- ----------------- - ------ --------------------- ---------- - ------ --------------------------------- -- ----------------- --- -------------------- -- ---------------------------------------- ------------------------------------------------------------ --------------
结论
wdio-visual-regression-service 为我们提供了一种自动化的方式来检测前端页面变化。通过使用这个库,可以在每次代码更改后,自动化地检测界面的变化,避免浪费时间和精力手动检测。
截图比较功能提供了一个快速且简单的方式来检查网页是否发生了变化,因此,我们可以在不变动代码的情况下,自动检测页面的变化,最终提高测试效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedca83b5cbfe1ea0612430