首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

微信读书排版引擎自动化测试

引言 在微信读书 App [1] 中,排版引擎负责把书源文件解析、渲染至屏幕,是最常用、最复杂的组件之一。而开发同学对排版引擎的日常修改,可能影响了海量书籍的排版结果。...对排版引擎修改的测试耗时多、难度大、容易漏测。本文介绍了为解决测试的难题,如何逐步将人工测试步骤自动化,最终构建了一套微信读书排版引擎自动化测试流程,以确保微信读书排版引擎的质量。...背景 什么是排版引擎 " 排版引擎(layout engine,也称为浏览器内核(web browser engine)、页面渲染引擎(rendering engine)或样版引擎)是一种软件组件,负责获取标记式内容...排版引擎日常修改 为了获得极致的阅读体验,产品同学经常会提出细致的排版需求,交给开发同学修改。而排版引擎的修改,往往牵一发动全身,大量书籍排版结果都会受影响。...除了精细化的排版需求会对排版引擎代码做修改,在日常的维护中,也会重构排版引擎、修改排版引擎相关但不影响排版结果的代码。每次重构、修改后,也会交给测试同学验证此次修改对排版结果没有影响。

1.5K70
您找到你想要的搜索结果了吗?
是的
没有找到

微信读书排版引擎自动化测试

引言 在微信读书 App [1] 中,排版引擎负责把书源文件解析、渲染至屏幕,是最常用、最复杂的组件之一。而开发同学对排版引擎的日常修改,可能影响了海量书籍的排版结果。...对排版引擎修改的测试耗时多、难度大、容易漏测。本文介绍了为解决测试的难题,如何逐步将人工测试步骤自动化,最终构建了一套微信读书排版引擎自动化测试流程,以确保微信读书排版引擎的质量。...背景 什么是排版引擎 " 排版引擎(layout engine,也称为浏览器内核(web browser engine)、页面渲染引擎(rendering engine)或样版引擎)是一种软件组件,负责获取标记式内容...排版引擎日常修改 为了获得极致的阅读体验,产品同学经常会提出细致的排版需求,交给开发同学修改。而排版引擎的修改,往往牵一发动全身,大量书籍排版结果都会受影响。...除了精细化的排版需求会对排版引擎代码做修改,在日常的维护中,也会重构排版引擎、修改排版引擎相关但不影响排版结果的代码。每次重构、修改后,也会交给测试同学验证此次修改对排版结果没有影响。

1.4K20

HTML5 游戏引擎深度测评

最近看到网上一篇文章,标题叫做《 2016年 最火的 15 款 HTML5 游戏引擎 》。目前针对HTML5游戏的解决方案已经非常多,但谁好谁差却没有对比性资料。...通常我们都会认为它们是游戏引擎领域两类不同的产品。原文中提及的引擎确实是当下最为流行的HTML5游戏引擎。很多引擎属于2D、3D通吃类型,我们通过一个表格进行对比。...编程语言 基于HTML5技术的游戏引擎,所需要的脚本必定是JavaScript,只有JavaScript脚本语言才能运行于浏览器中。...Egret 定位 Egret算是HTML5游戏引擎中的新起之秀,其定位已不单纯为HTML5游戏引擎。官方将其定位为“游戏解决方案”,同时也并未过多提及HTML5。...设计理念 由于Turbulenz引擎更多的为自己设计,更多的提供runtime支持,从严格意义上将,Turbulenz引擎不算是纯正的HTML5游戏引擎

5.9K131

HTML5游戏引擎深度测评

最近看到网上一篇文章,标题叫做《2016年 最火的 15 款 HTML5 游戏引擎》。目前针对HTML5游戏的解决方案已经非常多,但谁好谁差却没有对比性资料。...通常我们都会认为它们是游戏引擎领域两类不同的产品。原文中提及的引擎确实是当下最为流行的HTML5游戏引擎。很多引擎属于2D、3D通吃类型,我们通过一个表格进行对比。...但绝大部分HTML5游戏引擎还是采用JavaScript语言。只有4款引擎选择支持TypeScript。...Egret定位 Egret算是HTML5游戏引擎中的新起之秀,其定位已不单纯为HTML5游戏引擎。官方将其定位为“游戏解决方案”,同时也并未过多提及HTML5。...设计理念 由于Turbulenz引擎更多的为自己设计,更多的提供runtime支持,从严格意义上将,Turbulenz引擎不算是纯正的HTML5游戏引擎

7.8K91

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

而开发同学对排版引擎的日常修改,可能影响了海量书籍的排版结果。对排版引擎代码变更的测试,往往耗时多、难度大、容易漏测。...本文介绍了为解决测试的难题,如何逐步将人工测试步骤自动化,最终构建了一套微信读书排版引擎自动化测试流程,以确保微信读书排版引擎的质量。...一.背景 1.排版引擎日常修改 为了获得极致的阅读体验,产品同学经常会提出细致的排版需求,交给开发同学修改。而排版引擎的修改,往往牵一发动全身,可能导致书城上万本书籍排版结果受影响。...测试同学使用持续集成工具编译打包,得到排版引擎修改后的 App 安装包;然后在两台设备安装排版引擎修改前、后两个版本的 App,同时打开需要测试的书籍,翻页,对比,通过肉眼观察排版差异是否符合预期。...除了精细化的排版需求会对排版引擎代码做修改,在日常的维护中,也会重构排版引擎、修改排版引擎相关但不影响排版结果的代码。每次重构、修改后,也会交给测试同学验证此次修改对排版结果没有影响。

4.4K10

畅行HTML5游戏世界——Egret引擎

2015年,HTML5游戏异常火爆,从最初的单机小游戏,到后来的中重度网络游戏如雨后春笋般涌现。随着市场需求的增多,越来越多的开发者投入到HTML5游戏开发行业中来。...在HTML5和移动游戏强大的发展趋势下,Egret引擎应运而生,Egret 引擎专注于移动设备上的HTML5 游戏开发,为HTML5 游戏开发者提供了无可比拟的快捷开发游戏的方式。...(由Egret引擎开发的游戏截图) Egret 引擎×特点 由于Egret 引擎专注游戏开发,因此下面就从游戏开发涉及的各方面来介绍引擎的特点。...跨平台 Egret 本身是用来开发HTML5 页面游戏的,但Egret 引擎早已考虑了广大开发者制作原生游戏的需求,因此提供了Android Support 和iOS Support,使得原本只能在HTML5...相 关 图 书 《Egret—HTML5游戏开发指南》 Egret精粹 白鹭引擎诚意之作 全面系统 海量案例 张鑫磊 等 著

2.2K10

Pluto - iOS 上一个高性能的排版渲染引擎

WeTest 导读  Pluto 是 iOS 上的一个排版渲染引擎,通过 JSON/JS 文件可以很方便地描述界面元素,开发效率很高,并且在流畅度,内存等方便有保证。...基于这样的需求,我们重新盘点了市面上比较成熟的排版渲染引擎 ComponentKit,新的开发框架比如 React Native,甚至参考 Android 的排版系统。...都难以同时解决上述问题,最终决定我们自己来做一个,一个专注性能和开发效率的排版引擎,Pluto。...目前 Pluto 已经应用于 QQ,Qzone 上大部分的空间 Feed 样式,关于 Pluto 和这些现有的排版渲染引擎对比的细节,我后面会说明,我们先来看看 Pluto 用起来是怎么样的。...● 可以是写成 JSON 格式,通过本地读取,或者后台下发来排版。 ● 不可变数据: 在整个排版引擎中,排版数据是不可变的,这意味着很容易维护、测试、缓存、复用以及做到线程安全等等。

1.2K30

Pluto - iOS 上一个高性能的排版渲染引擎

原文链接:http://wetest.qq.com/lab/view/369.html WeTest 导读 --------- Pluto 是 iOS 上的一个排版渲染引擎,通过 JSON/JS 文件可以很方便地描述界面元素...基于这样的需求,我们重新盘点了市面上比较成熟的排版渲染引擎 ComponentKit,新的开发框架比如 React Native,甚至参考 Android 的排版系统。...都难以同时解决上述问题,最终决定我们自己来做一个,一个专注性能和开发效率的排版引擎,Pluto。...目前 Pluto 已经应用于 QQ,Qzone 上大部分的空间 Feed 样式,关于 Pluto 和这些现有的排版渲染引擎对比的细节,我后面会说明,我们先来看看 Pluto 用起来是怎么样的。...● 可以是写成 JSON 格式,通过本地读取,或者后台下发来排版。 ● 不可变数据: 在整个排版引擎中,排版数据是不可变的,这意味着很容易维护、测试、缓存、复用以及做到线程安全等等。

2.3K60

《Pluto - iOS 上一个高性能的排版渲染引擎

| 导语 Pluto 是 iOS 上的一个排版渲染引擎,通过 JSON/JS 文件可以很方便地描述界面元素,开发效率很高,并且在流畅度,内存等方便有保证 Qzone Feed 业务复杂,样式很多。...基于这样的需求,我们重新盘点了市面上比较成熟的排版渲染引擎 ComponentKit,新的开发框架比如 React Native,甚至参考 Android 的排版系统。...都难以同时解决上述问题,最终决定我们自己来做一个,一个专注性能和开发效率的排版引擎,Pluto。...目前 Pluto 已经应用于 QQ,Qzone 上大部分的空间 Feed 样式,关于 Pluto 和这些现有的排版渲染引擎对比的细节,我后面会说明,我们先来看看 Pluto 用起来是怎么样的。...可以是写成 JSON 格式,通过本地读取,或者后台下发来排版。 不可变数据: 在整个排版引擎中,排版数据是不可变的,这意味着很容易维护、测试、缓存、复用以及做到线程安全等等。

1.3K70

技术干货分享:如何选择 HTML5 游戏引擎

由于H5引擎有很多,笔者在这里进行了精心的筛选,过滤掉不支持webGL的引擎,以及封装了第三方渲染内核的JS框架,和不能直接在浏览器中运行的JS引擎。...从上图看出,支持JavaScript语言的引擎更多,由于AS3语言的编译器为Layabox引擎推出的,因此采用AS3作为开发语言的仅有Layabox引擎。...2、引擎的未来延续能力 选择一个引擎,并不是简单的认为,满足眼前够用就可以了,引擎的未来延续能力也是很重要的,这个项目是2D,下个项目想开发3D,如果引擎不支持怎么办?去换个引擎?...在runtime方面Cocos2d-js也有着原生级的表现,经过对比,笔者认为Layabox性能的综合实力最强,在各个渲染领域都保持在HTML5引擎的顶级水平。...发布PC页游时,由于PC浏览器目前对HTML5兼容性不足70%,用户损耗很大,页游联运平台可能会拒绝或放量很少,只有采用能同时发布Flash版本的引擎,才能解决这个问题。 ?

2.1K90

排版建议

最近有关注诸多大佬的博客亦或微信公众号,也时常阅读一些好的文章,它们的排版风格亦是各不相同。大概是大佬都专注于叠代码的缘故,对于文章的排版好坏可能抱着得过且过的态度,有部分的文章排版实在不堪入目。...文章无过,希望大佬们能够听一下我的排版建议。 对于我们而言,考虑到每个人的审美标准不同,所以一个好的排版其实也是因人而异。但总的来说,一篇技术博文的排版落落大方,那么它看起来也将是赏心悦目的。...最后的结果是让读者心烦意乱,不停抱怨,那文章的排版亟待提高。 推荐微信公众号的字体采用15px或16px,如果太小,会显得文章密密麻麻,很是糟糕,而字体太大文章第一感觉会让人觉得不好看呢。...很多人都了解,阅读的眼睛看起来最舒服的并不是纯黑,而是深灰色,而这个在公众号排版颜色中大概是 #585858。 相关配图 文章的配图也会显得极其重要,没有人会钟意于被一张占据整个页面的文章。

1.1K20

谢成鸿:HTML5引擎将向全行业引擎领域发展

在会上,Layabox总裁谢成鸿讲解了HTML5游戏引擎的现状和未来的发展,认为HTML5的性能突破将淘汰单个行业领域的全能引擎,向全行业引擎领域发展,HTML5的3D引擎时代也会提前到来。 ?...关于中国的游戏引擎 先稍微普及一下游戏引擎。游戏引擎包括了开发游戏的核心框架和IDE工具,可以使你大大节省开发时间和成本。而HTML5游戏引擎就是采用HTML5技术的游戏引擎。...但是随着HTML5游戏引擎的完善,从2016年开始会流行全行业引擎。就是用一个引擎就能同时开发出APP、HTML5、VR、Flash多种版本,甚至可以打包成EXE的安装软件。...HTML5引擎提供的服务 HTML5引擎能够为我们的CP提供的是哪些服务。 第一是引擎库。...HTML5的3D引擎时代提前来了 很多CP还在消化轻量级2D游戏的时候,其实引擎厂商已经在瞄准3D游戏时代了,目前HTML5的三大引擎商都有了自己的3D引擎,并且有CP已开始采用Layabox引擎开发

71920

Python|图形排版

假设纸张的宽度是 M,小明使用的文档编辑工具会用以下方式对图片进行自动排版: 1. 该工具会按照图片顺序,在宽度 M 以内,将尽可能多的图片排在一行。该行的高度是行内最高的图片的高度。...(分割线以上为列标尺,分割线以下为排版区域;数字组成的矩形为第x张图片占用的版面) 0123456789 ---------- 111 111 333 11122333 11122333 2....如果当前行剩余宽度为0,该工具会从下一行开始继续对剩余的图片进行排版,直到所有图片都处理完毕。此时所有行的总高度和就是这 N 张图片的排版高度。...他希望剩余N-1张图片按原顺序的排版高度最低,你能求出最低高度是多少么? 【输入格式】 第一行包含两个整数 M 和 N,分别表示纸张宽度和图片的数量。...图4.1 运行效果 结语 这道题思路很简单,关键在图片排版时的情况是否考虑完全: ? 图5.1 思路 在设置条件时,注意可能发生的情况。要求我们树立全局观,严谨对待问题。

1.8K20

多端排版杂谈

Web端的应用场景越发广阔,内容排版越发复杂;这让排版技术在web端扮演着更加举足轻重的角色。...,div+css的引入又是web排版技术的一个新起点,这是第一次提到了流体排版的概念;这种排版技术提倡是:所有的元素都可以当成流的一部分,遵循默认的从左到右、从上到下排版,从而减少开发者一些不必要的排版计算...2008年,第一份HTML5正式草案发布,我想那时候大部分的开发者还陷在解决IE6的排版缺陷的泥潭中;当时HTML5带来很多新的东西,但在排版方面没有带来革命性的技术,而是在流体排版的基础上引入了FlexBox...Layout(弹性盒子排版),弹性布局更多的注重是在对排版流的控制上;为常用的排版场景提供更加优雅的解决方案。...使用Grid Layout排版的表单        这似乎跟table排版有些相似,起码网格式的排版思想是一样的,不过我想下面的意图应该才是定制该标准的意图: 1、页面扁平化,开发者以后的排版尽可能要从全局化考虑

1.1K70
领券