多浏览器兼容性测试工具 XBrowser剖析 www.xbrowser.alibabab-inc.com
Design & Implementation Contents Introduction 3 1 Design & Implementation 2 Innovation 3 背景介绍: Progress & Result 4
Introduction 现状 测试同学 - 验证功能点在主流浏览器上是否正常 运营同学 - 查看配置页面在主流浏览器上是否正常 测试同学 - 验证功能点在主流浏览器上是否正常 运营同学 - 查看配置页面在主流浏览器上是否正常 开发同学 - 自测功能点在主流浏览器上是否准确 前端同学 - 开发|测试时校验页面在主流浏览器上是否一致 不同类型的浏览器内核不同,相同的代码在不同的浏览器上的渲染效果未必相同 即同样的HTML页面在不同的浏览器上可能存在样式兼容性问题 人肉工作、重复、容易遗漏、效率低
Design & Implement Key Points Principle Design – OverAll Design – Agent Biz
Design & Implements -Key Points 准确自动定位HTML页面布局|内容差异 差异定义-页面整体处理? 布局差异-所有控件处理? 内容差异-页面像素比对? 打破传统 人肉->自动 页面整体处理,像素比对(误报率高,查看效率低)
Design & Implements -Principle 设计目标 准确 - 误报率|漏报率低 高效 - 运行速度快,查看效率高 稳定 - 大数据量(2G/天,时间集中)处理 易扩展 - 需求多样化 易使用 - 使用成本低、接入方便
Design & Implementation-OverAll
Innovation 数据准备相关 数据处理相关 其它 HTML页面解析(专利) 控件尺寸获取 自定义控件处理 动作录制和回放(专利) 图片比对(专利) 大图片读取处理 其它 均衡负载 任务无丢失处理 Driver执行速度提升
Innovation-HTML页面解析 无遗漏,用户使用放心 无重复,用户使用高效 数学模型
Innovation-控件尺寸获取 系统方法获取控件尺寸与实际展示有差异 极大降低对比误报率
Innovation-自定义控件处理 XPATH解析程序 所有浏览器下通用 支持控件的任何通用属性(不仅限于Id) 比chrome下开源的程序执行速度快
Innovation-动作录制与回放 解决需要动作触发的页面兼容性测试(专利) 动作录制:{key:value}动作序列 将动作序列反解JS程序执行 FF插件
Innovation-大图片读取处理 图片数据量大 每天约2G,单次最大请求约150M 多级缓存+持久化存储,懒加载 原则 agent直接写入redis; server端将tair中没有命中的图片写入tair; 定时job,将图片持久化存储; 解决Redis连接数有限问题 解决内存空间有限问题
Innovation-均衡负载 任务均衡分配,快速响应 抢占式调度 原则 彻底解决执行机执行效率问题 当前任务已经被其它机器执行,立即退出; 当前任务没有被其它机器执行,立即执行; 彻底解决执行机执行效率问题
Innovation-任务无丢失处理 任务持久化存储 任务本地化存储 原则 当前任务已经被执行,从本地文件中删除; 当前任务没有被执行,存入本地文件; 彻底解决因执行机本身、selenium driver异常导致的任务丢失
Innovation-Driver执行速度提升 WebDriver JS 交互调优 简单对象代替复杂对象 效果(淘宝页面IE6为例) 40s 执行结果简单化 90s 执行结果压缩 120s 复杂对象
Progress & Result 用户群体 使用效果 测试 - CBU、ICBU、ETAO、TMALL、ALIYUN、TAOBAO 开发 - 行业开发组DCMS产品线 前端 - ICBU 使用效果 目前平台任务数:5500+,任务运行次数:11000+ 仅家居小商品行业,目前发现的线上页面的存在的问题数50+个
Progress & Result 后续 系统 准确性提升 - 更实用 速度 提升 - 更高效 用户运营 彻底解决问题 兼容HTML5 准确性提升 - 更实用 速度 提升 - 更高效 用户运营 兼容HTML5 插件优化 增值服务 彻底解决问题
Thank You ! www.xbrowser.alibabab-inc.com