CN110955589A - 基于浏览器的无头模式的测试方法、系统、设备及介质 - Google Patents

基于浏览器的无头模式的测试方法、系统、设备及介质 Download PDF

Info

Publication number
CN110955589A
CN110955589A CN201811134478.8A CN201811134478A CN110955589A CN 110955589 A CN110955589 A CN 110955589A CN 201811134478 A CN201811134478 A CN 201811134478A CN 110955589 A CN110955589 A CN 110955589A
Authority
CN
China
Prior art keywords
page
browser
test
interface
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811134478.8A
Other languages
English (en)
Inventor
潘晓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201811134478.8A priority Critical patent/CN110955589A/zh
Publication of CN110955589A publication Critical patent/CN110955589A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于浏览器的无头模式的测试方法、系统、设备及介质,其中测试方法包括:调用无头浏览器的启动接口以启动无头浏览器;调用客户端配置接口,根据客户端类型配置配置接口的参数;根据预设的测试用例设置测试参数;调用页面测试接口,页面测试接口用于根据配置接口的参数打开无头浏览器的预设页面,并根据测试参数在预设页面上进行对应的测试。本发明浏览器使用无头运行模式启动并运行显示页面,减少了显示页面的渲染时间,使得整体显示页面的响应时间比常规的自动化测试的显示页面的响应时间提升了100%以上,大大提升了显示页面测试的测试效率。

Description

基于浏览器的无头模式的测试方法、系统、设备及介质
技术领域
本发明涉及测试领域,尤其涉及一种基于浏览器的无头模式的测试方法、系统、设备及介质。
背景技术
现有的主流的web(全球广域网)自动化测试技术,主要包括用户界面(UI)自动化测试、数据健壮性测试和性能测试。
现有的用户界面自动化测试通常是通过脚本启动浏览器,然后执行测试脚本,通过框架让浏览器执行操作,浏览器的启动,执行,是模拟用户打开浏览器以及打开页面,以及操作显示的界面,以完成自动化测试,因为界面打开至完全显示需要占用一定的时间以及要处理显示机制,导致现有的用户界面自动化测试执行效率低下,速度慢,稳定性差的缺点。
数据健壮性测试一般通过数据mock(模拟测试)测试进行,原理是通过中间代理层截取传输数据并且将截取的传输数据做修改,将修改后的数据作为传输数据继续传输,以得到测试数据结果。但现有的数据mock测试,需连接代理,部分https(超文本传送服务协议)连接无法篡改,导致部分数据健壮性测试无法完成测试,影响测试结果,执行效率低。
性能测试通常是使用一些第三方工具平台进行测试,而业界暂无成熟的自动化测试方案,现有的性能测试执行效率低。
发明内容
本发明要解决的技术问题是为了克服现有技术中自动化测试执行效率低的缺陷,提供一种基于浏览器的无头模式的测试方法、系统、设备及介质。
本发明是通过下述技术方案来解决上述技术问题:
一种基于浏览器的无头模式的自动化测试方法,所述基于浏览器的无头模式的自动化测试方法包括:
调用所述浏览器的启动接口并以无头模式启动所述浏览器;
调用客户端配置接口,根据客户端类型配置所述配置接口的参数;
根据预设的测试用例设置测试参数;
调用页面测试接口,所述页面测试接口用于根据所述配置接口的参数打开所述无头浏览器的预设页面,并根据所述测试参数在所述预设页面上进行对应的测试。
较佳地,所述测试用例包括界面显示功能测试用例,所述界面显示功能测试用例包括验证显示页面中的显示元素是否显示,所述显示元素包括控件;
和/或,所述测试用例包括数据健壮性测试用例,所述数据健壮性测试用例包括拦截并修改页面交互数据,以验证页面是否按预设显示进行显示;
和/或,所述测试用例包括页面性能测试用例,所述页面性能测试用例包括测试页面的白屏时间、显示页面的完全加载时间、显示界面的流量消耗、显示页面返回的资源头是否使用超文本传输协议连接复用、显示页面返回的资源头占用的缓存时间以及是否进行数据传输压缩中的至少一种。
较佳地,所述调用客户端配置接口,根据客户端类型配置所述配置接口的参数的步骤之后还包括:
调用cookie(网站存储于计算机上的用户个人信息)设置接口,根据所述浏览器的登录页面设置所述cookie设置接口的cookie信息。
较佳地,所述浏览器为Chrome浏览器,和/或,所述启动接口、所述配置接口和所述页面测试接口为Puppeteer库接口;
和/或,所述测试用例包括若干个,每个所述测试用例均以进程方式运行。
一种基于浏览器的无头模式的自动化测试系统,所述基于浏览器的无头模式的自动化测试系统包括启动模块、配置模块、设置模块和测试模块;
所述启动模块用于调用所述浏览器的启动接口并以无头模式启动所述浏览器;
所述配置模块用于调用客户端配置接口,根据客户端类型配置所述配置接口的参数;
所述设置模块用于根据预设的测试用例设置测试参数;
所述测试模块用于调用页面测试接口,所述页面测试接口用于根据所述配置接口的参数打开所述无头浏览器的预设页面,并根据所述测试参数在所述预设页面上进行对应的测试。
较佳地,所述测试用例包括界面显示功能测试用例,所述界面显示功能测试用例包括验证显示页面中的显示元素是否显示,所述显示元素包括控件;
和/或,所述测试用例包括数据健壮性测试用例,所述数据健壮性测试用例包括拦截并修改页面交互数据,以验证页面是否按预设显示进行显示;
和/或,所述测试用例包括页面性能测试用例,所述页面性能测试用例包括测试页面的白屏时间、显示页面的完全加载时间、显示界面的流量消耗、显示页面返回的资源头是否使用超文本传输协议连接复用、显示页面返回的资源头占用的缓存时间以及是否进行数据传输压缩中的至少一种。
较佳地,所述基于浏览器的无头模式的自动化测试系统还包括cookie设置模块,所述cookie设置模块用于调用cookie设置接口,根据所述浏览器的登录页面设置所述cookie设置接口的cookie信息。
较佳地,所述浏览器为Chrome(一种浏览器)浏览器,和/或,所述启动接口、所述配置接口和所述页面测试接口为Puppeteer(提供了一组用来操纵Chrome的应用程序接口)库接口;
和/或,所述测试用例包括若干个,每个所述测试用例均以进程方式运行。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于浏览器的无头模式的自动化测试方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于浏览器的无头模式的自动化测试方法的步骤。
本发明的积极进步效果在于:
本发明的浏览器以无头模式方式运行测试用例,以实现自动化测试,与常规自动化测试相比,可得到同样的测试结果,而由于浏览器使用无头运行模式启动并运行显示页面,减少了显示页面的渲染时间,使得整体显示页面的响应时间比常规的自动化测试的显示页面的响应时间提升了100%以上,大大提升了显示页面测试的测试效率。
附图说明
图1为本发明的实施例1的基于浏览器的无头模式的自动化测试方法的流程图。
图2为本发明的实施例2的基于浏览器的无头模式的自动化测试方法的流程图。
图3为本发明的实施例3的基于浏览器的无头模式的自动化测试系统的模块示意图。
图4为本发明的实施例4的基于浏览器的无头模式的自动化测试系统的模块示意图。
图5为本发明的实施例5的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种基于浏览器的无头模式的自动化测试方法,本方法的软件环境为:
操作系统:Windows(一种操作系统),Linux(一种操作系统),MacOS(一种操作系统)均可,考虑到现有云主机服务大部分使用Linux操作系统,本实施例中使用的是Linux操作系统。浏览器为最新谷歌Chrome浏览器。基于NodeJS(一种编程语言运行环境)+Puppeteer的NodeJS开发环境。
环境准备工作用于启动浏览器,执行浏览器对显示页面的操作,完成对页面信息的获取,也可以用于输出关键点信息。测试脚本使用Javascript(一种编程语言)编写,并且使用最新的ECMAScript6标准,所有测试脚本需要先导入Puppeteer库,使用node方式运行。
如图1所示,基于浏览器的无头模式的自动化测试方法包括:
步骤101、调用所述浏览器的启动接口并以无头模式启动所述浏览器。
以无头模式启动浏览器:
Figure BDA0001813789550000051
调用此接口,能在后台启动一个没有界面的Chrome浏览器进程,后续可在该浏览器上做一些类似在有界面上的操作,例如新建一个tab(标签页),打开一个显示页面,关闭一个tab等。
步骤102、调用客户端配置接口,根据客户端类型配置前述的配置接口的参数。
客户端类型通常包括手机客户端和PC(个人计算机)客户端。
可通过以下方式配置手机客户端:
await page.setUserAgent('Mozilla/5.0(iPhone;CPU iPhone OS 9_1 likeMac OS X)AppleWebKit/601.1.46(KHTML,like Gecko)Version/9.0Mobile/13B143Safari/601.1')
可通过以下方式配置PC客户端:
page.setUserAgent('Mozilla/5.0(Macintosh;Intel Mac OS X 10_12_6)AppleWebKit/537.36(KHTML,like Gecko)Chrome/64.0.3282.186Safari/537.36')
步骤103、根据预设的测试用例设置测试参数。
步骤104、调用页面测试接口,页面测试接口用于根据配置接口的参数打开无头浏览器的预设页面,并根据测试参数在预设页面上进行对应的测试。
本实施例的浏览器以无头模式方式运行测试用例实现自动化测试,与常规自动化测试相比,可得到同样的测试结果,而由于浏览器使用无头运行模式启动并运行显示页面,减少了显示页面的渲染时间,使得整体显示页面的响应时间比常规的自动化测试的显示页面的响应时间提升了100%以上,大大提升了显示页面测试的测试效率。
实施例2
本实施例提供一种基于浏览器的无头模式的自动化测试方法,本实施例与实施例1相比,更具体地,测试用例包括界面显示功能测试用例、数据健壮性测试用例和页面性能测试用例。
界面显示功能测试用例包括验证显示页面中的显示元素是否显示,其中显示元素包括控件。
一般业务流程为:打开某显示页面->等待页面展示完成后->点击某个链接->等待页面刷新完成后->验证某个控件是否显示。
可以通过以下配置来实现
Figure BDA0001813789550000061
数据健壮性测试用例包括拦截并修改页面交互数据,以验证页面是否按预设显示进行显示。
数据健壮性测试通常采用页面mock测试,一般用于篡改请求或者返回数据,用于验证页面是否按照预期进行展示。
数据mock测试可以通过以下方式配置请求和返回的信息篡改:
Figure BDA0001813789550000062
Figure BDA0001813789550000071
页面mock测试用于测试异常场景下的页面功能是否正确,比如错误的数据返回,页面是否有友好的错误提示等。
页面性能测试用例包括测试页面的白屏时间、显示页面的完全加载时间、显示界面的流量消耗、显示页面返回的资源头是否使用超文本传输协议连接复用、显示页面返回的资源头占用的缓存时间以及是否进行数据传输压缩中的至少一种。
以下配置用于获取打开的页面的返回头部信息,并检查其头部缓存时间:
Figure BDA0001813789550000072
以下配置用于获取页面的白屏时间:
page.evaluate(`window.performance.timing.navigationStart`).then((result)=>{start_time=result});
page.evaluate(`window.performance.timing.domLoading`).then((result)=>{loading_time=result});
var load_time_blank=load_time–start_time
页面性能测试主要用于分析打开的显示页面的性能场景,例如加载时长,流量消耗,大尺寸图片等。通过素材返回的头部信息,即可对性能场景作详细分析。
优选地,如图2所示,步骤102之后还包括:
步骤102'、调用cookie设置接口,根据浏览器的登录页面设置cookie设置接口的cookie信息。
可通过以下方式配置浏览器cookie信息,用于需要登录的页面
Figure BDA0001813789550000081
由于使用无头模式运行浏览器,页面展示减少了显示页面的渲染时间,整体页面显示的响应时间比常规的自动化测试页面显示的时间提升了100%以上。通过page.content()即可获得页面的dom树,实现了和常规自动化测试一样的测试结果。
测试过程没有界面,测试用例支持并发执行操作,每个测试用例可独享一个Chrome进程,可进一步提升测试用例的执行效率。
利用nodejs的v8js执行引擎,js用例脚本执行速度快于常规脚本的执行速度。
在实际的场景中,一条”登录”场景的UI自动化用例,在常规自动化框架下执行速度大概是10-30秒之间,而本方法的执行时间不超过3秒(网络带宽相同的情况下),效率提升非常明显。
本实施例的方法克服了现有的自动化测试框架方案无法保证高效的执行效率的缺陷,而且也克服了现有的自动化测试框架只能满足UI功能测试这一种场景的缺陷,达到了自动化测试大幅效率提升的效果,整体执行速度提升了超过100%,而且本方法的自动化测试能够覆盖健壮性测试场景,用于数据异常测试和性能测试场景,以及用于测试分析页面性能。
实施例3
本实施例提供一种基于浏览器的无头模式的自动化测试系统,本系统的软件环境为:
操作系统:Windows(一种操作系统),Linux(一种操作系统),MacOS(一种操作系统)均可,考虑到现有云主机服务大部分使用Linux操作系统,本实施例中使用的是Linux操作系统。浏览器为最新谷歌Chrome浏览器。基于NodeJS(一种编程语言运行环境)+Puppeteer的NodeJS开发环境。
环境准备工作用于启动浏览器,执行浏览器对显示页面的操作,完成对页面信息的获取,也可以用于输出关键点信息。测试脚本使用Javascript(一种编程语言)编写,并且使用最新的ECMAScript6标准,所有测试脚本需要先导入Puppeteer库,使用node方式运行。
如图3所示,基于浏览器的无头模式的自动化测试系统包括启动模块201、配置模块202、设置模块203和测试模块204;
启动模块201用于调用无头浏览器的启动接口以启动无头浏览器。
以无头模式启动浏览器:
Figure BDA0001813789550000091
Figure BDA0001813789550000101
调用此接口,能在后台启动一个没有界面的Chrome浏览器进程,后续可在该浏览器上做一些类似在有界面上的操作,例如新建一个tab,打开一个显示页面,关闭一个tab等。
配置模块202用于调用客户端配置接口,根据客户端类型配置所述配置接口的参数。
客户端类型通常包括手机客户端和PC客户端。
可通过以下方式配置手机客户端:
await page.setUserAgent('Mozilla/5.0(iPhone;CPU iPhone OS 9_1 likeMac OS X)AppleWebKit/601.1.46(KHTML,like Gecko)Version/9.0Mobile/13B143Safari/601.1')
可通过以下方式配置PC客户端:
page.setUserAgent('Mozilla/5.0(Macintosh;Intel Mac OS X 10_12_6)AppleWebKit/537.36(KHTML,like Gecko)Chrome/64.0.3282.186Safari/537.36')
设置模块203用于根据预设的测试用例设置测试参数。
测试模块204用于调用页面测试接口,页面测试接口用于根据配置接口的参数打开无头浏览器的预设页面,并根据测试参数在预设页面上进行对应的测试。
本实施例的浏览器以无头模式方式运行测试用例实现自动化测试,与常规自动化测试相比,可得到同样的测试结果,而由于浏览器使用无头运行模式启动并运行显示页面,减少了显示页面的渲染时间,使得整体显示页面的响应时间比常规的自动化测试的显示页面的响应时间提升了100%以上,大大提升了显示页面测试的测试效率。
实施例4
本实施例提供一种基于浏览器的无头模式的自动化测试系统,本实施例与实施例3相比,更具体地,测试用例包括界面显示功能测试用例、数据健壮性测试用例和页面性能测试用例。
界面显示功能测试用例包括验证显示页面中的显示元素是否显示,显示元素包括控件。
一般业务流程为:打开某显示页面->等待页面展示完成后->点击某个链接->等待页面刷新完成后->验证某个控件是否显示。
可以通过以下配置来实现:
Figure BDA0001813789550000111
数据健壮性测试用例包括拦截并修改页面交互数据,以验证页面是否按预设显示进行显示。
数据健壮性测试通常采用页面mock测试,一般用于篡改请求或者返回数据,用于验证页面是否按照预期进行展示。
数据mock测试可以通过以下方式配置请求和返回的信息篡改:
Figure BDA0001813789550000112
Figure BDA0001813789550000121
页面mock测试用于测试异常场景下的页面功能是否正确,比如错误的数据返回,页面是否友好的展示错误提示等。
页面性能测试用例包括测试页面的白屏时间、显示页面的完全加载时间、显示界面的流量消耗、显示页面返回的资源头是否使用超文本传输协议连接复用、显示页面返回的资源头占用的缓存时间以及是否进行数据传输压缩中的至少一种。
以下配置用于获取打开的页面的返回头部信息,并检查其头部缓存时间:
Figure BDA0001813789550000122
以下配置用于获取页面的白屏时间:
page.evaluate(`window.performance.timing.navigationStart`).then((result)=>{start_time=result});
page.evaluate(`window.performance.timing.domLoading`).then((result)=>{loading_time=result});
var load_time_blank=load_time–start_time
页面性能测试主要用于分析打开的显示页面的性能场景,例如加载时长,流量消耗,大尺寸图片等。通过素材返回的头部信息,即可对性能场景作详细分析。
优选地,如图4所示,基于浏览器的无头模式的自动化测试系统还包括cookie设置模块205;
cookie设置模块205用于调用cookie设置接口,根据浏览器的登录页面设置cookie设置接口的cookie信息。
可通过以下方式配置浏览器cookie信息,用于需要登录的页面:
Figure BDA0001813789550000131
由于使用无头浏览器,减少了显示页面的渲染时间,整体页面显示的响应时间比常规的自动化测试页面显示的时间提升了100%以上。通过page.content()即可获得页面的dom树,实现了和常规自动化测试一样的测试结果。
测试过程没有界面,测试用例支持并发执行操作,每个测试用例可独享一个Chrome进程,可进一步提升测试用例的执行效率。
利用nodejs的v8js执行引擎,js用例脚本执行速度快于常规脚本的执行速度。
在实际的场景中,一条”登录”场景的UI自动化用例,在常规自动化框架下执行速度大概是10-30秒之间,而本方法执行时间不超过3秒(网络带宽相同的情况下),效率提升非常明显。
本实施例的系统克服了现有的自动化测试框架方案无法保证高效的执行效率的缺陷,而且也克服了现有的自动化测试框架只能满足UI功能测试这一种场景的缺陷,达到了自动化测试大幅效率提升的效果,整体执行速度提升了超过100%,而且本方法的自动化测试能够覆盖健壮性测试场景,用于数据异常测试和性能测试场景,以及用于测试分析页面性能。
实施例5
图5为本实施例提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1的基于浏览器的无头模式的自动化测试方法。图5显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的基于浏览器的无头模式的自动化测试方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1所提供的基于浏览器的无头模式的自动化测试方法。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1的基于浏览器的无头模式的自动化测试方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (10)

1.一种基于浏览器的无头模式的自动化测试方法,其特征在于,所述基于浏览器的无头模式的自动化测试方法包括:
调用所述浏览器的启动接口并以无头模式启动所述浏览器;
调用客户端配置接口,根据客户端类型配置所述配置接口的参数;
根据预设的测试用例设置测试参数;
调用页面测试接口,所述页面测试接口用于根据所述配置接口的参数打开所述无头浏览器的预设页面,并根据所述测试参数在所述预设页面上进行对应的测试。
2.如权利要求1所述的基于浏览器的无头模式的自动化测试方法,其特征在于,所述测试用例包括界面显示功能测试用例,所述界面显示功能测试用例包括验证显示页面中的显示元素是否显示,所述显示元素包括控件;
和/或,所述测试用例包括数据健壮性测试用例,所述数据健壮性测试用例包括拦截并修改页面交互数据,以验证页面是否按预设显示进行显示;
和/或,所述测试用例包括页面性能测试用例,所述页面性能测试用例包括测试页面的白屏时间、显示页面的完全加载时间、显示界面的流量消耗、显示页面返回的资源头是否使用超文本传输协议连接复用、显示页面返回的资源头占用的缓存时间以及是否进行数据传输压缩中的至少一种。
3.如权利要求1所述的基于浏览器的无头模式的自动化测试方法,其特征在于,所述调用客户端配置接口,根据客户端类型配置所述配置接口的参数的步骤之后还包括:
调用cookie设置接口,根据所述浏览器的登录页面设置所述cookie设置接口的cookie信息。
4.如权利要求1所述的基于浏览器的无头模式的自动化测试方法,其特征在于,所述浏览器为Chrome浏览器,和/或,所述启动接口、所述配置接口和所述页面测试接口为Puppeteer库接口;
和/或,所述测试用例包括若干个,每个所述测试用例均以进程方式运行。
5.一种基于浏览器的无头模式的自动化测试系统,其特征在于,所述基于浏览器的无头模式的自动化测试系统包括启动模块、配置模块、设置模块和测试模块;
所述启动模块用于调用所述浏览器的启动接口并以无头模式启动所述浏览器;
所述配置模块用于调用客户端配置接口,根据客户端类型配置所述配置接口的参数;
所述设置模块用于根据预设的测试用例设置测试参数;
所述测试模块用于调用页面测试接口,所述页面测试接口用于根据所述配置接口的参数打开所述无头浏览器的预设页面,并根据所述测试参数在所述预设页面上进行对应的测试。
6.如权利要求5所述的基于浏览器的无头模式的自动化测试系统,其特征在于,所述测试用例包括界面显示功能测试用例,所述界面显示功能测试用例包括验证显示页面中的显示元素是否显示,所述显示元素包括控件;
和/或,所述测试用例包括数据健壮性测试用例,所述数据健壮性测试用例包括拦截并修改页面交互数据,以验证页面是否按预设显示进行显示;
和/或,所述测试用例包括页面性能测试用例,所述页面性能测试用例包括测试页面的白屏时间、显示页面的完全加载时间、显示界面的流量消耗、显示页面返回的资源头是否使用超文本传输协议连接复用、显示页面返回的资源头占用的缓存时间以及是否进行数据传输压缩中的至少一种。
7.如权利要求5所述的基于浏览器的无头模式的自动化测试系统,其特征在于,所述基于浏览器的无头模式的自动化测试系统还包括cookie设置模块,所述cookie设置模块用于调用cookie设置接口,根据所述浏览器的登录页面设置所述cookie设置接口的cookie信息。
8.如权利要求5所述的基于浏览器的无头模式的自动化测试系统,其特征在于,所述浏览器为Chrome浏览器,和/或,所述启动接口、所述配置接口和所述页面测试接口为Puppeteer库接口;
和/或,所述测试用例包括若干个,每个所述测试用例均以进程方式运行。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-4中任一项所述的基于浏览器的无头模式的自动化测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4中任一项所述的基于浏览器的无头模式的自动化测试方法的步骤。
CN201811134478.8A 2018-09-27 2018-09-27 基于浏览器的无头模式的测试方法、系统、设备及介质 Pending CN110955589A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811134478.8A CN110955589A (zh) 2018-09-27 2018-09-27 基于浏览器的无头模式的测试方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811134478.8A CN110955589A (zh) 2018-09-27 2018-09-27 基于浏览器的无头模式的测试方法、系统、设备及介质

Publications (1)

Publication Number Publication Date
CN110955589A true CN110955589A (zh) 2020-04-03

Family

ID=69975297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811134478.8A Pending CN110955589A (zh) 2018-09-27 2018-09-27 基于浏览器的无头模式的测试方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN110955589A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395191A (zh) * 2020-11-16 2021-02-23 北京五八信息技术有限公司 一种信息处理方法及装置
CN112486826A (zh) * 2020-11-30 2021-03-12 北京字跳网络技术有限公司 测试方法、装置、电子设备及计算机可读介质
CN112559922A (zh) * 2020-12-08 2021-03-26 歌尔科技有限公司 页面渲染方法、终端设备及存储介质
CN112905448A (zh) * 2021-01-25 2021-06-04 长沙市到家悠享网络科技有限公司 嵌套页面性能测试方法、设备及存储介质
CN112948267A (zh) * 2021-03-31 2021-06-11 北京房江湖科技有限公司 网页测试方法、网页测试系统、存储介质及电子设备
CN113268684A (zh) * 2021-06-24 2021-08-17 深圳平安智汇企业信息管理有限公司 数据处理方法、装置、终端设备以及存储介质
CN113495838A (zh) * 2020-04-08 2021-10-12 阿里巴巴集团控股有限公司 一种页面测试方法及装置
CN114666301A (zh) * 2020-12-22 2022-06-24 深圳Tcl新技术有限公司 一种基于mock服务器的APP测试方法及系统
CN115329225A (zh) * 2022-10-18 2022-11-11 中孚信息股份有限公司 基于服务端浏览器的页面预渲染方法、系统及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090100345A1 (en) * 2007-10-15 2009-04-16 Miller Edward F Method and System for Testing Websites
CN101866314A (zh) * 2010-05-31 2010-10-20 中山大学 一种软件测试的方法及软件测试系统
CN104035863A (zh) * 2013-03-08 2014-09-10 腾讯科技(深圳)有限公司 一种浏览器测试方法及装置
CN104391786A (zh) * 2014-10-31 2015-03-04 任子行网络技术股份有限公司 网页自动化测试系统及其方法
CN105868096A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 用于在浏览器中显示web页面测试结果的方法、装置及设备
CN108197021A (zh) * 2017-12-28 2018-06-22 深圳市彬讯科技有限公司 一种web系统自动化测试方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090100345A1 (en) * 2007-10-15 2009-04-16 Miller Edward F Method and System for Testing Websites
CN101866314A (zh) * 2010-05-31 2010-10-20 中山大学 一种软件测试的方法及软件测试系统
CN104035863A (zh) * 2013-03-08 2014-09-10 腾讯科技(深圳)有限公司 一种浏览器测试方法及装置
CN104391786A (zh) * 2014-10-31 2015-03-04 任子行网络技术股份有限公司 网页自动化测试系统及其方法
CN105868096A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 用于在浏览器中显示web页面测试结果的方法、装置及设备
CN108197021A (zh) * 2017-12-28 2018-06-22 深圳市彬讯科技有限公司 一种web系统自动化测试方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OLAF: "教程:用 Jest 与 Puppeteer 进行 UI test", pages 3 - 7, Retrieved from the Internet <URL:https://olafcheng.github.io/2018/04/18/ui-test-with-jest-and-puppeteer> *
QQ音乐前端团队: "Puppeteer 初探之前端自动化测试", pages 2 - 7, Retrieved from the Internet <URL:https://cloud.tencent.com/developer/article/1006000> *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113495838A (zh) * 2020-04-08 2021-10-12 阿里巴巴集团控股有限公司 一种页面测试方法及装置
CN113495838B (zh) * 2020-04-08 2024-01-09 阿里巴巴集团控股有限公司 一种页面测试方法及装置
CN112395191A (zh) * 2020-11-16 2021-02-23 北京五八信息技术有限公司 一种信息处理方法及装置
CN112486826A (zh) * 2020-11-30 2021-03-12 北京字跳网络技术有限公司 测试方法、装置、电子设备及计算机可读介质
CN112559922A (zh) * 2020-12-08 2021-03-26 歌尔科技有限公司 页面渲染方法、终端设备及存储介质
CN112559922B (zh) * 2020-12-08 2022-11-22 歌尔科技有限公司 页面渲染方法、终端设备及存储介质
CN114666301A (zh) * 2020-12-22 2022-06-24 深圳Tcl新技术有限公司 一种基于mock服务器的APP测试方法及系统
CN112905448A (zh) * 2021-01-25 2021-06-04 长沙市到家悠享网络科技有限公司 嵌套页面性能测试方法、设备及存储介质
CN112948267A (zh) * 2021-03-31 2021-06-11 北京房江湖科技有限公司 网页测试方法、网页测试系统、存储介质及电子设备
CN113268684A (zh) * 2021-06-24 2021-08-17 深圳平安智汇企业信息管理有限公司 数据处理方法、装置、终端设备以及存储介质
CN115329225A (zh) * 2022-10-18 2022-11-11 中孚信息股份有限公司 基于服务端浏览器的页面预渲染方法、系统及设备

Similar Documents

Publication Publication Date Title
CN110955589A (zh) 基于浏览器的无头模式的测试方法、系统、设备及介质
US9977904B2 (en) Systems and methods for automated detection of application vulnerabilities
CN111061526B (zh) 自动化测试方法、装置、计算机设备及存储介质
US12086051B2 (en) Automated application testing system
KR20210040884A (ko) 엣지 컴퓨팅 테스트 방법, 장치, 전자 장치 및 컴퓨터 판독 가능 매체
CN113190464B (zh) mock测试方法、装置、电子设备及介质
US11245601B2 (en) Automated integrated test system and method thereof
US20170161028A1 (en) State machine representation of a development environment deployment process
CN107045475B (zh) 测试方法和装置
CN111666199B (zh) 在智能终端上执行的调试方法以及软件调试器
CN108121650B (zh) 一种对于页面用户界面的测试方法及装置
CN111414309A (zh) 应用程序的自动化测试方法、计算机设备和存储介质
US8904346B1 (en) Method and system for automated load testing of web applications
CN112506854B (zh) 页面模板文件的存储和页面生成方法、装置、设备及介质
CN107704499A (zh) 一种应用程序的页面跳转控制方法及装置
CN113709243A (zh) 设备远程控制方法及装置、电子设备和存储介质
US20180165136A1 (en) A system, method, computer program and data signal for hosting and executing a program on a mainframe
US20130132930A1 (en) Capturing telemetry data by dynamic language engine
CN111930629A (zh) 页面测试方法、装置、电子设备及存储介质
WO2022237826A1 (zh) 用户界面的测试方法、系统、集群、介质及程序产品
CN115509925A (zh) 一种接口自动化测试方法及相关装置
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
CN113434217B (zh) 漏洞扫描方法、装置、计算机设备及介质
CN114741294A (zh) 一种页面的调试方法、装置、设备及存储介质
CN117112394B (zh) 对基于无服务器框架开发的应用进行调试的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination