CN110147327B - 一种基于多粒度的web自动化测试管理方法 - Google Patents

一种基于多粒度的web自动化测试管理方法 Download PDF

Info

Publication number
CN110147327B
CN110147327B CN201910435471.8A CN201910435471A CN110147327B CN 110147327 B CN110147327 B CN 110147327B CN 201910435471 A CN201910435471 A CN 201910435471A CN 110147327 B CN110147327 B CN 110147327B
Authority
CN
China
Prior art keywords
grained
node
description
file
current
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.)
Active
Application number
CN201910435471.8A
Other languages
English (en)
Other versions
CN110147327A (zh
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.)
Zhejiang University of Media and Communications
Original Assignee
Zhejiang University of Media and Communications
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 Zhejiang University of Media and Communications filed Critical Zhejiang University of Media and Communications
Priority to CN201910435471.8A priority Critical patent/CN110147327B/zh
Publication of CN110147327A publication Critical patent/CN110147327A/zh
Application granted granted Critical
Publication of CN110147327B publication Critical patent/CN110147327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • 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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于多粒度的web自动化测试管理方法,要解决的是现有网站自动化测试效果不佳的问题。本发明具体步骤如下:步骤一,录制在互联网的操作过程并且获取测试数据,得到录制内容描述文件;步骤二,对录制内容描述文件进行分析,建立细粒度的自动化测试单元,得到细粒度节点描述文件;步骤三,对细粒度节点描述文件进行重组,构建粗粒度的节点描述信息模型,得到粗粒度节点描述文件;步骤四,将粗粒度节点描述文件和细粒度节点描述文件进行重组,构建多粒度化的测试用例执行过程,进行相关用例的执行,得到执行结果;步骤五,对执行结果进行实时监测和测试反馈。本发明可以准确的得到测试结果,对于网站的升级和维护有积极的效果。

Description

一种基于多粒度的web自动化测试管理方法
技术领域
本发明涉及web(互联网)测试管理领域,具体是一种基于多粒度的web自动化测试管理方法。
背景技术
互联网又称网际网络,或音译因特网、英特网,互联网始于1969年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。中国互联网已经形成规模,互联网应用走向多元化。互联网越来越深刻地改变着人们的学习、工作以及生活方式,甚至影响着整个社会进程。
随着互联网技术和移动通信技术的不断发展,人们使用互联网上网越来越频繁,互联网的使用稳定性也越来越受到考验。
网站维护人员为了维护网站的运行稳定,需要不断对网站进行升级和维护,其中对网站进行自动化测试就是升级和维护的基础,目前对网站进行自动化测试的方法有许多种,但是现有的自动化测试方法的效果不佳,达不到人们的预期。
发明内容
本发明实施例的目的在于提供一种基于多粒度的web自动化测试管理方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种基于多粒度的web自动化测试管理方法,具体步骤如下:
步骤一,录制在互联网的操作过程并且获取测试数据,得到录制内容描述文件;
步骤二,对录制内容描述文件进行分析,建立细粒度的自动化测试单元,得到细粒度节点描述文件;
所述步骤二中对录制内容描述文件进行分析的具体步骤为获取录制内容描述文件的描述性信息并写入到当前计算机计算缓存中,遍历当前操作文件的Dom节点的测试操作描述信息;对于每一个独立的测试操作描述信息在服务器端建立一个与当前业务编号以及Dom节点控件相关的JSON文件,并将当前录屏业务的URL以及Cookie信息与Dom节点的测试操作描述信息写入到当前的JSON文件中;
所述步骤二中建立细粒度的自动化测试单元的具体步骤为遍历录制内容描述文件的内部描述信息,并在交互界面上显示;同时,在交互界面上,对于细粒度节点描述信息提供交互区域的输入选项选择,将用户的交互性信息写入到细粒度节点描述文件中;
步骤三,对细粒度节点描述文件进行重组,构建粗粒度的节点描述信息模型,得到粗粒度节点描述文件;
所述步骤三中构建粗粒度的节点描述信息模型的具体步骤为在粒度管理系统中,建立交互区域,点选细粒度节点描述文件并且拖拽到交互区域内,触发浏览器时间,将当前的细粒度节点描述文件的编号写入到浏览器缓存中的操作描述堆栈,并对于操作描述堆栈中的数据进行遍历;如果当前操作描述堆栈中有细粒度节点描述元素时,在交互界面提示新界面细粒度节点描述元素与操作描述堆栈中其他细粒度节点描述元素之间的关系,并将细粒度节点描述元素之间的关系写入到操作描述堆栈的缓存中,采用顺序执行或者逻辑判定关系执行,浏览器会遍历当前浏览器中的缓存信息,并将缓存信息进行结构化处理,生成新的JSON结构化文件,同时在交互界面中添加粗粒度节点描述信息,写入到与当前粗粒度节点描述文件所对应的JSON数据文件中;
步骤四,将粗粒度节点描述文件和细粒度节点描述文件进行重组,构建多粒度化的测试用例执行过程,进行相关用例的执行,得到执行结果;
所述步骤四中进行相关用例的执行的具体步骤为浏览器向服务器发送所需要执行的用例系统的唯一编号;服务器接收到传递的用例系统的唯一编号,通过本地的用例系统检索相关的编号,并将检索到的相关文件载入系统缓存中,并对于相关文件进行遍历,获取用例系统中所引用的粗粒度节点描述文件编号,通过用例系统预先设定好的数据库查询获取当前用例系统的执行描述的JSON文件地址,将JSON文件地址传递给服务器通过第三方搭建的测试环境,服务器将所加载的JSON文件地址通过插件调用的方法传递给第三方测试执行插件进行运行;
步骤五,对执行结果进行实时监测和测试反馈。
作为本发明实施例进一步的方案:步骤一中录制的具体步骤为浏览器在缓存中构建一个操作存储区域;同时浏览器获取当前浏览器URL、cookie等信息,写入当前的操作存储区域中,作为当前录制操作的描述,生成在当前系统中唯一的、随机的业务编号同时对于录制信息进行描述,浏览器记录用户每一个与当前页面的可交互节点的交互性操作,建立当前的可交互节点的交互性操作描述节点结构信息,并写入到当前浏览器的操作缓存队列中,重复进行浏览器记录用户每一个与当前页面的可交互节点的交互性操作,建立当前的可交互节点的交互性操作描述节点结构信息,并写入到当前浏览器的操作缓存队列中的操作,直到当前页面进行跳转或者是当前录制操作停止后,触发数据通信事件;浏览器调取预先开发好的http接口,通过ajax方法建立与服务器之间的异步通信通路,当录制的过程中发生页面跳转时,在新的页面载入时,浏览器获取当前的业务编号,重复执行初始化录制执行和数据传输过程,在服务器端建立相应的录制内容描述文件。
作为本发明实施例进一步的方案:步骤一中录制开始前通过插件的形式,获取用户的操作信息,在浏览器缓存中建立与当前录制操作相匹配的临时操作描述json文件。
作为本发明实施例进一步的方案:步骤五中实时监测的具体步骤为在服务器获取到测试环境的实时反馈数据之后,写入到服务器的数据存储单元中,并在服务器中以物理文件的形式存储当前测试的实时状态数据,包括测试返回状态以及返回的数据,在测试管理和监测页面上,采用MVVM的架构方式交互界面实时的监控测试数据文件,实时的体现测试实时状态数据并在交互界面上反馈给用户,达到对于测试结果的实时监测。
与现有技术相比,本发明实施例的有益效果是:
本发明的方法,设计合理,操作顺畅,运行速度快,可以准确的得到测试结果,对于网站的升级和维护有积极的效果,使用前景广阔。
具体实施方式
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
实施例1
一种基于多粒度的web自动化测试管理方法,具体步骤如下:
步骤一,录制在互联网的操作过程并且获取测试数据,得到录制内容描述文件:录制开始前通过插件的形式,获取用户的操作信息,在浏览器缓存中建立与当前录制操作相匹配的临时操作描述json文件,浏览器在缓存中构建一个操作存储区域;同时浏览器获取当前浏览器URL、cookie等信息,写入当前的操作存储区域中,作为当前录制操作的描述,生成在当前系统中唯一的、随机的业务编号同时对于录制信息进行描述,浏览器记录用户每一个与当前页面的可交互节点的交互性操作,建立当前的可交互节点的交互性操作描述节点结构信息,并写入到当前浏览器的操作缓存队列中,重复以上的循环,直到当前页面进行跳转或者是当前录制操作停止后,触发数据通信事件;浏览器调取预先开发好的http接口,通过ajax方法建立与服务器之间的异步通信通路,当录制的过程中发生页面跳转时,在新的页面载入时,浏览器获取当前的业务编号,重复执行初始化录制执行和数据传输过程,在服务器端建立相应的录制内容描述文件;
步骤二,对录制内容描述文件进行分析,建立细粒度的自动化测试单元,得到细粒度节点描述文件;
步骤三,对细粒度节点描述文件进行重组,构建粗粒度的节点描述信息模型,得到粗粒度节点描述文件;
步骤四,将粗粒度节点描述文件和细粒度节点描述文件进行重组,构建多粒度化的测试用例执行过程,进行相关用例的执行,得到执行结果;
步骤五,对执行结果进行实时监测和测试反馈:实时监测的具体步骤为在服务器获取到测试环境的实时反馈数据之后,写入到服务器的数据存储单元中,并在服务器中以物理文件的形式存储当前测试的实时状态数据,包括测试返回状态以及返回的数据,在测试管理和监测页面上,采用MVVM的架构方式交互界面实时的监控测试数据文件,实时的体现测试实时状态数据并在交互界面上反馈给用户,达到对于测试结果的实时监测。
实施例2
一种基于多粒度的web自动化测试管理方法,具体步骤如下:
步骤一,录制在互联网的操作过程并且获取测试数据,得到录制内容描述文件:在浏览器通过第三方的方法,实现对于用户在浏览器的操作进行录制;在录制的过程中,通过插件的形式,获取用户的操作信息,首先对于当前页面的dom元素进行遍历,获取当前界面可以进行用户交互的元素id以及元素的类型,之后通过js的浏览器插件形式,在浏览器安装自动化测试录制插件,在录制的过程中获取用户的在测试操作的交互对象编号,与预先遍历的数据集进行比对,判定当前的输入状态是否有效;同时,当用户在相应的交互区域内输入交互信息时记录用户的交互信息;
在浏览器缓存中建立与当前录制操作相匹配的临时操作描述json文件。
在录制开始时,浏览器在缓存中构建一个操作存储区域;同时浏览器获取当前浏览器URL、cookie等信息,写入当前的缓存区域中,作为当前录制操作的描述;
录制开始,生成在当前系统中唯一的、随机的业务编号,对于录制信息进行描述;
在录制操作的过程中,将每一个可交互操作的Dom节点作为操作的子节点;在操作的录制过程中,用户每一个与当前页面的可交互节点的交互性操作,浏览器对于用户的可交互节点的交互性操作信息进行记录,包括可交互操作节点的ID信息、交互的内容(按钮的点击事件、文本框的输入内容以及下拉框等的选择信息),建立与交互性节点相匹配的节点信息,建立当前的节点操作描述节点结构信息,并写入到当前浏览器的操作缓存队列中;
重复进行浏览器记录用户每一个与当前页面的可交互节点的交互性操作,建立当前的可交互节点的交互性操作描述节点结构信息,并写入到当前浏览器的操作缓存队列中的操作,直到当前页面进行跳转或者是当前录制操作停止后,触发数据通信事件;浏览器调取预先开发好的http接口,通过ajax方法建立与服务器之间的异步通信通路,同时对于当前浏览器的操作缓存的数据队列进行遍历,首先抓取当前页面的描述性信息(URL、cookie),生成与当前录制页面相对应的JSON文件;之后对于当前浏览器操作缓存中节点操作信息队列逐个进行遍历,按照队列顺序逐步在JSON文件的操作描述节点下,按照录制操作的先后顺序逐步写入各个交互性节点的描述操作信息,形成对于录制操作描述的节点队列信息,在浏览器缓存中生成当前操作描述的JSON文件,并启动浏览器程序的异步通信模块,向服务器发送当前操作描述的JSON文件,并进行存储;
当录制的过程中发生页面跳转时,在新的页面载入时,浏览器获取当前的录制业务编号,重复执行初始化录制执行和数据传输过程,在服务器建立相应的录制内容描述文件;
步骤二,对录制内容描述文件进行分析,建立细粒度的自动化测试单元,得到细粒度节点描述文件:
1)接收到浏览器所传递的JSON文件,存储于本地文件资源中。之后对于录制操作文件进行本地自动化测试分析,首先获取当前文件的描述性信息,包括当前测试录制的URL、Cookie等描述化信息,写入到当前计算机计算缓存中,之后根据事前的约定,遍历当前操作文件的Dom节点的测试操作描述信息;对于每一个独立的Dom操作描述信息在服务器建立一个与当前业务编号以及Dom节点控件相关的JSON文件,并将当前录屏业务的URL以及Cookie信息与Dom节点的描述信息写入到当前的JSON文件中,作为系统的细粒度测试描述单元。
2)对于细粒度节点的描述信息模型的建立。在服务器建立面向于细粒度节点描述文件的管理系统,首先遍历该细粒度节点描述文件的内部描述信息,并在交互界面上显示;同时,在交互界面上,对于细粒度节点描述信息提供输入、按钮等交互区域的输入选项选择,并将用户的交互性信息写入到细粒度节点描述文件中,建立细粒度节点描述信息模型,同时针对于细粒度节点描述文件,建立全局性的索引方法,实现对于细粒度节点描述文件的快速查找;
3)对于细粒度节点描述文件的交互描述。根据细粒度节点描述文件所对应的html控件的类型,根据细粒度节点描述文件所对应的交互类型,首先根据测试过程中用户的交互信息,建立细粒度测试的默认值;同时,在细粒度信息的编辑过程中,根据html空间的输入类型,建立可选择性的输入信息:
a.对于输入型控件(如textbox、textarea等输入控件),根据具体的信息描述状态、业务状态,进行输入信息状态分类,分为判断型、采集型:
判断型,如登录信息验证、验证码输入等信息,选择判断型;在测试的过程中输入正确的信息作为默认值;在用例的测试过程中,用户对于该细粒度节点的输入状态选择验证失败状态,则系统根据细粒度节点的控件类型和输入约束,随机生成输入信息,并替换细粒度节点信息中的交互控件输入字段,生成新的细粒度测试用例节点;
采集型:如姓名、手机等信息。在细粒度节点输入设定为长度和约束两种类型。对于长度类型的细粒度节点,选择验证失败状态,系统随机生成非在约束空间的数据状态,替换细粒度节点信息中的交互控件输入字段,生成细粒度测试用例节点;对于约束类型的细粒度节点,选择失败状态,输入细粒度节点输入的约束正则表达式描述,随机生成非约束的数据,生成细粒度用例节点信息。
b.对于下拉型控件(如select、checkbox等输入控件),根据具体的信息描述状态、业务状态,进行如下判定:
下拉型控件,选择验证失败状态,系统在下拉菜单中其他选项中随机选择选项,并获取下拉选项对应的键值,将键值和下拉选项的文本替换原始细粒度节点信息中的测试交互数据,生成新的细粒度的测试用例节点。
c.对于选择型控件(如radio等),根据具体的信息描述状态、业务状态,做如下判定:
选择型控件,选择验证失败状态,系统选择与测试用例中原始选择状态的反向状态,并将状态值替换原始细粒度节点信息中的测试交互数据,生成新的细粒度的测试用例节点;
步骤三,对细粒度节点描述文件进行重组,构建粗粒度的节点描述信息模型,得到粗粒度节点描述文件:
1)在实现方法上,首先建立一定的交互区域,实现对于细粒度描述文件的组织。在细粒度交互区域的设计上,在浏览器上通过canvas建立一个交互区域,并在交互区域内设定平面直角坐标系;
用户首先选择所需求的测试业务,向服务器发送业务请求;服务器通过细粒度节点描述文件的索引,返回与用户选择业务匹配的细粒度节点描述文件,并以可视化元素的形式在交互区域上供用户进行选择;
2)用户开始粗粒度构建时,点选细粒度节点描述文件并且拖拽到交互区域内,触发浏览器时间,将当前的细粒度节点描述文件的编号写入到浏览器缓存中的操作描述堆栈,并对于操作描述堆栈中的数据进行遍历;如果当前操作描述堆栈中有细粒度节点描述元素时,在交互界面提示新界面细粒度节点描述元素与操作描述堆栈中其他细粒度节点描述元素之间的关系,并将细粒度节点描述元素之间的关系通过一定的描述方法写入到操作描述堆栈的缓存中。
3)在关系选择上,包括顺序执行、逻辑判定等关系等。顺序执行关系的描述是当新的节点描述元素完成堆栈写入后,用户通过交互界面选择当前节点描述元素进行前置或者后置,并将节点描述元素编号以及前置后置关系写入到当前的堆栈中。逻辑判定关系是在交互界面中选择相应的节点描述元素,建立逻辑判定分支;建立逻辑分支后选择逻辑判定的节点交互描述判定区间,如文本框要求输入信息等,确定分支条件,并将分支条件以及分支信息写入到缓存堆栈中;当新的节点描述元素加入后,用户可以通过交互界面选择执行前置分支,并将结构性的信息写入缓存堆栈中。
在完成粗粒度的节点描述信息后,保存并且遍历当前浏览器中的缓存信息,并将缓存信息进行结构化处理,生成新的JSON结构化文件,同时,在交互界面中,对于粗粒度的描述化信息进行添加,写入到与当前粗粒度节点描述文件所对应的JSON文件中,描述粗粒度节点的执行关系;
步骤四,将粗粒度节点描述文件和细粒度节点描述文件进行重组,构建多粒度化的测试用例执行过程,进行相关用例的执行,得到执行结果:
1)参考粗粒度的描述方法,选择所需要构建对应的业务,向服务器发送请求,获取该业务所匹配的粗粒度节点描述元素;在交互区域内构建测试测试用例流程。点选粗粒度描述文件并且拖拽到交互区域内,触发浏览器时间,将当前的粗粒度描述文件的编号写入到浏览器的操作描述堆栈的缓存中,并对于操作描述堆栈中的数据进行遍历;如果当前操作描述堆栈中有粗粒度节点描述元素时,在交互界面提示新界面粗粒度节点描述元素与操作描述堆栈中其他粗粒度节点描述元素之间的关系,并将粗粒度节点描述元素之间的关系通过一定的描述方法写入到操作描述堆栈的缓存中。
2)在测试用例的执行上,对于已经编辑好的测试用例,在服务器进行相关用例的执行。执行的方法如下:
浏览器向服务器发送所需要执行的用例系统的唯一编号;服务器接收到该唯一编号,检索相关的用例系统描述文件,并将检索到的用例描述文件载入系统缓存中,并对于用例描述文件进行遍历,获取用例系统中所引用的粗粒度节点描述文件编号,通过用例系统预先设定好的数据库查询获取当前用例系统的执行描述的JSON数据文件地址,并将JSON数据文件地址传递给服务器通过第三方搭建的测试环境。
将所加载的用例描述文件通过插件调用的方法传递给第三方测试执行插件进行运行,获取测试运行结果,服务器启动检测程序,对于测试环境相关的http运行状态进行检测,并将运行状态码返回给服务器;同时服务器返回的数据信息(页面数据),实现服务器与测试环境之间基于测试结果的通信;
步骤五,对执行结果进行实时监测和测试反馈:
1)在服务器与测试环境之间建立数据通信的基础上,通过构建的html页面,实现对于测试结果的实时监测和历史结果浏览。
在服务器获取到测试环境的实时反馈数据之后,写入到服务器的数据存储单元中,并在服务器以物理文件的形式存储当前测试的实时状态数据,包括测试返回状态以及返回的数据,在测试管理和监测页面上,采用MVVM的架构方式交互界面实时的监控测试数据文件,实时的体现测试实时状态数据并在交互界面上反馈给用户,达到对于测试结果的实时监测。
在监测结果交互方法上,在交互界面上首先根据预设的测试用例执行流程生成相应的测试流程可视化图形交互界面;在对于测试结果进行实时监测时,实时获取测试返回状态码,根据测试状态码判定当前的运行状态,并在测试流程的交互界面上通过不同颜色进行描述。
2)在实时监测的基础上,对于异常状态通过多样化的信息进行描述。
在对于测试数据的实时监测和反馈的基础上,交互界面设计数据监测模块。数据监测模块实时的监测测试环境返回的http请求状态码,当状态码为非2XX时,数据测试模块抓取测试环境返回的运算数据。数据监测模块对于运算数据通过浏览器进行解析,生成交互页面,并借助于其他方法实现对于页面的截图,并在测试流程中进行显示,提示用户当前测试执行异常的显示状态信息。
3)对于历史测试用例的管理和查看方法
对于系统中已经完成的测试用例管理,首先建立对于历史测试用例数据的管理功能。通过管理功能,可以对于已存储的用例对应的测试用例数据以及测试结果数据进行查看。并通过用例管理模块模拟用例的执行过程。
在管理对于用例执行过程方面,首先遍历测试用例的节点信息,建立测试执行节点队列。之后通过浏览器的js执行计时器,根据预先设定的时间间隔执行测试节点队列,并依据上述步骤1)和步骤2)执行相应的测试过程。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (4)

1.一种基于多粒度的web自动化测试管理方法,其特征在于,具体步骤如下:
步骤一,录制在互联网的操作过程并且获取测试数据,得到录制内容描述文件;
步骤二,对录制内容描述文件进行分析,建立细粒度的自动化测试单元,得到细粒度节点描述文件;
所述步骤二中对录制内容描述文件进行分析的具体步骤为获取录制内容描述文件的描述性信息并写入到当前计算机计算缓存中,遍历当前操作文件的Dom节点的测试操作描述信息;对于每一个独立的测试操作描述信息在服务器端建立一个与当前业务编号以及Dom节点控件相关的JSON文件,并将当前录屏业务的URL以及Cookie信息与Dom节点的测试操作描述信息写入到当前的JSON文件中;
所述步骤二中建立细粒度的自动化测试单元的具体步骤为遍历录制内容描述文件的内部描述信息,并在交互界面上显示;同时,在交互界面上,对于细粒度节点描述信息提供交互区域的输入选项选择,将用户的交互性信息写入到细粒度节点描述文件中;
步骤三,对细粒度节点描述文件进行重组,构建粗粒度的节点描述信息模型,得到粗粒度节点描述文件;
所述步骤三中构建粗粒度的节点描述信息模型的具体步骤为在粒度管理系统中,建立交互区域,点选细粒度节点描述文件并且拖拽到交互区域内,触发浏览器时间,将当前的细粒度节点描述文件的编号写入到浏览器缓存中的操作描述堆栈,并对于操作描述堆栈中的数据进行遍历;如果当前操作描述堆栈中有细粒度节点描述元素时,在交互界面提示新界面细粒度节点描述元素与操作描述堆栈中其他细粒度节点描述元素之间的关系,并将细粒度节点描述元素之间的关系写入到操作描述堆栈的缓存中,采用顺序执行或者逻辑判定关系执行,浏览器会遍历当前浏览器中的缓存信息,并将缓存信息进行结构化处理,生成新的JSON结构化文件,同时在交互界面中添加粗粒度节点描述信息,写入到与当前粗粒度节点描述文件所对应的JSON数据文件中;
步骤四,将粗粒度节点描述文件和细粒度节点描述文件进行重组,构建多粒度化的测试用例执行过程,进行相关用例的执行,得到执行结果;
所述步骤四中进行相关用例的执行的具体步骤为浏览器向服务器发送所需要执行的用例系统的唯一编号;服务器接收到传递的用例系统的唯一编号,通过本地的用例系统检索相关的编号,并将检索到的相关文件载入系统缓存中,并对于相关文件进行遍历,获取用例系统中所引用的粗粒度节点描述文件编号,通过用例系统预先设定好的数据库查询获取当前用例系统的执行描述的JSON文件地址,将JSON文件地址传递给服务器通过第三方搭建的测试环境,服务器将所加载的JSON文件地址通过插件调用的方法传递给第三方测试执行插件进行运行;
步骤五,对执行结果进行实时监测和测试反馈。
2.根据权利要求1所述的基于多粒度的web自动化测试管理方法,其特征在于,所述步骤一中录制的具体步骤为浏览器在缓存中构建一个操作存储区域;同时浏览器获取当前浏览器的信息,写入当前的操作存储区域中,作为当前录制操作的描述,生成在当前系统中唯一的、随机的业务编号,同时对于录制信息进行描述,浏览器记录用户每一个与当前页面的可交互节点的交互性操作,建立当前的可交互节点的交互性操作描述节点结构信息,并写入到当前浏览器的操作缓存队列中,重复进行浏览器记录用户每一个与当前页面的可交互节点的交互性操作,建立当前的可交互节点的交互性操作描述节点结构信息,并写入到当前浏览器的操作缓存队列中的操作,直到当前页面进行跳转或者是当前录制操作停止后,触发数据通信事件;浏览器调取预先开发好的http接口,通过ajax方法建立与服务器之间的异步通信通路,当录制的过程中发生页面跳转时,在新的页面载入时,浏览器获取当前的业务编号,重复执行初始化录制执行和数据传输过程,在服务器端建立相应的录制内容描述文件。
3.根据权利要求2所述的基于多粒度的web自动化测试管理方法,其特征在于,所述步骤一中录制开始前通过插件的形式,获取用户的操作信息,在浏览器缓存中建立与当前录制操作相匹配的临时操作描述json文件。
4.根据权利要求1所述的基于多粒度的web自动化测试管理方法,其特征在于,所述步骤五中实时监测的具体步骤为在服务器获取到测试环境的实时反馈数据之后,写入到服务器的数据存储单元中,并在服务器中以物理文件的形式存储当前测试的实时状态数据,在测试管理和监测页面上,采用MVVM的架构方式交互界面实时的监控测试数据文件,实时的体现测试实时状态数据并在交互界面上反馈给用户。
CN201910435471.8A 2019-05-23 2019-05-23 一种基于多粒度的web自动化测试管理方法 Active CN110147327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910435471.8A CN110147327B (zh) 2019-05-23 2019-05-23 一种基于多粒度的web自动化测试管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910435471.8A CN110147327B (zh) 2019-05-23 2019-05-23 一种基于多粒度的web自动化测试管理方法

Publications (2)

Publication Number Publication Date
CN110147327A CN110147327A (zh) 2019-08-20
CN110147327B true CN110147327B (zh) 2023-04-18

Family

ID=67593043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910435471.8A Active CN110147327B (zh) 2019-05-23 2019-05-23 一种基于多粒度的web自动化测试管理方法

Country Status (1)

Country Link
CN (1) CN110147327B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352844B (zh) * 2020-03-04 2021-08-17 腾讯科技(深圳)有限公司 一种测试方法和相关装置
CN113448820B (zh) * 2020-03-25 2023-04-25 中移(成都)信息通信科技有限公司 网页测试方法及装置
CN112860581B (zh) * 2021-03-18 2024-04-26 浙江诺诺网络科技有限公司 一种测试用例的执行方法、装置、设备及存储介质
CN116756053A (zh) * 2023-08-22 2023-09-15 青岛民航凯亚系统集成有限公司 基于录屏回放的前端项目测试问题上报分配方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101175196A (zh) * 2006-10-31 2008-05-07 信息产业部电信传输研究所 基于IPv6技术的电视节目点播系统的测试系统和方法
CN102508775A (zh) * 2011-10-31 2012-06-20 彭勇 一种交互式自动化测试系统
CN103092756A (zh) * 2013-01-08 2013-05-08 彭勇 一种交互式自动化测试系统及其方法
CN105183642A (zh) * 2015-08-18 2015-12-23 中国人民解放军信息工程大学 基于插桩的程序行为获取及结构分析方法
CN106547689A (zh) * 2016-10-20 2017-03-29 金航数码科技有限责任公司 一种基于web的自动化测试用例开发系统及方法
CN106897204A (zh) * 2015-12-17 2017-06-27 中国电信股份有限公司 业务流程的自动监测方法和系统
CN107256148A (zh) * 2017-05-24 2017-10-17 龙芯中科技术有限公司 界面的生成方法及系统、电子设备及存储介质
US10146666B1 (en) * 2017-08-29 2018-12-04 Facebook, Inc. Systems and methods for improving comparative performance test results of mobile applications
CN109617960A (zh) * 2018-12-10 2019-04-12 浙江传媒学院 一种基于属性化分离的web AR数据呈现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231606B2 (en) * 2000-10-31 2007-06-12 Software Research, Inc. Method and system for testing websites
US6961873B2 (en) * 2001-09-14 2005-11-01 Siemens Communications, Inc. Environment based data driven automated test engine for GUI applications
US20180121339A1 (en) * 2016-11-02 2018-05-03 Servicenow, Inc. System and Method for Testing Behavior of Web Application Software

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101175196A (zh) * 2006-10-31 2008-05-07 信息产业部电信传输研究所 基于IPv6技术的电视节目点播系统的测试系统和方法
CN102508775A (zh) * 2011-10-31 2012-06-20 彭勇 一种交互式自动化测试系统
CN103092756A (zh) * 2013-01-08 2013-05-08 彭勇 一种交互式自动化测试系统及其方法
CN105183642A (zh) * 2015-08-18 2015-12-23 中国人民解放军信息工程大学 基于插桩的程序行为获取及结构分析方法
CN106897204A (zh) * 2015-12-17 2017-06-27 中国电信股份有限公司 业务流程的自动监测方法和系统
CN106547689A (zh) * 2016-10-20 2017-03-29 金航数码科技有限责任公司 一种基于web的自动化测试用例开发系统及方法
CN107256148A (zh) * 2017-05-24 2017-10-17 龙芯中科技术有限公司 界面的生成方法及系统、电子设备及存储介质
US10146666B1 (en) * 2017-08-29 2018-12-04 Facebook, Inc. Systems and methods for improving comparative performance test results of mobile applications
CN109617960A (zh) * 2018-12-10 2019-04-12 浙江传媒学院 一种基于属性化分离的web AR数据呈现方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
GUI录制回放中几个关键技术的研究;高峰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20070415;全文 *
HttpRunner 的测试用例分层机制;debugtalk;《https://zhuanlan.zhihu.com/p/32299255》;20171224;全文 *
Test Command Auto-Wait Mechanisms for Record and Playback-Style Web Application Testing;Shin-Jie Lee,et.;《2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC)》;20180722;全文 *
Web系统测试用例自动执行系统;贾丽等;《计算机工程与应用》;20090201(第04期);全文 *
X-Check: A Novel Cross-Browser Testing Service Based on Record/Replay;Meimei He,et.;《X-Check: A Novel Cross-Browser Testing Service Based on Record/Replay 2016 IEEE International Conference on Web Services (ICWS)》;20160901;全文 *
一种基于Android平台GUI录制回放工具的设计与实现;张灿等;《计算机应用与软件》;20121215(第12期);全文 *
录制回放模式创建测试用例 - Katalon Studio;Xia0Xi0ng;《https://blog.csdn.net/Hannah2018/article/details/81283238》;20180730;全文 *

Also Published As

Publication number Publication date
CN110147327A (zh) 2019-08-20

Similar Documents

Publication Publication Date Title
CN110147327B (zh) 一种基于多粒度的web自动化测试管理方法
US11061918B2 (en) Locating and categorizing data using inverted indexes
US11238112B2 (en) Search service system monitoring
US11829236B2 (en) Monitoring statuses of monitoring modules of a distributed computing system
US11403333B2 (en) User interface search tool for identifying and summarizing data
US11567959B2 (en) Self-contained files for generating a visualization of query results
US20200104402A1 (en) System Monitoring Driven By Automatically Determined Operational Parameters Of Dependency Graph Model With User Interface
US20170220633A1 (en) Context-Adaptive Selection Options in a Modular Visualization Framework
CN110297738A (zh) 系统服务的监控方法、装置、设备及存储介质
CN110928772A (zh) 一种测试方法及装置
CN111125444A (zh) 大数据任务调度管理方法、装置、设备及存储介质
US11106713B2 (en) Sampling data using inverted indexes in response to grouping selection
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
US11436116B1 (en) Recovering pre-indexed data from a shared storage system following a failed indexer
CN110740079B (zh) 一种面向分布式调度系统的全链路基准测试系统
CN104216698B (zh) 一种注册网页方法及相关装置
US11663172B2 (en) Cascading payload replication
CN106411639A (zh) 访问数据的监控方法及系统
CN110263070A (zh) 事件上报方法及装置
US11875275B1 (en) Custom time series models in computer analytics systems
CN114253798A (zh) 指标数据采集方法和装置、电子设备、存储介质
US10706108B2 (en) Field name recommendation
US10644971B2 (en) Graph search in structured query language style query
CN112559525A (zh) 数据检查系统、方法、装置和服务器
CN110928750B (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
GR01 Patent grant
GR01 Patent grant