CN112685311A - 测试脚本自动生成方法、装置、计算机设备及存储介质 - Google Patents
测试脚本自动生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112685311A CN112685311A CN202011626979.5A CN202011626979A CN112685311A CN 112685311 A CN112685311 A CN 112685311A CN 202011626979 A CN202011626979 A CN 202011626979A CN 112685311 A CN112685311 A CN 112685311A
- Authority
- CN
- China
- Prior art keywords
- tested
- test
- page
- test script
- 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
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种测试脚本自动生成方法、装置、计算机设备及存储介质,该方法包括:获取目标应用程序对应的脚本生成请求;解析脚本生成请求,获取目标应用程序对应的至少一张待测页面和与待测页面对应的待测页码;对待测页面进行识别,获取待测页面的至少一个控件元素和每一控件元素对应的元素测试代码;基于至少一个控件元素对应的元素测试代码,生成与待测页面对应的原始测试脚本;将原始测试脚本在至少一个目标待测设备进行测试验证,获取每一目标待测设备的测试验证结果;若所有目标待测设备的测试验证结果均为测试成功,则将原始测试脚本确定为待测页面对应的单测试脚本;依据待测页面对应的单测试脚本和待测页码,获取目标测试脚本。
Description
技术领域
本发明涉及软件技术领域,尤其涉及一种测试脚本自动生成方法、装置、计算机设备及存储介质。
背景技术
自动化开发的目的是把开发人员从繁重且重复的工作中解放出来,由机器代替开发人员做重复度高且需要验证的开发工作。这样能让开发人员更专注的应对Bug的修复与验证,也能减少重复开发的开发人力。
目前,自动化开发过程需要开发人员自行编写脚本脚本来完成,而脚本的编写则需要人员具备较强的编程能力,编写与维护自动化脚本,生成的脚本过程较为繁琐,无法提升开发效率;同时完成脚本后,无法保证脚本适配不同的设备型号的设备。
发明内容
本发明实施例提供一种测试脚本自动生成方法、装置、计算机设备及存储介质,以解决生成的脚本过程较为繁琐,无法提升开发效率和完成脚本后,无法保证脚本适配不同的设备型号的设备的问题。
一种测试脚本自动生成方法,包括:
获取目标应用程序对应的脚本生成请求;
解析所述脚本生成请求,获取所述目标应用程序对应的至少一张待测页面和与所述待测页面对应的待测页码;
对所述待测页面进行识别,获取所述待测页面的至少一个控件元素和每一所述控件元素对应的元素测试代码;
基于至少一个所述控件元素对应的元素测试代码,生成与所述待测页面对应的原始测试脚本;
将所述原始测试脚本在至少一个目标待测设备进行测试验证,获取每一所述目标待测设备的测试验证结果;
若所有所述目标待测设备的测试验证结果均为测试成功,则将所述原始测试脚本确定为所述待测页面对应的单测试脚本;
依据所述待测页面对应的单测试脚本和所述待测页码,获取目标测试脚本。
一种测试脚本自动生成方法装置,包括:
脚本生成请求模块,用于获取目标应用程序对应的脚本生成请求;
解析模块,用于解析所述脚本生成请求,获取所述目标应用程序对应的至少一张待测页面和与所述待测页面对应的待测页码;
识别模块,用于对所述待测页面进行识别,获取所述待测页面的至少一个控件元素和每一所述控件元素对应的元素测试代码;
原始测试脚本生成模块,用于基于至少一个所述控件元素对应的元素测试代码,生成与所述待测页面对应的原始测试脚本;
测试验证结果获取模块,用于将所述原始测试脚本在至少一个所述目标待测设备进行测试验证,获取每一所述目标待测设备的测试验证结果;
单测试脚本确定模块,用于若所有所述目标待测设备的测试验证结果均为测试成功,则将所述原始测试脚本确定为所述待测页面对应的单测试脚本;
目标测试脚本获取模块,用于依据所述待测页面对应的单测试脚本和所述待测页码,获取目标测试脚本。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述测试脚本自动生成方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述测试脚本自动生成方法的步骤。
上述测试脚本自动生成方法、装置、计算机设备及存储介质,获取目标应用程序对应的脚本生成请求。解析所述脚本生成请求,获取所述目标应用程序对应的至少一张待测页面和与所述待测页面对应的待测页码,以便后续自动化生成连续的目标测试脚本,便于进行自动化测试。对所述待测页面进行识别,获取所述待测页面的至少一个控件元素和每一所述控件元素对应的元素测试代码,有利于加快开发速度,为后续得到目标测试脚本提供技术支持。基于至少一个所述控件元素对应的元素测试代码,生成与所述待测页面对应的原始测试脚本。将所述原始测试脚本在至少一个所述目标待测设备进行测试验证,获取每一所述目标待测设备的测试验证结果;若所有所述目标待测设备的测试验证结果均为测试成功,则将所述原始测试脚本确定为所述待测页面对应的单测试脚本,确保单测试脚本是准确的,以便开发人员进行后续工作。依据所述待测页面对应的单测试脚本和所述待测页码,获取目标测试脚本,保证后续可以自动化执行连续的目标测试脚本,减少开发人员进行手动调节和维护的步骤。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中测试脚本自动生成方法的一应用环境示意图;
图2是本发明一实施例中测试脚本自动生成方法的一流程图;
图3是本发明一实施例中测试脚本自动生成方法的另一流程图;
图4是本发明一实施例中测试脚本自动生成方法的另一流程图;
图5是本发明一实施例中测试脚本自动生成方法的另一流程图;
图6是本发明一实施例中测试脚本自动生成方法的另一流程图;
图7是本发明一实施例中测试脚本自动生成方法的另一流程图;
图8是本发明一实施例中测试脚本自动生成方法的另一流程图;
图9是本发明一实施例中测试脚本自动生成装置的一原理框图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的测试脚本自动生成方法,该测试脚本自动生成方法可应用如图1所示的应用环境中。具体地,该测试脚本自动生成方法应用在测试脚本自动生成***中,该测试脚本自动生成***包括如图1所示的客户端和服务器,客户端与服务器通过网络进行通信,用于实现提高脚本生成效率。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种测试脚本自动生成方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S201:获取目标应用程序对应的脚本生成请求。
其中,目标应用程序是安装在客户端上的程序或者通过浏览器显示的程序。脚本生成请求是用于请求服务器生成目标应用程序对应的测试脚本的请求。
S202:解析脚本生成请求,获取目标应用程序对应的至少一张待测页面和与待测页面对应的待测页码。
其中,待测页面是指用于生成测试脚本的截图,后续服务器可以根据接收的待测页面自动化生成测试脚本,以加快自动化测试速度。待测页码是用于识别待测页面的页码,本实施例中,待测页面是连续的,例如,第一张待测页面可能是登录对应的页面,第二张待测页面可能是点击登录后跳转的页面,因此,待测页面对应的待测页码也是连续的,以便后续自动化生成连续的目标测试脚本,便于进行自动化测试。
S203:对待测页面进行识别,获取待测页面的至少一个控件元素和每一控件元素对应的元素测试代码。
其中,控件元素是组成待测页面的元素,例如,该控件元素可以是转发、点赞、登录或者注册等。元素测试代码是指与控件元素对应的代码。
本实施例中,当服务器接收到待测页面时,则调用自动化脚本生成工具对待测页面进行识别,以得到待测页面中的控件元素,并获取该控件元素对应的元素测试代码,有利于加快开发速度,为后续得到目标测试脚本提供技术支持。
S204:基于至少一个控件元素对应的元素测试代码,生成与待测页面对应的原始测试脚本。
具体地,将同一待测页面的元素测试代码进行组合,得到原始测试脚本,以便为后续的脚本执行过程提供技术支持。
S205:将原始测试脚本在至少一个目标待测设备进行测试验证,获取每一目标待测设备的测试验证结果。
其中,目标待测设备用于接收服务器生成的原始测试脚本并执行原始测试脚本的设备,例如,目标待测设备可以是指手机。测试验证结果是目标待测试设备执行原始测试脚本的结果。
目前,自动化脚本开发过程中,由于通常是利用单一的设备接口连接原始原始设备,导致需要不断的更换不同型号的目标待测设备以执行同一原始测试脚本,以查看该原始测试脚本是否与所有型号的设备都适配,开发速度较慢。本实施例,测试脚本自动生成方法应用在测试脚本自动生成***,该测试脚本自动生成***包括服务器和至少一个原始待测设备,该服务器中安装有自动化脚本生成工具,在自动化脚本生成工具中设置多个设备连接接口,原始待测设备通过设备连接接口与服务器同时连接,并根据开发人员的实际需要从原始待测设备中选择目标待测设备,实现灵活选择需要生成测试脚本的目标待测设备,提高自动化脚本的生成效率。其中,自动化脚本生成工具可以是ATXW editor和uiautomator2的组合等,设备连接接口是用于连接服务器与手机的接口。可以理解地,目标待测设备的数量可以是一个也可以是两个,在此不在限定。其中,型号是用于唯一识别生产设备的产商的标识。例如,目标待测设备为手机时,型号可以为华为等产商。
S206:若所有目标待测设备的测试验证结果均为测试成功,则将原始测试脚本确定为待测页面对应的单测试脚本。
本实施例,所有目标待测设备的测试验证结果均为测试成功时,才确定单测试脚本,确保单测试脚本是准确的,以便开发人员进行后续工作。
S207:依据待测页面对应的单测试脚本和待测页码,获取目标测试脚本。
其中,目标测试脚本是连续的单测试脚本形成的脚本。由于单测试脚本和待测页码对应,因此按照正序或者倒序的顺序对待测页码和单测试脚本进行排序,以得到连续的目标测试脚本,保证后续可以自动化执行连续的目标测试脚本,减少开发人员进行手动调节和维护的步骤。这是因为待测页面是连续的页面,例如,第一张待测页面可能是登录对应的页面,第二张待测页面可能是点击登录后跳转的页面。
本实施例中,按照正序或者倒序的顺序对待测页码和单测试脚本进行排序,以得到连续的目标测试脚本,保证后续可以自动化执行连续的目标测试脚本,提高脚本生成效率。解决现有的如ATXW editor和uiautomator2的组合等自动化脚本生成工具需要开发人员根据每个待测页面进行整合形成完整的自动化脚本,导致开发步骤较为繁琐,脚本生成效率低的问题。
本实施例所提供的测试脚本自动生成方法,获取目标应用程序对应的脚本生成请求。解析脚本生成请求,获取目标应用程序对应的至少一张待测页面和与待测页面对应的待测页码,以便后续自动化生成连续的目标测试脚本,便于进行自动化测试。对待测页面进行识别,获取待测页面的至少一个控件元素和每一控件元素对应的元素测试代码,有利于加快开发速度,为后续得到目标测试脚本提供技术支持。基于至少一个控件元素对应的元素测试代码,生成与待测页面对应的原始测试脚本。将原始测试脚本在至少一个目标待测设备进行测试验证,获取每一目标待测设备的测试验证结果。若所有目标待测设备的测试验证结果均为测试成功,则将原始测试脚本确定为待测页面对应的单测试脚本,确保单测试脚本是准确的,以便开发人员进行后续工作。依据待测页面对应的单测试脚本和待测页码,获取目标测试脚本,保证后续可以自动化执行连续的目标测试脚本,减少开发人员进行手动调节和维护的步骤。
在一实施例中,如图3所示,在步骤S201之前,即在获取目标应用程序对应的脚本生成请求之前,方法还包括:
S301:获取原始待测设备列表,原始待测设备列表包括设备型号相同的待测设备组。
其中,原始待测设备是可以进行脚本测试的设备。
待测设备组是设备型号相同的原始测试设备组成的组。
原始待测设备列表是指记录有,可以进行测试的所有的原始待测设备和每一原始待测设备对应的设备型号的列表。
具体地,所有原始待测设备通过设备连接接口与服务器进行连接,实现多台原始待测设备与服务器进行连接,可以灵活地从原始待测设备中选择目标待测设备,且可以根据开发人员实际需要进行切换,有利于提高脚本开发效率。
S302:从每一待测设备组中,选择一个原始待测设备,确定为目标待测设备。
本实施例中,当需要进行测试时,开发人员可以根据实际需要从每一待测设备组中,选择一个原始待测设备,作为目标待测设备,进行脚本测试,以确保后续生成的目标测试脚本与所有设备型号的目标待测设备都相匹配,生成的目标测试脚本的适用性较强。当需要更改设备时,也可以切换原始待测设备,得到目标待测设备,从而提高脚本生成效率。
本实施例所提供的测试脚本自动生成方法,获取原始待测设备列表,原始待测设备列表包括设备型号相同的待测设备组,可以灵活地从原始待测设备中选择目标待测设备,且可以根据开发人员实际需要进行切换,有利于提高脚本开发效率。从每一待测设备组中,选择一个原始待测设备,确定为目标待测设备,以确保后续生成的目标测试脚本与所有设备型号的目标待测设备都相匹配,生成的目标测试脚本的适用性较强。
在一实施例中,如图4所示,在步骤S301之前,即在获取原始待测设备列表之前,测试脚本自动生成方法还包括:
S401:基于wifi接口或者USB接口,获取原始待测设备。
本实施例中,wifi接口或者USB接口均为设备连接接口,根据开发人员实际需要灵活的选择设备连接接口,为开发人员提供多样化选择。可以理解地,若通过wifi接口连接原始待测设备和服务器,则通过获取原始待测设备的设备ip地址,实现远程连接。若USB接口连接连接原始待测设备和服务器,则利用数据线连接,开发人员根据实际需要进行灵活选择。
S402:依据原始待测设备的设备型号对所有原始待测设备进行划分,生成设备型号相同的待测设备组,基于待测设备组形成原始待测设备列表。
本实施例中,将所有设备型号相同的原始待测设备存储在同一个待测设备组中,便于后续开发人员根据待测设备组的选择,而不比重复找到原始待测设备的设备型号,提高工作效率。
本实施例所提供的测试脚本自动生成方法,基于wifi接口或者USB接口,获取原始待测设备,根据开发人员实际需要灵活的选择设备连接接口,为开发人员提供多样化选择。依据原始待测设备的设备型号对所有原始待测设备进行划分,生成设备型号相同的待测设备组,基于待测设备组形成原始待测设备列表,便于后续开发人员根据待测设备组的选择,而不比重复找到原始待测设备的设备型号,提高工作效率。
在一实施例中,如图5所示,在步骤S205之后,即在获取每一目标待测设备的测试验证结果之后,测试脚本自动生成方法还包括:
S501:若存在目标待测设备的测试验证结果不为测试成功,则获取目标待测设备对应的设备型号的当前失败次数。
其中,当前失败次数是指每一台目标待测设备可以执行原始测试脚本,且失败的次数。
可以理解地,当目标待测设备的测试验证结果不为测试成功,则当前失败次数加1,重新执行原始测试脚本,而不需立即查找脚本的错误。
S502:若当前失败次数不小于预设测试次数,则从同一设备型号对应的待测设备组中,选取替换待测设备进行测试。
其中,预设测试次数是预先设定的每一目标待测设备执行原始测试脚本的次数。替换待测设备是与目标待测设备的设备型号的相同匹配的。
本实施例,在当前失败次数不小于预设测试次数,则从同一设备型号对应的待测设备组中,选取替换待测设备进行测试,以确定出现测试验证结果不为测试成功原因,排除开发人员失误和设备等因素的影响,以进一步,确定测试失败的原因。可以理解地,当采用替换待测设备进行测试,还是出现错误时可以将该原始测试脚本发送给开发人员,以便开发人员对原始测试脚本进行修改。
本实施例所提供的测试脚本自动生成方法,若存在目标待测设备的测试验证结果不为测试成功,则获取目标待测设备对应的设备型号的当前失败次数,若当前失败次数不大于预设测试次数,则从同一设备型号对应的待测设备组中,选取替换待测设备进行测试,排除开发人员失误等偶然因素的影响,以确定出现测试验证结果不为测试成功原因,排除开发人员失误和设备等因素的影响。
在一实施例中,如图6所示,步骤S204,即基于至少一个控件元素对应的元素测试代码,生成与待测页面对应的原始测试脚本,包括:
S601:获取控件元素的元素属性和元素层级关系。
其中,元素属性是指控件元素对应的属性,包括但不限于文本信息、资源ID和坐标位置等。文本信息是指控件所对应的功能或者描述语言,例如,文本信息可以是登录和点赞等。资源ID是指控件元素在显示界面的位置。元素层级关系是指不同元素控件之间的层级关系,可以理解为不同的控价元素的依赖关系。
本实施例中,通过点击控件元素,即可得到控件元素的元素属性和元素层级关系,因此,有利于减低脚本开发的门槛,减少开发难度,实现脚本开发的普适应。
S602:基于元素属性和元素层级关系生成控件元素对应的元素测试代码。
S603:将所有元素测试代码进行组合,得到待测页面对应的原始测试脚本。
具体地,开发人员在服务器的显示界面中查看元素属性和元素层级关系,若准确元素属性和元素层级关系,则直接点击按钮生成元素测试代码,并基于元素测试代码直接生成待测页面对应的单测试脚本,操作简单,可以适用于大部分的开发人员,显示界面有助于为开发人员提供直观的界面,减少出错。
本实施例所提供的测试脚本自动生成方法,获取控件元素的元素属性和元素层级关系,有利于减低脚本开发的门槛,减少开发难度,实现脚本开发的普适应。基于元素属性和元素层级关系生成控件元素对应的元素测试代码。将所有元素测试代码组合得到待测页面对应的原始测试脚本,操作简单,可以适用于大部分的开发人员,显示界面有助于为开发人员提供直观的界面,减少出错。
在一实施例中,单测试脚本包括与待测页码对应的脚本标识。如图7所示,在步骤S207之后,即在依据待测页面对应的单测试脚本和待测页码,获取目标测试脚本之后,测试脚本自动生成方法还包括:
S701:获取脚本修改指令,脚本修改指令包括修改页面和修改页面对应的修改页码。
其中,脚本标识是用于唯一识别单测试脚本的标识。例如,当待测页面对应的待测页码为00、01和02,则待测页面对应的单测试脚本对应的脚本标识可以为00-00、01-01和02-02,需要说明地是,02-02的第一个02是指第二张待测页面对应的待测页码。第二个02是指第二份单测试脚本对应的序号。
脚本修改指令是依据修改页面对,与该修改页面对应的待测页面的单测试脚本,进行修改的指令。
修改页面是对待测页面进行修改得到的页面。修改页码是指修改页面对应的页码。可以理解地,由于修改页面是对待测页面进行修改得到的,因此,该修改页码是与待测页码对应的页码,即修改页码和待测页码是一一对应的关系,后续根据修改页码可以直接得到对应待测页码。例如,待测页码为01-01,则修改页码为01-01,以便后续快速寻找到对应的单测试脚本,并进行修改。
S702:基于修改页码查询数据库,获取与修改页码对应的待测页码。
本实施例中,根据修改页码采用匹配算法查询数据库,得到修改页码关联的脚本标识,以便根据脚本标识得到对应的单测试脚本,实现对单测试脚本进行修改,有助于加快修改速度。
S703:获取与待测页码关联的脚本标识,基于脚本标识确定单测试脚本,并将单测试脚本确定为待修改测试脚本。
其中,待修改测试脚本是指需要进行修改的脚本。
本实施例中,当服务器确定了待测页码后,则根据待测页码查找关联的脚本标识,以基于脚本标识得到对应的单测试脚本,将单测试脚本确定为待修改测试脚本,以便于后续对待修改测试脚本进行修改,可以理解地,在原有的单测试脚本的基础上进行修改,有利于缩短修改周期,加快生成脚本的速度。
S704:基于修改页面对待修改测试脚本进行修改,获取修改后的单测试脚本。
本实施例中,服务器根据修改截图和待测页面的区别确定需要进行修改的控件元素,并根据修改的控件元素对待修改测试脚本进行修改,修改速度较快,所用时间较短,且由于各个单测试脚本之间是相互分离,因此,可以仅对修改后的单测试脚本进行测试,有效地提高脚本修改速度,避免对重复对所有单测试脚本进行重复测试,解决现有技术中需要对同一项目的脚本进行重复测试造成使得修改的效率低的问题。
本实施例所提供的测试脚本自动生成方法,获取脚本修改指令,脚本修改指令包括修改页面和修改页面对应的修改页码。基于修改页码查询数据库,获取与修改页码对应的待测页码。获取与待测页码关联的脚本标识,基于脚本标识确定单测试脚本,并将单测试脚本确定为待修改测试脚本,在原有的单测试脚本的基础上进行修改,有利于缩短修改周期,加快生成脚本的速度。基于修改页面对待修改测试脚本进行修改,获取修改后的单测试脚本,可以仅对修改后的单测试脚本进行测试,有效地提高脚本修改速度,避免对重复对所有单测试脚本进行重复测试,解决现有技术中需要对同一项目的脚本进行重复测试造成使得修改的效率低的问题。
在一实施例中,修改页面包括修改标注。如图8所示,在步骤S704,基于修改页面对待修改测试脚本进行修改,获取修改后的单测试脚本,包括:
S801:基于修改标注,确定修改元素。
其中,修改标注是用于指示待测页面的修改部分的标注,以便后续根据修改标注直接确定修改的部分,从而可以分发给不同的开发人员进行修改,实现合理分工,共同协作生成单测试脚本,有利于加快生成单测试脚本的速度。修改元素是指进行修改的控件元素,即修改了的待测页面上的控件元素。本实施例中,由于修改页面是对待测页面进行修改得到的页面,因此,在修改时,可以对修改元素进行标注形成修改标注,以便开发人员快速地确定修改元素,加快修改脚本的速度,而不必查找逐一查找需要修改的部分。
S802:基于修改元素对待修改测试脚本进行修改,得到修改后的单测试脚本。
本实施例中,获取修改元素的元素属性和元素层级关系对待修改测试脚本进行修改,得到修改代码,实现快速修改单测试脚本。
本实施例所提供的测试脚本自动生成方法,基于修改标注,确定修改元素,从而可以分发给不同的开发人员进行修改,实现合理分工,共同协作生成单测试脚本,有利于加快生成单测试脚本的速度。基于修改元素对待修改测试脚本进行修改,得到修改后的单测试脚本。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种测试脚本自动生成方法装置,该测试脚本自动生成方法装置与上述实施例中测试脚本自动生成方法一一对应。如图9所示,该测试脚本自动生成方法装置包括脚本生成请求模块901、解析模块902、识别模块903、原始测试脚本生成模块904、测试验证结果获取模块905、单测试脚本确定模块906和目标测试脚本获取模块907。各功能模块详细说明如下:
脚本生成请求模块901,用于获取目标应用程序对应的脚本生成请求。
解析模块902,用于解析脚本生成请求,获取目标应用程序对应的至少一张待测页面和与待测页面对应的待测页码。
识别模块903,用于对待测页面进行识别,获取待测页面的至少一个控件元素和每一控件元素对应的元素测试代码。
原始测试脚本生成模块904,用于基于至少一个控件元素对应的元素测试代码,生成与待测页面对应的原始测试脚本。
测试验证结果获取模块905,用于将原始测试脚本在至少一个目标待测设备进行测试验证,获取每一目标待测设备的测试验证结果。
单测试脚本确定模块906,用于若所有目标待测设备的测试验证结果均为测试成功,则将原始测试脚本确定为待测页面对应的单测试脚本。
目标测试脚本获取模块907,用于依据待测页面对应的单测试脚本和待测页码,获取目标测试脚本。
优选地,在脚本生成请求模块901之前,装置还包括:原始待测设备列表获取模块和目标待测设备确定模块。
原始待测设备列表获取模块,用于获取原始待测设备列表,原始待测设备列表包括设备型号相同的待测设备组。
目标待测设备确定模块,用于从每一待测设备组中,选择一个原始待测设备,确定为目标待测设备。
优选地,在原始待测设备列表获取模块之前,测试脚本自动生成方法还包括:原始待测设备获取模块和设备划分模块。
原始待测设备获取模块,用于基于wifi接口或者USB接口,获取原始待测设备。
设备划分模块,用于依据原始待测设备的设备型号对所有原始待测设备进行划分,生成设备型号相同的待测设备组,基于待测设备组形成原始待测设备列表。
优选地,在测试验证结果获取模块905之后,测试脚本自动生成装置还包括:当前失败次数获取模块和设备替换模块。
当前失败次数获取模块,用于若存在目标待测设备的测试验证结果不为测试成功,则获取目标待测设备对应的设备型号的当前失败次数。
设备替换模块,用于若当前失败次数不大于预设测试次数,则从同一设备型号对应的待测设备组中,选取替换待测设备进行测试。
优选地,原始测试脚本生成模块904,包括:元素属性获取单元、元素测试代码获取单元和组合单元
元素属性获取单元,用于获取控件元素的元素属性和元素层级关系。
元素测试代码获取单元,用于基于元素属性和元素层级关系生成控件元素对应的元素测试代码。
组合单元,用于将所有元素测试代码进行组合,得到待测页面对应的原始测试脚本。
优选地,单测试脚本包括与待测页码对应的脚本标识。在目标测试脚本获取模块907之后,测试脚本自动生成方法还包括:修改指令获取单元、查询单元、待修改测试脚本确定单元和修改单元。
修改指令获取单元,用于获取脚本修改指令,脚本修改指令包括修改页面和修改页面对应的修改页码。
查询单元,用于基于修改页码查询数据库,获取与修改页码对应的待测页码。
待修改测试脚本确定单元,用于获取与待测页码关联的脚本标识,基于脚本标识确定单测试脚本,并将单测试脚本确定为待修改测试脚本。
修改单元,用于基于修改页面对待修改测试脚本进行修改,获取修改后的单测试脚本。
优选地,修改页面包括修改标注。修改单元,包括:修改元素确定子单元和修改元素确定子单元。
修改元素确定子单元,用于基于修改标注,确定修改元素。
修改元素确定子单元,用于基于修改元素对待修改测试脚本进行修改,得到单测试脚本。
关于测试脚本自动生成方法装置的具体限定可以参见上文中对于测试脚本自动生成方法的限定,在此不再赘述。上述测试脚本自动生成方法装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储原始待测设备列表。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试脚本自动生成方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中测试脚本自动生成方法的步骤,例如图2所示的步骤S201-S207,或者图3至图8中所示的步骤,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现测试脚本自动生成方法装置这一实施例中的各模块/单元的功能,例如图9所示的脚本生成请求模块901、解析模块902、识别模块903、原始测试脚本生成模块904、测试验证结果获取模块905、单测试脚本确定模块906和目标测试脚本获取模块907的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中测试脚本自动生成方法的步骤,例如图2所示的步骤S201-S207,或者图3至图8中所示的步骤,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现测试脚本自动生成方法装置这一实施例中的各模块/单元的功能,例如图9所示的脚本生成请求模块901、解析模块902、识别模块903、原始测试脚本生成模块904、测试验证结果获取模块905、单测试脚本确定模块906和目标测试脚本获取模块907的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种测试脚本自动生成方法,其特征在于,包括:
获取目标应用程序对应的脚本生成请求;
解析所述脚本生成请求,获取所述目标应用程序对应的至少一张待测页面和与所述待测页面对应的待测页码;
对所述待测页面进行识别,获取所述待测页面的至少一个控件元素和每一所述控件元素对应的元素测试代码;
基于至少一个所述控件元素对应的元素测试代码,生成与所述待测页面对应的原始测试脚本;
将所述原始测试脚本在至少一个目标待测设备进行测试验证,获取每一所述目标待测设备的测试验证结果;
若所有所述目标待测设备的测试验证结果均为测试成功,则将所述原始测试脚本确定为所述待测页面对应的单测试脚本;
依据所述待测页面对应的单测试脚本和所述待测页码,获取目标测试脚本。
2.如权利要求1所述的测试脚本自动生成方法,其特征在于,在所述获取目标应用程序对应的脚本生成请求之前,所述方法还包括:
获取原始待测设备列表,所述原始待测设备列表包括设备型号相同的待测设备组;
从每一所述待测设备组中,选择一个原始待测设备,确定为所述目标待测设备。
3.如权利要求2所述的测试脚本自动生成方法,其特征在于,在所述获取原始待测设备列表之前,所述测试脚本自动生成方法还包括:
基于wifi接口或者USB接口,获取原始待测设备;
依据所述原始待测设备的设备型号对所有所述原始待测设备进行划分,生成设备型号相同的待测设备组,基于所述待测设备组形成原始待测设备列表。
4.如权利要求2所述的测试脚本自动生成方法,其特征在于,在所述获取每一所述目标待测设备的测试验证结果之后,所述测试脚本自动生成方法还包括:
若存在所述目标待测设备的测试验证结果不为测试成功,则获取所述目标待测设备对应的设备型号的当前失败次数;
若所述当前失败次数不大于预设测试次数,则从同一设备型号对应的待测设备组中,选取替换待测设备进行测试。
5.如权利要求1所述的测试脚本自动生成方法,其特征在于,所述基于至少一个所述控件元素对应的元素测试代码,生成与所述待测页面对应的原始测试脚本,包括:
获取所述控件元素的元素属性和元素层级关系;
基于所述元素属性和所述元素层级关系生成所述控件元素对应的元素测试代码;
将所有所述元素测试代码进行组合,得到待测页面对应的原始测试脚本。
6.如权利要求1所述的测试脚本自动生成方法,其特征在于,所述单测试脚本包括与所述待测页码对应的脚本标识;在所述依据所述待测页面对应的单测试脚本和所述待测页码,获取目标测试脚本之后,所述测试脚本自动生成方法还包括:
获取脚本修改指令,所述脚本修改指令包括修改页面和所述修改页面对应的修改页码;
基于所述修改页码查询数据库,获取与所述修改页码对应的待测页码;
获取与所述待测页码关联的脚本标识,基于所述脚本标识确定单测试脚本,并将所述单测试脚本确定为待修改测试脚本;
基于所述修改页面对所述待修改测试脚本进行修改,获取修改后的单测试脚本。
7.如权利要求6所述的测试脚本自动生成方法,其特征在于,所述修改页面包括修改标注;所述基于所述修改页面对所述待修改测试脚本进行修改,获取修改后的单测试脚本,包括:
基于所述修改标注,确定修改元素;
基于所述修改元素对所述待修改测试脚本进行修改,得到修改后的单测试脚本。
8.一种测试脚本自动生成装置,其特征在于,包括:
脚本生成请求模块,用于获取目标应用程序对应的脚本生成请求;
解析模块,用于解析所述脚本生成请求,获取所述目标应用程序对应的至少一张待测页面和与所述待测页面对应的待测页码;
识别模块,用于对所述待测页面进行识别,获取所述待测页面的至少一个控件元素和每一所述控件元素对应的元素测试代码;
原始测试脚本生成模块,用于基于至少一个所述控件元素对应的元素测试代码,生成与所述待测页面对应的原始测试脚本;
测试验证结果获取模块,用于将所述原始测试脚本在至少一个所述目标待测设备进行测试验证,获取每一所述目标待测设备的测试验证结果;
单测试脚本确定模块,用于若所有所述目标待测设备的测试验证结果均为测试成功,则将所述原始测试脚本确定为所述待测页面对应的单测试脚本;
目标测试脚本获取模块,用于依据所述待测页面对应的单测试脚本和所述待测页码,获取目标测试脚本。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述测试脚本自动生成方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述测试脚本自动生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011626979.5A CN112685311A (zh) | 2020-12-30 | 2020-12-30 | 测试脚本自动生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011626979.5A CN112685311A (zh) | 2020-12-30 | 2020-12-30 | 测试脚本自动生成方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685311A true CN112685311A (zh) | 2021-04-20 |
Family
ID=75455841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011626979.5A Pending CN112685311A (zh) | 2020-12-30 | 2020-12-30 | 测试脚本自动生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685311A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048130A (zh) * | 2021-11-11 | 2022-02-15 | 上海复深蓝软件股份有限公司 | 单元测试方法、装置、计算机设备及存储介质 |
CN115062206A (zh) * | 2022-05-30 | 2022-09-16 | 上海弘玑信息技术有限公司 | 一种网页元素的搜索方法和电子设备 |
-
2020
- 2020-12-30 CN CN202011626979.5A patent/CN112685311A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048130A (zh) * | 2021-11-11 | 2022-02-15 | 上海复深蓝软件股份有限公司 | 单元测试方法、装置、计算机设备及存储介质 |
CN115062206A (zh) * | 2022-05-30 | 2022-09-16 | 上海弘玑信息技术有限公司 | 一种网页元素的搜索方法和电子设备 |
CN115062206B (zh) * | 2022-05-30 | 2023-04-07 | 上海弘玑信息技术有限公司 | 一种网页元素的搜索方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109901834B (zh) | 文档页面生成方法、装置、计算机设备和存储介质 | |
WO2021036618A1 (zh) | 云测试配置方法、装置、计算机设备及存储介质 | |
CN111026645B (zh) | 用户界面自动化测试方法、装置、存储介质及电子设备 | |
CN109634837B (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN111176996A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN111061526A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN110908895A (zh) | 页面自动化测试方法、装置、计算机设备及存储介质 | |
CN110765001B (zh) | 针对应用***的模块化自动测试方法和装置 | |
CN112988298B (zh) | 可视化界面配置方法、装置、计算机设备及存储介质 | |
CN110362479B (zh) | ***升级测试方法和*** | |
CN110781070A (zh) | 大数据测试验证方法、装置、计算机设备及存储介质 | |
CN112685311A (zh) | 测试脚本自动生成方法、装置、计算机设备及存储介质 | |
CN109324961B (zh) | ***自动测试方法、装置、计算机设备及存储介质 | |
CN109614325B (zh) | 一种确定控件属性的方法及装置、电子设备和存储介质 | |
CN112380130A (zh) | 基于调用依赖关系的应用测试方法和装置 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN108399125B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN108255735B (zh) | 关联环境测试方法、电子装置及计算机可读存储介质 | |
CN113220566B (zh) | 接口性能测试脚本的生成方法、装置和计算机设备 | |
CN110990285A (zh) | 一种ui自动化测试方法及装置 | |
CN112612706A (zh) | 自动化测试方法、计算机设备及存储介质 | |
WO2019019955A1 (zh) | 手势测试方法、装置、计算机设备和存储介质 | |
CN116991733A (zh) | 接口测试方法、设备及介质 | |
CN110597874B (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 |