BBC News的Wraith:一个视觉 regression 测试工具的搭建与使用指南
wraith项目地址:https://gitcode.com/gh_mirrors/wra/wraith
一、项目目录结构及介绍
Wraith是由BBC News开发的一个开源项目,专用于进行网站的视觉回归测试。下面是其基本的目录结构以及各部分的功能介绍:
wraith/
├── capture
│ ├── config.yaml # 配置文件,定义截图参数等
│ └── examples # 示例脚本和配置
├── Gemfile # Ruby依赖文件,用于管理项目所需的Gem包
├── lib # 包含核心库代码和主要功能实现
│ └── wraith # Wraith的核心逻辑所在
├── Rakefile # Rake任务文件,便于执行项目特定的任务
├── README.md # 项目说明文件
├── spec # 单元测试和规范文件夹
└── wraith.rb # 主入口文件,启动时会被加载
- capture: 包含了用于捕获网页快照的具体配置和可能的例子。
- Gemfile: 确定项目的Ruby依赖。
- lib: 项目的核心代码,实现了视觉对比的核心逻辑。
- Rakefile: 提供便利的命令行接口来执行项目任务。
- README.md: 项目的基本介绍和快速入门指导。
- spec: 存放所有测试案例,确保项目的稳定性和正确性。
- wraith.rb: 是项目的主程序文件,包含了初始化和运行的指令。
二、项目的启动文件介绍
启动Wraith主要通过Ruby环境下的命令行操作。虽然直接运行wraith.rb
不是常规操作,但项目依赖于定义在Rakefile
中的任务来执行。通常,开发者或使用者会通过调用Rake任务(如rake capture
)来启动截图过程。这背后涉及到对配置文件的读取、浏览器驱动的准备等一系列自动化步骤。
三、项目的配置文件介绍
config.yaml
配置文件是Wraith工作的关键,位于capture/config.yaml
中。它定义了比较视图所需要的所有重要设置,包括但不限于:
- browsers: 列出需要进行截图的浏览器类型(例如Chrome, Firefox等)。
- diff: 指定是否生成差异图,以及差异图片的保存位置。
- folder: 图片的存储目录。
- host: 网站的基础URL。
- paths: 要截取的页面路径列表,可以是比较前后的不同状态或场景。
- widths: 截图时窗口的不同宽度设置,用于响应式设计测试。
- compare: 对比模式的设定,比如是直接显示还是以HTML报告形式呈现结果。
配置文件允许高度定制化,适应不同的测试需求和环境设置,是确保Wraith按需工作的关键所在。
以上就是关于BBC News的Wraith项目基础结构、启动机制和配置文件的简要介绍。深入理解这些内容是有效利用Wraith进行视觉回归测试的前提。