CN117707946A - 一种针对浏览器的测试脚本生成方法以及装置 - Google Patents
一种针对浏览器的测试脚本生成方法以及装置 Download PDFInfo
- Publication number
- CN117707946A CN117707946A CN202311694274.0A CN202311694274A CN117707946A CN 117707946 A CN117707946 A CN 117707946A CN 202311694274 A CN202311694274 A CN 202311694274A CN 117707946 A CN117707946 A CN 117707946A
- Authority
- CN
- China
- Prior art keywords
- browser
- analysis result
- test
- har
- test script
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 210
- 238000013515 script Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004458 analytical method Methods 0.000 claims abstract description 74
- 230000006399 behavior Effects 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000012544 monitoring process Methods 0.000 claims description 27
- 230000002159 abnormal effect Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012956 testing procedure Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供了一种针对浏览器的测试脚本生成方法以及装置,通过对HAR文件引入解析的处理方式,来更有针对性地配置相应的虚拟用户以及虚拟事务,如此生成的测试脚本相较于基于HAR文件直接生成的测试脚本,在细节上更具有针对性,可以满足实际情况下细腻的自动化测试需求。方法包括:获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,HAR文件的文件后缀为.HAR;对HAR文件所涉及的操作行为进行解析,并得到解析结果;根据解析结果,配置相应的虚拟用户以及虚拟事务;在虚拟用户以及虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本。
Description
技术领域
本申请涉及测试领域,具体涉及一种针对浏览器的测试脚本生成方法以及装置。
背景技术
对通过自动化测试机制来对开发出的系统产品或者配置的系统产品进行性能测试时,可以理解,离不开测试脚本的应用。
测试脚本可以用模拟用户行为的可执行文件来理解,通过还原真实场景下大批量的用户行为,来测试系统产品在相关方面的性能。
而本申请发明人发现,在通过现有技术中相关脚本自动化配置工具来配置涉及到浏览器应用的测试脚本时,所配置的测试脚本在细节方面存在着测试精度有限的问题,具体来说,通用的测试脚本生成逻辑,难以满足实际情况下细腻的自动化测试需求。
发明内容
本申请提供了一种针对浏览器的测试脚本生成方法以及装置,通过对HAR文件引入解析的处理方式,来更有针对性地配置相应的虚拟用户以及虚拟事务,如此生成的测试脚本相较于基于HAR文件直接生成的测试脚本,在细节上更具有针对性,可以满足实际情况下细腻的自动化测试需求。
第一方面,本申请提供了一种针对浏览器的测试脚本生成方法,方法包括:
获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,HAR文件的文件后缀为.HAR;
对HAR文件所涉及的操作行为进行解析,并得到解析结果;
根据解析结果,配置相应的虚拟用户以及虚拟事务;
在虚拟用户以及虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,包括:
通过浏览器本身配置的HAR文件导出模块,生成反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件。
结合本申请第一方面,在本申请第一方面第二种可能的实现方式中,获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,包括:
通过预先为浏览器配置的监控组件,实时监控浏览器的行为,得到行为监控结果;
以预设的转化策略,将行为监控结果转化为反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件。
结合本申请第一方面,在本申请第一方面第三种可能的实现方式中,根据解析结果,配置相应的虚拟用户以及虚拟事务,包括:
在解析结果对应场景的基础上,分析与预设测试场景之间的差异,并聚焦于差异对解析结果进行完善,得到目标解析结果;
根据目标解析结果,配置相应的虚拟用户以及虚拟事务。
结合本申请第一方面第三种可能的实现方式,在本申请第一方面第四种可能的实现方式中,在解析结果对应场景的基础上,分析与预设测试场景之间的差异,并聚焦于差异对解析结果进行完善,得到目标解析结果之前,方法还包括:
确定待生成测试脚本的使用设备以及测试系统在当前情况下的状态;
以使用设备以及测试系统在当前情况下的状态为基础,确定对应的常规测试场景,以及以使用设备以及测试系统在当前情况下的状态为基础,确定使用设备以及测试系统在受到异常情况还有特殊人为设置之后的预测测试场景,得到预设测试场景。
第二方面,本申请提供了一种针对浏览器的测试脚本生成装置,装置包括:
获取单元,用于获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,HAR文件的文件后缀为.HAR;
解析单元,用于对HAR文件所涉及的操作行为进行解析,并得到解析结果;
配置单元,用于根据解析结果,配置相应的虚拟用户以及虚拟事务;
生成单元,用于在虚拟用户以及虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,获取单元,具体用于:
通过浏览器本身配置的HAR文件导出模块,生成反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件。
结合本申请第二方面,在本申请第二方面第二种可能的实现方式中,获取单元,具体用于:
通过预先为浏览器配置的监控组件,实时监控浏览器的行为,得到行为监控结果;
以预设的转化策略,将行为监控结果转化为反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件。
结合本申请第二方面,在本申请第二方面第三种可能的实现方式中,配置单元,具体用于:
在解析结果对应场景的基础上,分析与预设测试场景之间的差异,并聚焦于差异对解析结果进行完善,得到目标解析结果;
根据目标解析结果,配置相应的虚拟用户以及虚拟事务。
结合本申请第二方面第三种可能的实现方式,在本申请第二方面第四种可能的实现方式中,配置单元,还用于:
确定待生成测试脚本的使用设备以及测试系统在当前情况下的状态;
以使用设备以及测试系统在当前情况下的状态为基础,确定对应的常规测试场景,以及以使用设备以及测试系统在当前情况下的状态为基础,确定使用设备以及测试系统在受到异常情况还有特殊人为设置之后的预测测试场景,得到预设测试场景。
第三方面,本申请提供了一种处理设备,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
从以上内容可得出,本申请具有以下的有益效果:
针对于测试脚本的生成处理,本申请获取到反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件之后,对该对HAR文件所涉及的操作行为进行解析,并得到解析结果,接着根据解析结果,配置相应的虚拟用户以及虚拟事务,然后在虚拟用户以及虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本,在这过程中,本申请通过对HAR文件引入解析的处理方式,来更有针对性地配置相应的虚拟用户以及虚拟事务,如此生成的测试脚本相较于基于HAR文件直接生成的测试脚本,在细节上更具有针对性,可以满足实际情况下细腻的自动化测试需求,促使更高精度的系统测试效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请针对浏览器的测试脚本生成方法的一种流程示意图;
图2为本申请的方案架构的一种场景示意图;
图3为本申请针对浏览器的测试脚本生成装置的一种结构示意图;
图4为本申请处理设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
在介绍本申请提供的针对浏览器的测试脚本生成方法之前,首先介绍本申请所涉及的背景内容。
本申请提供的针对浏览器的测试脚本生成方法、装置以及计算机可读存储介质,可应用于处理设备,通过对HAR文件引入解析的处理方式,来更有针对性地配置相应的虚拟用户以及虚拟事务,如此生成的测试脚本相较于基于HAR文件直接生成的测试脚本,在细节上更具有针对性,可以满足实际情况下细腻的自动化测试需求。
本申请提及的针对浏览器的测试脚本生成方法,其执行主体可以为针对浏览器的测试脚本生成装置,或者集成了该针对浏览器的测试脚本生成装置的服务器、物理主机或者用户设备(User Equipment,UE)等不同类型的处理设备。其中,针对浏览器的测试脚本生成装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、台式电脑或者个人数字助理(Personal Digital Assistant,PDA)等终端设备,处理设备可以通过设备集群的方式设置。
可以理解,搭载了本申请所提供的针对浏览器的测试脚本生成方法的应用服务的处理设备,既可以是测试人员手头的任意设备,或者,也可以是软件开发公司专门配置测试脚本的设备,或者,还可以是软件开发公司专门用来通过测试脚本向目标系统产品发起系统测试的设备,其具体的设备类型还有设备部署形式是较为灵活的,可以随实际情况下的实时需求进行适应性调整,因此,本申请并不做具体限定。
下面,开始介绍本申请提供的针对浏览器的测试脚本生成方法。
首先,参阅图1,图1示出了本申请针对浏览器的测试脚本生成方法的一种流程示意图,本申请提供的针对浏览器的测试脚本生成方法,具体可包括如下步骤S101至步骤S104:
步骤S101,获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,HAR文件的文件后缀为.HAR;
可以理解的是,本申请所针对的测试脚本的生成环节,具体涉及的是与浏览器应用相关的测试脚本,具体来说,本申请所要生成的测试脚本,其在向测试目标即相关的系统发起测试时,是以浏览器作为途径,以发起相应用户访问的方式来达成测试目的的。
对此,本申请则可以从反映/表征通过浏览器向目标系统发起用户访问时的操作行为的HAR文件入手,来开始本申请方案所涉及的测试脚本生成处理。
其中,该HAR文件可以理解为json格式的存档格式文件,文件后缀为.HAR,或者说,后缀名为.HAR,例如某一个HAR文件的文件名称为:xxxxxx.HAR。
对于该HAR文件,其与浏览器向目标系统发起用户访问时的操作行为的过程相对应,需要注意的是,该操作行为并不是特指所涉及的用户操作行为,也包括了涉及的浏览器操作行为。
对此,本申请可以通过以下两个方面实现HAR文件的获取目标。
1)浏览器自主生成方式
作为一种示例性的实现方式,此处步骤S101获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,具体可以包括:
通过浏览器本身配置的HAR文件导出模块,生成反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件。
可以理解,部分的浏览器本身可以配置有HAR文件导出模块/功能,其在用户操作的触发下,可以对相关时间段内将自身向目标系统发起用户访问时的操作行为记录下来,形成可供本申请使用的HAR文件。
需要理解的是,浏览器自身产品配置的HAR文件导出模块/功能,并不是考虑到测试服务才特别地来为用户提供HAR文件的,对于一些产品分析工作而言,也可以基于HAR文件来展开,因为HAR文件记录的是在用户的操作下,浏览器与目标系统之间的会话过程,对应了浏览器加载目标系统相关Web页面的过程。
2)监听方式
作为又一种示例性的实现方式,此处步骤S101获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,也可以包括:
通过预先为浏览器配置的监控组件,实时监控浏览器的行为,得到行为监控结果;
以预设的转化策略,将行为监控结果转化为反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件。
其中,此处所提及的监控组件既可以是第三方插件的形式安装于浏览器中,默认随浏览器的启动而启动或者在浏览器启动后随用户的手动触发而启动,或者,监控组件也可以是以独立于浏览器的应用服务的方式进行工作,来达到监控本地设备上浏览器的行为的目的,收集反映通过浏览器向目标系统发起用户访问时的操作行为的行为数据,并以行为监控结果的形式呈现。
在具体操作中,优选地可以针对当前浏览器所处的运行环境,配置对应的监控组件,在具备高度的自由度的特点的基础上,相较于市面上的监控组件则可以达到高度适配性的特点,如此有助于以更快、更精细的方式来达到本申请监控浏览器的行为的目的。
而还可以理解的是,监控组件所得到的行为监控结果,在文件格式、文件内容上与本申请所要获得的HAR文件之间还存在一定程度的差距,对此则可以通过预设的转化策略,进行文件格式的转换,以及将相关的文件内容进行梳理,从而可以加工得到HAR格式的HAR文件。
其中,该HAR文件可以涉及到数据的预处理,例如剔除异常数据、去除空值、填补缺失值等,以便进一步的实现数据增强功能。
步骤S102,对HAR文件所涉及的操作行为进行解析,并得到解析结果;
在通过前面的步骤S101获得了HAR文件之后,则可以对其进行所涉及的操作行为的具体解析处理,以便在数据层面反映出之前通过浏览器向目标系统发起用户访问时的操作行为的不同行为特征,并以解析结果的形式呈现,为后续虚拟用户以及虚拟事务的配置提供参考依据。
步骤S103,根据解析结果,配置相应的虚拟用户以及虚拟事务;
而在获得了对之前所获得的HAR文件的解析结果之后,本申请则可以基于该解析结果,来配置本申请所要生成的测试脚本中涉及的虚拟用户以及虚拟事务。
虚拟用户可以记为CHttpUser,虚拟事务可以记为transaction。
可以接,对于此处所称的虚拟用户,为构造出来的、测试脚本向测试系统发起测试时所要模拟的用户,虚拟用户之间可以是只存在编号/标识上的不同,也可以配置相应的类别属性,以便做进一步的类别划分。
类似的,虚拟事务为构造出来的、测试脚本向测试系统发起测试时所要模拟的操作事务,虚拟事务通常涉及到不同的事务类型,面对大量的虚拟事务配置目标,可以以直接设置事务比例的方式来约束后续测试脚本动态发起虚拟事务时的不同事务,或者,也可以直接配置相应的事务队列,供后续测试脚本动态发起虚拟事务时直接使用。
应当理解的是,此处配置虚拟用户以及虚拟事务所参考的解析结果,是与步骤S101所获取的HAR文件当时所处的应用场景之间存在紧密的对应关系,也因此,本申请认为,若是只考虑解析结果对应场景(步骤S101所获取的HAR文件当时所处的应用场景)的话,有可能出现针对面有限或者说站对面较窄的问题,因此,还可以对场景进行进一步的扩展,以便进一步提高后续所生成的测试脚本的细节,让本身方案具有的所生成测试脚本在细节上更具有针对性的优点进一步得到了增强。
具体的,作为又一种示例性的实现方式,此处步骤S103根据解析结果,配置相应的虚拟用户以及虚拟事务,具体可以包括:
在解析结果对应场景的基础上,分析与预设测试场景之间的差异,并聚焦于差异对解析结果进行完善,得到目标解析结果;
根据目标解析结果,配置相应的虚拟用户以及虚拟事务。
可以看到,本申请预先确定了后续步骤S104所生成的测试脚本可能涉及的一些测试场景(预设测试场景),如此,则可以对当前解析结果对应场景(步骤S101所获取的HAR文件当时所处的应用场景)进行场景的比较分析,以确定场景之间可能存在的差异。
如此,在已有场景的解析结果的基础上,以场景之间的差异为参考指导,进行解析结果的内容的完善/补足,从而获得对于更多测试场景具有针对性的目标解析结果,进而可以配置得到对于更多测试场景具有针对性的虚拟用户以及虚拟事务。
进一步的,本申请发明人还认为,预设测试场景除了可以包括本申请预先配置的、通用的不同测试场景,还可以包括针对本次所生成的测试脚本预期的使用环境进行配置的测试场景,如此,得到在进一步提高细节的情况下也保证了高度的针对性。
对此,作为又一种示例性的实现方式,此处在解析结果对应场景的基础上,分析与预设测试场景之间的差异,并聚焦于差异对解析结果进行完善,得到目标解析结果之前,本申请方法还可以包括以下的预设测试场景的配置处理:
确定待生成测试脚本的使用设备以及测试系统在当前情况下的状态;
以使用设备以及测试系统在当前情况下的状态为基础,确定对应的常规测试场景,以及以使用设备以及测试系统在当前情况下的状态为基础,确定使用设备以及测试系统在受到异常情况还有特殊人为设置之后的预测测试场景,得到预设测试场景。
可以理解,对于针对本次所生成的测试脚本预期的使用环境进行配置的预设测试场景,本申请考虑从待生成测试脚本的使用设备以及测试系统在当前情况下的状态入手,对于此处涉及的使用设备还有测试系统,应当理解的是,对应于测试脚本还没生成的当前情况,处于规划阶段/计划阶段,或者,也可以处于预测阶段,如此,可以通过规划/计划的方式,或者通过预测的方式来确定后续步骤S104生成测试脚本之后运行测试脚本的使用设备以及所要测试的测试系统(测试对象)。
而在确定了待生成测试脚本的使用设备以及测试系统在当前情况下的状态之后,本申请一方面假定待生成测试脚本的使用设备以及测试系统在当前情况下的状态处于稳定状态,可以基于两者直接确定适配的常规测试场景,另一方面还假定待生成测试脚本的使用设备以及测试系统在当前情况下的状态处于不稳定状态,并考虑异常情况(对应客观方面的影响)还有特殊人为设置(对应主观方面的影响)对于具体测试场景带来的影响,以预测的方式确定最终的具体测试场景,如此得到的两个方面的常规测试场景和预测测试场景,组成了上述提及的针对本次所生成的测试脚本预期的使用环境进行配置的测试场景。
在此处设置中,同时对稳定状态和不稳定状态这两个方面入手,如此所获得的预设测试场景可以兼顾正常测试场景还有异常测试场景,具有更佳的针对性,尤其是在考虑了异常情况还有特殊人为设置导致的异常测试场景之后,则可以进一步保障后续所生成的测试脚本可以兼容脚本实际使用过程中的种种异常使用环境,在各种特殊条件下都可以保障高精度的自动化测试效果。
步骤S104,在虚拟用户以及虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本。
而在确定了所涉及的虚拟用户以及虚拟事务的情况下,则可以结合预设的测试脚本模板,进行信息融合,以此生成相应的测试脚本。
其中,应当理解的是,在生成测试脚本的过程中,除了虚拟用户以及虚拟事务,还可以涉及到其他信息的设置,例如测试任务如何进行拆分、基于虚拟用户以及虚拟事务在什么测试机制下展开测试(可以涉及集合点、检查点、Get请求、POST请求的设置)等。
而对于生成的测试脚本,其文件通常为PY文件,即,测试脚本的文件后缀为.PY,或者说,后缀名为.PY,例如某一个测试脚本的文件名称为:yyyyyy.PY。
与此同时,值得补充的是,本申请方案是在PYTHON编程语言环境内进行的,这也对应了本申请所涉及的HAR文件、PY文件。
为方便理解,还可以将本申请方案对于测试脚本的生成处理,理解为本申请所配置的脚本编译器的处理内容,对此,还可以结合图2示出的本申请的方案架构的一种场景示意图来进行更为形象的理解。
完成了测试脚本的生成之后,则还可以根据实际需要,直接展开对测试系统的测试处理,对此,本申请方法还可以包括具体测试环节的处理内容:
基于测试脚本,对作为当前测试对象的测试系统展开自动化测试,并得到测试系统的性能测试结果。
应当理解的是,此处所涉及的具体测试环节,考虑到并不是本申请方案的重点,且可以参考现有技术,因此本申请在此处就不做具体的展开说明。
对于以上的方案内容,总而言之,针对于测试脚本的生成处理,本申请获取到反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件之后,对该对HAR文件所涉及的操作行为进行解析,并得到解析结果,接着根据解析结果,配置相应的虚拟用户以及虚拟事务,然后在虚拟用户以及虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本,在这过程中,本申请通过对HAR文件引入解析的处理方式,来更有针对性地配置相应的虚拟用户以及虚拟事务,如此生成的测试脚本相较于基于HAR文件直接生成的测试脚本,在细节上更具有针对性,可以满足实际情况下细腻的自动化测试需求,促使更高精度的系统测试效果。
以上是本申请提供的针对浏览器的测试脚本生成方法的介绍,为便于更好的实施本申请提供的针对浏览器的测试脚本生成方法,本申请还从功能模块角度提供了一种针对浏览器的测试脚本生成装置。
参阅图3,图3为本申请针对浏览器的测试脚本生成装置的一种结构示意图,在本申请中,针对浏览器的测试脚本生成装置300具体可包括如下结构:
获取单元301,用于获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,HAR文件的文件后缀为.HAR;
解析单元302,用于对HAR文件所涉及的操作行为进行解析,并得到解析结果;
配置单元303,用于根据解析结果,配置相应的虚拟用户以及虚拟事务;
生成单元304,用于在虚拟用户以及虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本。
在一种示例性的实现方式中,获取单元301,具体用于:
通过浏览器本身配置的HAR文件导出模块,生成反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件。
在又一种示例性的实现方式中,获取单元301,具体用于:
通过预先为浏览器配置的监控组件,实时监控浏览器的行为,得到行为监控结果;
以预设的转化策略,将行为监控结果转化为反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件。
在又一种示例性的实现方式中,配置单元303,具体用于:
在解析结果对应场景的基础上,分析与预设测试场景之间的差异,并聚焦于差异对解析结果进行完善,得到目标解析结果;
根据目标解析结果,配置相应的虚拟用户以及虚拟事务。
在又一种示例性的实现方式中,配置单元303,还用于:
确定待生成测试脚本的使用设备以及测试系统在当前情况下的状态;
以使用设备以及测试系统在当前情况下的状态为基础,确定对应的常规测试场景,以及以使用设备以及测试系统在当前情况下的状态为基础,确定使用设备以及测试系统在受到异常情况还有特殊人为设置之后的预测测试场景,得到预设测试场景。
本申请还从硬件结构角度提供了一种处理设备,参阅图4,图4示出了本申请处理设备的一种结构示意图,具体的,本申请处理设备可包括处理器401、存储器402以及输入输出设备403,处理器401用于执行存储器402中存储的计算机程序时实现如图1对应实施例中针对浏览器的测试脚本生成方法的各步骤;或者,处理器401用于执行存储器402中存储的计算机程序时实现如图3对应实施例中各单元的功能,存储器402用于存储处理器401执行上述图1对应实施例中针对浏览器的测试脚本生成方法所需的计算机程序。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
处理设备可包括,但不仅限于处理器401、存储器402、输入输出设备403。本领域技术人员可以理解,示意仅仅是处理设备的示例,并不构成对处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如处理设备还可以包括网络接入设备、总线等,处理器401、存储器402、输入输出设备403等通过总线相连。
处理器401可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是处理设备的控制中心,利用各种接口和线路连接整个设备的各个部分。
存储器402可用于存储计算机程序和/或模块,处理器401通过运行或执行存储在存储器402内的计算机程序和/或模块,以及调用存储在存储器402内的数据,实现计算机装置的各种功能。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据处理设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器401用于执行存储器402中存储的计算机程序时,具体可实现以下功能:
获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,HAR文件的文件后缀为.HAR;
对HAR文件所涉及的操作行为进行解析,并得到解析结果;
根据解析结果,配置相应的虚拟用户以及虚拟事务;
在虚拟用户以及虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的针对浏览器的测试脚本生成装置、处理设备及其相应单元的具体工作过程,可以参考如图1对应实施例中针对浏览器的测试脚本生成方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1对应实施例中针对浏览器的测试脚本生成方法的步骤,具体操作可参考如图1对应实施例中针对浏览器的测试脚本生成方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1对应实施例中针对浏览器的测试脚本生成方法的步骤,因此,可以实现本申请如图1对应实施例中针对浏览器的测试脚本生成方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的针对浏览器的测试脚本生成方法、装置、处理设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种针对浏览器的测试脚本生成方法,其特征在于,所述方法包括:
获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,所述HAR文件的文件后缀为.HAR;
对所述HAR文件所涉及的操作行为进行解析,并得到解析结果;
根据所述解析结果,配置相应的虚拟用户以及虚拟事务;
在所述虚拟用户以及所述虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本。
2.根据权利要求1所述的方法,其特征在于,所述获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,包括:
通过所述浏览器本身配置的HAR文件导出模块,生成反映通过所述浏览器向所述目标系统发起所述用户访问时的操作行为的所述HAR文件。
3.根据权利要求1所述的方法,其特征在于,所述获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,包括:
通过预先为所述浏览器配置的监控组件,实时监控所述浏览器的行为,得到行为监控结果;
以预设的转化策略,将所述行为监控结果转化为反映通过所述浏览器向所述目标系统发起所述用户访问时的操作行为的所述HAR文件。
4.根据权利要求1所述的方法,其特征在于,所述根据所述解析结果,配置相应的虚拟用户以及虚拟事务,包括:
在所述解析结果对应场景的基础上,分析与预设测试场景之间的差异,并聚焦于所述差异对所述解析结果进行完善,得到目标解析结果;
根据所述目标解析结果,配置相应的虚拟用户以及虚拟事务。
5.根据权利要求4所述的方法,其特征在于,所述在所述解析结果对应场景的基础上,分析与预设测试场景之间的差异,并聚焦于所述差异对所述解析结果进行完善,得到目标解析结果之前,所述方法还包括:
确定待生成测试脚本的使用设备以及测试系统在当前情况下的状态;
以所述使用设备以及所述测试系统在当前情况下的状态为基础,确定对应的常规测试场景,以及以所述使用设备以及所述测试系统在当前情况下的状态为基础,确定所述使用设备以及所述测试系统在受到异常情况还有特殊人为设置之后的预测测试场景,得到所述预设测试场景。
6.一种针对浏览器的测试脚本生成装置,其特征在于,所述装置包括:
获取单元,用于获取反映通过浏览器向目标系统发起用户访问时的操作行为的HAR文件,所述HAR文件的文件后缀为.HAR;
解析单元,用于对所述HAR文件所涉及的操作行为进行解析,并得到解析结果;
配置单元,用于根据所述解析结果,配置相应的虚拟用户以及虚拟事务;
生成单元,用于在所述虚拟用户以及所述虚拟事务的基础上,结合预设的测试脚本模板,生成对应的测试脚本。
7.根据权利要求6所述的装置,其特征在于,所述获取单元,具体用于:
通过所述浏览器本身配置的HAR文件导出模块,生成反映通过所述浏览器向所述目标系统发起所述用户访问时的操作行为的所述HAR文件。
8.根据权利要求6所述的装置,其特征在于,所述获取单元,具体用于:
通过预先为所述浏览器配置的监控组件,实时监控所述浏览器的行为,得到行为监控结果;
以预设的转化策略,将所述行为监控结果转化为反映通过所述浏览器向所述目标系统发起所述用户访问时的操作行为的所述HAR文件。
9.根据权利要求6所述的装置,其特征在于,所述配置单元,具体用于:
在所述解析结果对应场景的基础上,分析与预设测试场景之间的差异,并聚焦于所述差异对所述解析结果进行完善,得到目标解析结果;
根据所述目标解析结果,配置相应的虚拟用户以及虚拟事务。
10.根据权利要求9所述的装置,其特征在于,所述配置单元,还用于:
确定待生成测试脚本的使用设备以及测试系统在当前情况下的状态;
以所述使用设备以及所述测试系统在当前情况下的状态为基础,确定对应的常规测试场景,以及以所述使用设备以及所述测试系统在当前情况下的状态为基础,确定所述使用设备以及所述测试系统在受到异常情况还有特殊人为设置之后的预测测试场景,得到所述预设测试场景。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311694274.0A CN117707946A (zh) | 2023-12-08 | 2023-12-08 | 一种针对浏览器的测试脚本生成方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311694274.0A CN117707946A (zh) | 2023-12-08 | 2023-12-08 | 一种针对浏览器的测试脚本生成方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707946A true CN117707946A (zh) | 2024-03-15 |
Family
ID=90159901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311694274.0A Pending CN117707946A (zh) | 2023-12-08 | 2023-12-08 | 一种针对浏览器的测试脚本生成方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707946A (zh) |
-
2023
- 2023-12-08 CN CN202311694274.0A patent/CN117707946A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145437B (zh) | 一种java注解测试方法及装置 | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN111552633A (zh) | 接口的异常调用测试方法、装置、计算机设备及存储介质 | |
CN113505082B (zh) | 应用程序测试方法及装置 | |
CN109558313B (zh) | 构建异常测试场景的方法及装置 | |
CN109739700B (zh) | 一种接口测试方法和装置 | |
CN111538659B (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN109522181B (zh) | 一种分布式存储系统的性能测试方法、装置和设备 | |
CN111045942A (zh) | 应用测试方法、系统、存储介质及电子设备 | |
CN114546738A (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN112395182A (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
CN113448988A (zh) | 算法模型的训练方法、装置、电子设备及存储介质 | |
CN112631920A (zh) | 一种测试方法、装置、电子设备及可读存储介质 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN117707946A (zh) | 一种针对浏览器的测试脚本生成方法以及装置 | |
CN114500348B (zh) | 一种cdn网关测试方法及系统 | |
CN113127369A (zh) | 一种执行脚本的处理方法以及装置 | |
CN115617668A (zh) | 一种兼容性测试方法、装置及设备 | |
CN112433946A (zh) | 接口测试管理方法、装置、设备及存储介质 | |
CN113254332A (zh) | 一种存储系统多场景测试方法、系统、终端及存储介质 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN110618778A (zh) | 业务数据自动生成方法、系统、电子设备及计算机存储介质 | |
CN105988917A (zh) | 异常信息获取方法及装置 | |
CN110597736B (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 |