Loki视觉回归测试工具入门指南
什么是Loki
Loki是一款基于Storybook的视觉回归测试工具,专门用于检测UI组件在不同环境和设备上的视觉表现差异。它通过捕获组件的屏幕截图并与基准图像进行对比,帮助开发者发现意外的UI变化,确保界面在不同平台和设备上的一致性。
环境准备
基础要求
- Node.js 16或更高版本
可选依赖
根据测试需求,你可能需要安装以下工具:
-
GraphicsMagick:用于图像差异比较引擎
- macOS用户可通过Homebrew安装:
brew install graphicsmagick
- macOS用户可通过Homebrew安装:
-
Docker:用于
chrome.docker测试目标 -
Chrome 59+:用于
chrome.app测试目标- 推荐安装Canary版本:
brew install --cask google-chrome-canary
- 推荐安装Canary版本:
-
Android调试工具:用于Android设备上的自愈崩溃功能
安装与配置
快速安装
执行以下命令完成基础安装:
yarn add loki --dev
yarn loki init
初始化命令会自动检测项目类型并生成默认配置。
手动配置
对于特殊需求,可以手动添加配置:
React Native项目
在storybook/storybook.js中添加:
import 'loki/configure-react-native'
其他项目
现代Storybook版本通常无需额外配置。旧版本可能需要:
// 在.storybook/preview.js中添加
import 'loki/configure-react'
测试流程详解
1. 检查配置
初始化后,package.json中会生成默认的Loki配置。对于Web项目,默认包含笔记本电脑和iPhone的测试配置,使用本地Chrome应用。你可以随时修改这些配置。
2. 启动Storybook
测试前必须启动Storybook服务:
yarn storybook
对于React Native项目:
- iOS模拟器:
react-native run-ios - Android模拟器:
react-native run-android
3. 创建基准图像
首次使用时需要生成基准图像:
yarn loki update
生成的图像默认保存在loki目录中,建议将这些文件纳入版本控制。
4. 修改组件
对组件或故事进行修改,这些修改将在后续测试中被检测。
5. 执行测试
运行测试命令:
yarn loki test
可以指定测试特定配置:
yarn loki test laptop # 测试名称包含"laptop"的配置
6. 检查差异
测试完成后会生成:
loki/current:当前测试截图loki/difference:差异对比图
建议使用专业工具仔细检查所有差异。
7. 确认变更
如果差异符合预期,更新基准图像:
yarn loki approve
更新后记得提交代码和新的基准图像。
最佳实践
-
命名规范:为配置使用描述性名称,如"chrome-desktop"、"ios-mobile"等
-
版本控制:考虑使用Git LFS管理基准图像
-
CI集成:将Loki测试集成到持续集成流程中
-
定期更新:随着UI迭代,定期更新基准图像
-
差异分析:建立明确的差异审查流程,确保只有预期的变更被接受
通过遵循这些步骤,Loki将成为你UI质量保障流程中不可或缺的工具,帮助你在开发早期发现视觉回归问题,提高产品的一致性和可靠性。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00