多浏览器行为同步的手工兼容性测试方法

简介:

背景:

  在浏览器的手工兼容性测试中,为了测试兼容性,需要测试人员手工在各个浏览器中分别、重复的进行相同操作,既效率低下,又让测试人员感到枯燥。

  问题:

  自动化测试可以让测试人员脱离枯燥的测试行为,提升测试效率,但自动化测试更关注业务功能的验证,对于页面兼容性不如手工测试直观、有效。

  解决方案:

   将测试人员在某一浏览器的操作行为,即时同步到其它浏览器中,这样测试人员只需要在一种浏览器中进行操作,就能同时看到其它浏览器中进行相同操作的效 果。这样既避免了测试人员在不同浏览器中分别进行相同操作的枯燥,同时有效地提升测试效率,并且能够直观、有效的监控到各浏览器页面的兼容性。

  原理分析:

  用到的技术:Javascript、鼠标/键盘事件、套接字Socket、XMLHttpRequest、Selenium-WebDriver

  1)整体框架

  整体框架分为Server端和Client端,如下图所示:

  注:图中的XHR为XMLHttpRequest对象。

   上图中,首先对document注入js,绑定鼠标事件和键盘事件,对当前被操作浏览器的行为进行捕获;通过XHR实现Server端和Client端 (即当前被操作浏览器)一对一的消息交互;各个浏览器进行通信之前,为每个请求创建socket实例,接收当前被操作浏览器发送过来的消息,并运用 Selenuim-WebDriver扩展开发将该行为同步到其他浏览器,达到在不同浏览器上的兼容性测试。

  2)流程

  流程分为两大部分:浏览器行为捕获和各个浏览器间的行为同步,其中行为捕获有捕获和记录两个动作,行为同步是通过Socket通信机制和Selenuim-WebDriver扩展开发来实现的,具体如下:

   捕获:通过对document注册mousedown和keydown事件,当监听到事件发生时,获取当前对象的path或者keycode。同时绑定 blur事件,当鼠标点击的元素为input时触发,获取input对象的value值,即输入框中输入的内容。 path/keycode和value通过XMLHttpRequest传给Server端,供各个浏览器通信用。当前被操作浏览器的每一次操作,都会通 过创建XMLHttpRequest实例,向指定的服务器端口发送。

  行为同步:在各个浏览器开始通信之前, 要建立当前被操作浏览器和其他浏览器之间的连接。需要服务端在监听到请求之后,为每个请求创建socket实例,将当前被操作浏览器发送过来的消息 (path/keycode和value)接收,通过Selenuim-WebDriver扩展开发反馈给其他浏览器进行同步操作。

  后续规划:

  目前一期产品已经发布,可以同时同步的浏览器有IE/ForeFox/Chrome/Safari/360/Sougou/World

  1)网络版,支持本机同步到虚拟机,用于IE6/7/8/9的兼容性测试

  2)提升用户体验,添加其他常用功能

  3)截图对比,减少人肉工作量,提高效率

  4)录制功能








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
打赏
0
0
0
0
26200
分享
相关文章
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
156 4
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
性能测试怎么做?方法、流程与核心要点解析
本文系统阐述了性能测试的核心方法论、实施流程、问题定位优化及报告编写规范。涵盖五大测试类型(负载验证、极限压力、基准比对、持续稳定性、弹性扩展)与七项关键指标,详解各阶段任务如需求分析、场景设计和环境搭建,并提供常见瓶颈识别与优化实战案例。最后规范测试报告内容框架与数据可视化建议,为企业级实践提出建立基线库、自动化回归和全链路压测体系等建议,助力高效开展性能测试工作。
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
134 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
362 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
237 6

热门文章

最新文章

AI助理
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问

你好,我是AI助理

可以解答问题、推荐解决方案等