本说明书的一个或多个实施例涉及互联网,特别的涉及一种测试驱动方法及装置、页面测试方法及装置。
背景技术:
1、用户界面测试,(user interface testing,简称ui测试),通常用于测试用户界面上的对象是否能完成预期的功能,以确保具有良好的用户体验。
2、现有用户界面测试的驱动方案是基于系统原生驱动方案(如android/ios/window/mac os)或chrome driver来实现的。前者方案的执行必须依赖pc运行环境,需要大量的环境搭建与执行环境准备成本,且执行成功率较低、稳定性较差,对运行状态感知度较低。后者方案需要利用chrome通信协议控制浏览器内核对页面进行自动化操作,上述操作依赖于运行环境以及浏览器控制权限。
技术实现思路
1、本说明书一个或多个实施例描述了一种测试驱动方法及装置、页面测试方法及装置,能在任意环境执行,基于页面内dom事件注入,还原用户操作行为,从而实现自动化测试。
2、第一方面,本说明书实施例提供了一种测试驱动方法,执行于前端页面,方法包括:
3、基于前端页面的用户操作,生成dom事件;其中,所述dom事件存储有用户操作链路和操作指令;
4、将dom事件注入到前端页面中的待测元素,利用dom事件触发对待测元素的测试步骤。
5、第二方面,本说明书实施例提供了一种页面测试方法,包括:
6、利用第一方面所述的测试驱动方法,触发对待测元素的测试步骤;
7、依据测试步骤执行测试用例的某一步骤;
8、当测试用例中的所有步骤按上述流程执行完后,完成测试用例对页面的测试。
9、第三方面,本说明书实施例提供了一种测试驱动装置,设于前端页面,装置包括:
10、生成模块,用于基于前端页面的用户操作,生成dom事件;其中,所述dom事件存储有用户操作链路和操作指令;
11、触发模块,将dom事件注入到前端页面中的待测元素,利用dom事件触发对待测元素的测试步骤。
12、第四方面,本说明书实施例提供了页面测试装置,包括:
13、第三方面所述的测试驱动装置,以及测试模块。
14、第五方面,本说明书实施例提供了电子设备,包括处理器以及存储器;
15、所述处理器与所述存储器相连;
16、所述存储器,用于存储可执行程序代码;
17、所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行上述方法。
18、第六方面,本说明书实施例提供了计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
19、本说明书一些实施例提供的技术方案带来的有益效果至少包括:
20、在本说明书一个或多个实施例中,本说明书实施例提出了测试驱动方案以及利用该测试驱动方案实现的页面测试方案;该测试驱动方案基于前端页面的用户操作,生成dom事件,将dom事件注入前端页面中的待测元素,以此还原用户操作行为,之后基于dom事件触发测试步骤执行,这样可以在页面内直接进行自动化操作,无需用户感知,极大降低泛前端场景的自动化测试成本。
1.测试驱动方法,执行于前端页面,方法包括:
2.根据权利要求1所述的方法,所述前端页面的用户操作为用户在前端页面编写的用户操作,或者,所述前端页面的用户操作由javascript监听用户在前端页面的操作获得,或者,所述前端页面的用户操作基于页面自动生成。
3.根据权利要求1所述的方法,所述基于前端页面的用户操作,生成dom事件,包括:
4.根据权利要求3所述的方法,在将此过程生成用户操作链路前,还包括:判断用户操作的操作范围未超出点击范围时,则用户操作链路为点击链路,否则用户操作链路为滑动链路。
5.根据权利要求1所述的方法,所述待测元素为前端页面中的控件或可交互元素。
6.根据权利要求1所述的方法,所述将dom事件注入到前端页面中的待测元素,包括:
7.根据权利要求1所述的方法,还包括:
8.页面测试方法,包括:
9.根据权利要求8所述的方法,还包括:在页面测试执行前,基于操作指令配置有测试代码;
10.测试驱动装置,设于前端页面,装置包括:
11.根据权利要求10所述的装置,所述生成模块包括:
12.根据权利要求11所述的装置,所述生成模块还包括:
13.页面测试装置,包括:
14.电子设备,包括处理器以及存储器;
15.计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述的方法。