《多浏览器兼容性测试平台XBrowser剖析》
XBrowser是一款专为解决互联网应用多浏览器兼容性问题的测试平台,旨在提高测试效率,减少人肉工作,避免遗漏和误报,确保网页在各种主流浏览器上的表现一致性。该平台通过一系列创新技术实现了自动化、准确和高效的测试。
设计与实现的关键点主要包括:
1. **准确自动定位HTML页面布局与内容差异**:XBrowser采用了不同于传统的人工校验方式,通过页面整体处理和像素比对来检测布局和内容差异。它能准确识别和报告页面在不同浏览器下的差异,降低误报和漏报率,同时提高了查看效率。
2. **高效运行与稳定处理大数据量**:平台设计目标是快速运行,处理大数据量(如每天2GB)且保持稳定性,确保在时间集中时也能稳定运行。
3. **易扩展与易使用**:为了满足多样化的需求,XBrowser设计得易于扩展,接入简单,降低了使用成本。
创新点主要包括:
1. **HTML页面解析**:XBrowser采用专利技术解析HTML页面,确保无遗漏和无重复,让用户可以放心使用。
2. **控件尺寸获取**:系统通过精确计算控件尺寸,解决了系统方法获取尺寸与实际显示不一致的问题。
3. **自定义控件处理**:支持XPath解析程序,适用于所有浏览器,可处理任何通用属性,执行速度优于Chrome下的开源程序。
4. **动作录制与回放**:XBrowser能记录并回放用户操作,解决了需要用户交互的页面兼容性测试问题,尤其在Firefox插件中的应用。
5. **大图片读取处理**:针对大量图片数据,平台采用多级缓存和持久化存储策略,实现图片的懒加载,解决了Redis连接数有限和内存空间有限的问题。
6. **任务均衡负载**:平台采用抢占式调度策略,确保任务快速响应并均衡分配到各执行机,有效解决了执行效率问题。
7. **任务无丢失处理**:通过任务持久化存储,即使遇到执行机异常或Selenium Driver问题,也能确保任务不丢失。
8. **Driver执行速度提升**:对WebDriver的JS交互进行了优化,简化了对象处理,显著提升了执行速度。
XBrowser的用户群体包括测试、开发和前端团队,如CBU、ICBU、ETAO、TMALL、ALIYUN和TAOBAO等。平台已处理任务超过5500个,运行次数超过11000次,帮助发现了50多个线上页面存在的问题。未来,XBrowser将进一步提升准确性、速度,优化用户体验,兼容HTML5,改进插件功能,并提供增值服务,以全面解决浏览器兼容性问题。