微信读书排版引擎自动化测试方案(6)

发表于:2017-03-10来源:WeRead团队博客作者:WeRead点击数: 标签:微信
自动化测试流程 下面,将介绍我们完整的排版引擎自动化测试流程。 1 生成排版结果 首先,用户需要确定参数:待生成排版结果的 svn 版本范围 r1~rn 、书

自动化测试流程

下面,将介绍我们完整的排版引擎自动化测试流程。

1 生成排版结果

首先,用户需要确定参数:待生成排版结果的 svn 版本范围 r1~rn、书单、阅读偏好设置(字体、缩进、主题模式)。把这些参数传给脚本batch_scan.py,然后自动化流程开始,脚本会执行以下步骤:

  1. 在指定 svn 版本范围内,找出排版引擎有变更的版本,checkout
  2. 对每个 checkout 的版本,用 xcodebuild 编译项目,安装到模拟器
  3. 通过 Instrument 的 UI Automation 脚本,打开模拟器,运行微信读书App,进入到测试彩蛋页面:执行 scheme,生成排版结果
  4. 把结果从模拟器移动到指定的目录下

生成排版结果

2 生成排版结果差异

得到排版结果后,执行脚本 batch_diff.py,对相近的版本,每本书的每一页通过 diffimg.py对比,如果有差异,则输出可视化的差异结果。

对比排版结果

3 人工检查差异

原文转自:http://wereadteam.github.io/2016/08/23/Typesetter/