CN117389897A - 测试脚本生成方法、装置、计算机设备和存储介质 - Google Patents

测试脚本生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117389897A
CN117389897A CN202311446541.2A CN202311446541A CN117389897A CN 117389897 A CN117389897 A CN 117389897A CN 202311446541 A CN202311446541 A CN 202311446541A CN 117389897 A CN117389897 A CN 117389897A
Authority
CN
China
Prior art keywords
page
tested
determining
action word
login
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
CN202311446541.2A
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.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China 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 Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN202311446541.2A priority Critical patent/CN117389897A/zh
Publication of CN117389897A publication Critical patent/CN117389897A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请涉及一种测试脚本生成方法、装置、计算机设备和存储介质。所述方法包括:获取待测页面对应的元数据,并确定元数据中各个元素的元素类别;基于每个元素的元素类别,确定对应的动作词组件,动作词组件包括元素对应的操作步骤以及操作步骤对应的交互数据;基于待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对目标动作词组件进行组合排序,得到测试需求对应的配置用例;基于配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本。采用本方法能够提高软件测试脚本的生成效率。

Description

测试脚本生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种测试脚本生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,开发和利用软件测试脚本,实现对各个软件产品进行自动化测试,能够有效提高人工软件测试的效率。
传统技术中,需要技术人员针对网页元数据的数据特征人工编写相关测试用例/动作词组件,其测试用例的复用性低,即元数据稍有变动,需要对大量相关联用例进行修改,生成软件测试脚本的效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种测试脚本生成方法、装置、计算机设备和存储介质,能够有效提高软件测试脚本的生成效率。
第一方面,本申请提供了一种测试脚本生成方法,包括:
获取待测页面对应的元数据,并确定元数据中各个元素的元素类别;
基于每个元素的元素类别,确定对应的动作词组件,动作词组件包括元素对应的操作步骤以及操作步骤对应的交互数据;
基于待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对目标动作词组件进行组合排序,得到测试需求对应的配置用例;
基于配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本。
在其中一个实施例中,获取待测页面对应的元数据,并确定元数据中各个元素的元素类别,包括:
获取各个预设元素标签,预设元素标签包括按钮标签、选择标签以及输入标签,每个预设元素标签都对应一种元素类别;
将预设元素标签与元数据中各个元素的类别标签进行匹配,确定元数据中的各个按钮元素类别、选择元素类别以及输入元素类别。
在其中一个实施例中,基于每个元素的元素类别,确定对应的动作词组件,包括:
获取每个元素类别对应的属性特征,属性特征包括对应的操作步骤类型、调用接口类型以及交互数据类型;
根据每个元素所处页面的页面类型以及对应元素类别的属性特征,确定对应的操作步骤、调用接口以及交互数据;
基于每个元素对应的操作步骤、调用接口以及交互数据,得到每个元素对应的动作词组件。
在一个实施例中,根据每个元素所处页面的页面类型以及对应元素类别的属性特征,确定对应的操作步骤、调用接口以及交互数据,包括:
当页面类型为登录页面时,基于所述对应元素类别的属性特征确定对应的登录操作步骤、调用登录接口以及登录参数与验证参数,登录操作步骤包括选择输入框、输入登录参数、点击登录以及验证登录结果;
基于每个元素对应的操作步骤、调用接口以及交互数据,得到每个元素对应的动作词组件,包括:
基于登录操作步骤、调用登录接口以及登录参数与验证参数,确定对应的登录动作词组件。
在一个实施例中,基于待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对目标动作词组件进行组合排序,得到测试需求对应的配置用例,包括:
测试需求包括需要进行测试的待测子页面以及待测功能项;
基于测试需求,确定待测页面对应的各个待测子页面以及待测功能项;
根据待测页面对应的各子页面间的交互关系,确定各个待测子页面间的交互关系以及对应的目标待测功能项;
基于目标待测功能项,从各个动作词组件中确定目标动作词组件;
根据各个待测子页面间的交互关系,对各个目标动作词组件进行组合排序,得到测试需求对应的配置用例。
在一个实施例中,基于配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本之后,还包括:
获取软件测试指令,并基于软件测试指令执行软件测试脚本;
获取软件测试脚本执行过程中各操作步骤对应接口返回的验证数据,并对验证数据进行验证,基于验证结果得到软件测试结果。
在一个实施例中,获取软件测试脚本执行过程中各操作步骤对应接口返回的验证数据,并对验证数据进行验证,基于验证结果得到软件测试结果,包括:
获取软件测试脚本执行过程中各操作步骤对应的标准页面数据;
将软件测试脚本执行过程中各操作步骤所生成的缓存页面与对应的标准页面进行比较,得到比较结果,并基于比较结果,生成软件测试结果。
第二方面,本申请还提供了一种测试脚本生成装置,包括:
获取模块,用于获取待测页面对应的元数据,并确定元数据中各个元素的元素类别;
确定模块,用于基于每个元素的元素类别,确定对应的动作词组件,动作词组件包括元素对应的操作步骤以及操作步骤对应的交互数据;
配置模块,用于基于待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对目标动作词组件进行组合排序,得到测试需求对应的配置用例;
生成模块,用于基于配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本。
第三方面,本申请还提供了一种计算机设备,该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待测页面对应的元数据,并确定元数据中各个元素的元素类别;
基于每个元素的元素类别,确定对应的动作词组件,动作词组件包括元素对应的操作步骤以及操作步骤对应的交互数据;
基于待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对目标动作词组件进行组合排序,得到测试需求对应的配置用例;
基于配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本。
第四方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待测页面对应的元数据,并确定元数据中各个元素的元素类别;
基于每个元素的元素类别,确定对应的动作词组件,动作词组件包括元素对应的操作步骤以及操作步骤对应的交互数据;
基于待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对目标动作词组件进行组合排序,得到测试需求对应的配置用例;
基于配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本。
上述测试脚本生成方法、装置、计算机设备和存储介质,通过遍历待测页面元数据中各个元素的元素类别,再根据每个元素的元素类别自动化确定对应的动作词组件,再基于待测页面对应的测试需求,从元数据的各个元素对应的动作词组件中确定目标动作词组件,再依据待测页面各子页面间的交互关系,来对各个目标动作词组件进行组合排序,得到测试需求对应的配置用例,从而实现能根据待测页面元数据的元素及其类别,快速确定出对应的动作词组件,并且能够根据各子页面间的交互关系判断出各个目标动作词组件前后排序的逻辑关系,从而得到对应的配置用例,本申请这种可以根据待测页面元数据中元素的类别以及各个子页面的前后交互关系,快速有效地确定出对应的配置用例的方法,相比于传统技术而言,即使在元数据出现改动时,也可以根据改动后的元数据进行适应性调整,而无需对大量相关配置用例进行修改,进而有效提高软件测试脚本的生成效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中测试脚本生成方法的流程示意图;
图2为一个实施例中确定元数据元素类别的流程示意图;
图3为一个实施例中确定各个元素对应动作词组件的流程示意图;
图4为一个实施例中确定登录操作对应的动作词组件流程示意图;
图5为一个实施例中确定测试需求对应配置用例的流程示意图;
图6为一个实施例中执行软件测试的流程示意图;
图7为一个实施例中生成软件测试结果的流程示意图;
图8为一个具体实施例中自动化软件测试的流程示意图;
图9为一个具体实施例中生成自动化软件测试脚本的流程示意图;
图10为一个具体实施例中执行自动化软件测试脚本的流程示意图;
图11为一个实施例中测试脚本生成装置的结构框图;
图12为一个实施例中计算机设备的内部结构图;
图13为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种测试脚本生成方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
本实施例中,该方法包括以下步骤:
步骤S102,获取待测页面对应的元数据,并确定元数据中各个元素的元素类别。
其中,待测页面可以是单个页面或多个子页面的组合,元数据包括待测页面对应的各个元素的标识、元素类别及触发动作等信息。
具体地,计算机设备从本地数据库中获取待测页面对应的元数据,根据元数据中各个元素的标识确定其对应的元素类别,可选地,计算机设备获取预设元素识别列表,并根据该元素识别列表对元数据中各个元素对应的类别标识进行识别/匹配,根据识别/匹配结果确定各个元素对应的元素类别,其中预设元素识别列表包括各个预设元素类别及类别标识之间的对应关系。
步骤S104,基于每个元素的元素类别,确定对应的动作词组件。
其中,动作词组件包括元素对应的操作步骤以及操作步骤对应的交互数据,每个元素类别对应的动作词组件可以预先存储于数据库中,也可以根据获取到元素类别后实时生成对应的动作词组件。
具体地,计算机设备获取功能组件列表,并基于每个元素的元素类别在该功能组件列表中进行匹配操作,从而确定每个元素对应的动作词组件,其中,功能组件列表包括了元素类别与动作词组件之间的对应关系。
举例说明,当元素类别为“登录按钮”时,计算机设备在功能组件列表中根据该元素类别进行信息查询,得到该元素类别对应的“登录按钮组件”,其中该“登录按钮组件”对应的各个操作步骤包括:点击按钮、调用登录接口、接收反馈数据,即计算机设备可以根据每个元素的元素类别,可以通过查询功能组件列表的方式快速确定对应的动作词组件,进而可以快速确定该动作词组件对应的各个操作步骤。
步骤S106,基于待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对目标动作词组件进行组合排序,得到测试需求对应的配置用例。
其中,待测页面对应的测试需求用于表征待测页面中需要进行软件测试的页面以及功能项,各子页面间的交互关系用于表征各个子页面之间的前后逻辑关系或响应顺序,例如登录页面在响应顺序/逻辑上处于软件登录后的主页面之前,因而其交互关系为先进行登录页面的操作,后进行主页面的操作;配置用例用于表征软件测试过程所对应的各个待测功能的完整测试操作。
具体地,计算机设备根据待测页面对应的测试需求,先确定待测页面对应的目标子页面,再根据测试需求从各个目标子页面的元素中确定目标元素,并基于目标元素确定对应的目标动作词组件,再根据待测页面的各个子页面间的交互关系,确定各目标动作词组件之间的组合及排序关系,最后根据该组合及排序关系对各个目标动作词组件进行组合排序,得到测试需求对应的配置用例。
步骤S108,基于配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本。
其中,配置用例中各顺序执行的操作步骤与交互数据是相互对应的关系,该交互数据包括对应操作步骤中调用对应插件时传入的参数以及返回参数对应的校验/标准参数,该校验/标准参数用于对某个操作步骤返回的参数进行校验,以使计算机设备能够根据校验结果,确定对应操作步骤的软件测试结果。
本实施例中,通过遍历待测页面元数据中各个元素的元素类别,再根据每个元素的元素类别自动化确定对应的动作词组件,再基于待测页面对应的测试需求,从元数据的各个元素对应的动作词组件中确定目标动作词组件,再依据待测页面各子页面间的交互关系,来对各个目标动作词组件进行组合排序,得到测试需求对应的配置用例,从而实现能根据待测页面元数据的元素及其类别,快速确定出对应的动作词组件,并且能够根据各子页面间的交互关系判断出各个目标动作词组件前后排序的逻辑关系,从而得到对应的配置用例,本申请这种可以根据待测页面元数据中元素的类别以及各个子页面的前后交互关系,快速有效地确定出对应的配置用例的方法,相比于传统技术而言,即使在元数据出现改动时,也可以根据改动后的元数据进行适应性调整,而无需对大量相关配置用例进行修改,进而有效提高软件测试脚本的生成效率。
在一个实施例中,如图2所示,获取待测页面对应的元数据,并确定元数据中各个元素的元素类别,包括:
步骤S202,获取各个预设元素标签。
其中,预设元素标签包括按钮标签、选择标签以及输入标签,每个预设元素标签都对应一种元素类别,比如按钮标签对应的元素类别为按钮元素类别、输入元素标签对应的元素为输入元素类别等。
具体地,计算机设备根据待测页面对应元数据的数据标识,从数据库中查询得到对应元数据的预设元素标签。
步骤S204,将预设元素标签与元数据中各个元素的类别标签进行匹配,确定元数据中的各个按钮元素类别、选择元素类别以及输入元素类别。
具体地,计算机设备按照预设顺序将元数据中各个元素对应的类别标签与预设元素标签一一进行比对/匹配,其中,各个元素的类别标签指的是元素类别的标签,进而确定元数据中各个元素对应的元素类别,例如各个按钮元素类别、选择元素类别以及输入元素类别等。
本实施例中,通过获取各个预设元素标签,并将预设元素标签与元数据中各个元素的类别标签进行匹配,确定元数据中的各个按钮元素类别、选择元素类别以及输入元素类别,从而可以对元数据中各个元素的元素类别进行快速识别,对于后续确定对应的动作词组件,有效提高确定的效率。
在一个实施例中,如图3所示,基于每个元素的元素类别,确定对应的动作词组件,包括:
步骤S302,获取每个元素类别对应的属性特征。
其中,属性特征包括对应的操作步骤类型、调用接口类型以及交互数据类型;操作步骤类型包括预设的基本操作动作,例如点击操作、输入操作及选择操作等。
具体地,计算机设备根据每个元素类别,分别从数据库中获取对应的属性特征,以使计算机可以根据该属性特征,快速确定每个元素类别对应的测试步骤。
步骤S304,根据每个元素所处页面的页面类型以及对应元素类别的属性特征,确定对应的操作步骤、调用接口以及交互数据。
需要说明的是,不同的页面中可以包含相同元素类别的元素,例如登录页面中包含登录键以及退出页面中的退出键,都对应于按钮元素类别,但其所处页面不同,其所代表的功能也不同,因而在对每个元素确定其对应具体的操作步骤、调用接口以及具体传入或传出参数时,需要结合每个元素所处页面的页面类型以及该元素对应元素类别的属性特征来确定该元素对应的具体操作步骤,元素的元素类别对应的属性特征在不同页面类型中,对应着具体的操作步骤、调用接口以及交互数据,具体的步骤中,计算机设备可以先根据元素的元素类别对应的属性特征,确定候选操作集合,该候选操作集合中所包含的各个操作步骤、调用接口以及交互数据分别属于相同的操作步骤类型、调用接口类型以及交互数据类型,再由该元素所处页面的页面类型,从候选操作集合中确定出具体的操作步骤、调用接口以及交互数据;也可以是先根据页面类型确定该页面对应的所有操作步骤、调用接口以及交互数据,再根据元素的元素类别对应的属性特征,从该页面对应的所有操作步骤、调用接口以及交互数据中确定出具体的操作步骤、调用接口以及交互数据。
步骤S306,基于每个元素对应的操作步骤、调用接口以及交互数据,得到每个元素对应的动作词组件。
具体地,计算机设备将前述步骤中确定元素所对应的具体操作步骤、调用接口以及交互参数,按照动作词组件的数据组合规则,生成对应的动作词组件。
本实施例中,通过获取每个元素类别对应的属性特征,能够快速确定当前元素对应的操作步骤类型、调用接口类型以及交互数据类型,再根据每个元素所处页面的页面类型以及对应元素类别的属性特征,确定该元素具体的操作步骤、调用接口以及交互数据,进而快速生成每个元素对应的动作词组件,提高动作词组件的生成效率及准确性。
在一个实施例中,如图4所示,根据每个元素所处页面的页面类型以及对应元素类别的属性特征,确定对应的操作步骤、调用接口以及交互数据,包括:
步骤S402,当页面类型为登录页面时,基于对应元素类别的属性特征确定对应的登录操作步骤、调用登录接口以及登录参数与验证参数。
其中,登录操作步骤包括选择输入框、输入登录参数、点击登录以及验证登录结果,登录接口是用于响应登录操作对应功能从而发起登录请求的程序接口,登录参数可以包括登录账号、密码以及验证码等信息,验证参数是程序进行登录请求后接收的返回参数。
具体地,计算机设备根据页面类型(登录页面)确定该页面对应的所有操作步骤、调用接口以及交互数据,再根据元素的元素类别对应的属性特征,从该页面对应的所有操作步骤、调用接口以及交互数据中确定出具体的登录操作步骤、调用登录接口以及登录参数与验证参数。
基于每个元素对应的操作步骤、调用接口以及交互数据,得到每个元素对应的动作词组件,包括:
步骤S404,基于登录操作步骤、调用登录接口以及登录参数与验证参数,确定对应的登录动作词组件。
本实施例中,通过对每个元素所处页面的页面类型进行检测,当页面类型为登录页面时,基于对应元素类别的属性特征确定对应的登陆操作步骤、调用登录操作对应的登录接口以及登录操作过程中需要的登录参数与验证参数,并据此生成对应的登录动作词组件,从而实现根据元素的元素类别以及登录页面,快速生成对应的登录动作词组件,有效提高动作词组件的生成效率。
在一个实施例中,如图5所示,基于待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对目标动作词组件进行组合排序,得到测试需求对应的配置用例,包括:
其中,测试需求包括需要进行测试的待测子页面以及待测功能项。
步骤S502,基于测试需求,确定待测页面对应的各个待测子页面以及待测功能项。
其中,测试需求包括各个待测子页面的页面标识以及各个待测功能项对应动作词组件标识。
具体地,计算机设备根据测试需求中各个待测子页面的页面标识与待测页面的各个子页面的页面标识进行匹配,将匹配成功的子页面确定为待测子页面,再基于各个待测功能项对应动作词组件标识确定对应的待测功能项。
步骤S504,根据待测页面对应的各子页面间的交互关系,确定各个待测子页面间的交互关系以及对应的目标待测功能项;
具体地,计算机设备将各个待测子页面对应在待测页面中的交互关系,作为待测子页面间的交互关系,并在各待测子页面的所有元素对应的动作词组件的基础上根据各个待测功能项对应动作词组件标识确定目标待测功能项。
步骤S506,基于目标待测功能项,从各个动作词组件中确定目标动作词组件。
其中,目标待测功能项包括对应的目标动作词组件标识。
具体地,计算机设备将目标待测功能项对应的目标动作词组件标识与待测子页面所有元素对应的动作词组件进行匹配,将匹配成功的动作词组件作为目标动作词组件。
举例说明,当待测子页面为登录页面,且该登录页面包括登录账号功能入口以及注册新账号功能入口,而测试需求中的测试功能项为测试注册新账号功能时,则将登录页面中有关注册新账号功能的元素所对应的动作词组件确定为目标动作词组件,而将其他功能(如登录账号功能)对应的动作词组件进行忽略,若目标待测功能项既包括登录账号功能又包括注册新账号功能,则将登录账号功能与注册新账号功能对应的所有动作词组件都确定为目标动作词组件。
步骤S508,根据各个待测子页面间的交互关系,对各个目标动作词组件进行组合排序,得到测试需求对应的配置用例。
本实施例中,通过基于测试需求,确定待测页面对应的各个待测子页面以及待测功能项,根据待测页面对应的各子页面间的交互关系,确定各个待测子页面间的交互关系以及对应的目标待测功能项,基于目标待测功能项,从各个动作词组件中确定目标动作词组件,最后根据各个待测子页面间的交互关系,对各个目标动作词组件进行组合排序,得到测试需求对应的配置用例,从而可以实现只用根据测试需求就可以完成对对应页面以及对应功能测试用例的自动化配置,大大提高了测试用例的配置效率。
在一个实施例中,如图6所示,基于配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本之后,还包括:
步骤S602,获取软件测试指令,并基于软件测试指令执行软件测试脚本。
其中,软件测试指令的触发方式可以包括软件测试人员直接触发交互操作生成软件测试指令,例如点击软件测试按钮或点击计算机交互界面中的虚拟按钮等方式来触发,还可以是通过设置定时器,当达到预设时长时计算机设备自动触发软件测试指令的生成,使得软件测试过程可以在设定的时间段内进行,避免软件测试与其他业务之间形成对计算机系统资源的争抢,有效配置系统资源。
步骤S604,获取软件测试脚本执行过程中各操作步骤对应接口返回的验证数据,并对验证数据进行验证,基于验证结果得到软件测试结果。
其中,各操作步骤对应接口返回的验证数据可以时某个页面数据或某个计算过程返回的状态值等。
举例说明,当对页面的退出按钮的功能进行测试时,该操作返回一个页面数据,若该页面数据为登录页面,则表明当前的退出操作执行成功,否则表明其返回的是错误数据,计算机会记录该退出操作的测试结果为失败。
本实施例中,通过获取软件测试指令,并基于软件测试指令执行软件测试脚本,获取软件测试脚本执行过程中各操作步骤对应接口返回的验证数据,并对验证数据进行验证,基于验证结果得到软件测试结果,从而能够对每个测试步骤的测试结果进行及时记录,有效保证了软件测试结果的准确性。
在一个实施例中,如图7所示,获取软件测试脚本执行过程中各操作步骤对应接口返回的验证数据,并对验证数据进行验证,基于验证结果得到软件测试结果,包括:
步骤S702,获取软件测试脚本执行过程中各操作步骤对应的标准页面数据。
其中,各操作步骤为涉及到页面交互相关的步骤,即进行某个操作后页面会进行相应的更新,例如翻页操作、登录/退出操作等。
具体地,计算机设备根据软件测试脚本中对应操作步骤的操作类型,在数据库中获取对应的标准页面数据。
步骤S704,将软件测试脚本执行过程中各操作步骤所生成的缓存页面与对应的标准页面进行比较,得到比较结果,并基于比较结果,生成软件测试结果。
具体地,计算机设备分别对各操作步骤对应的缓存页面与其对应的标准页面进行比较,当比较结果为缓存页面与标准页面一致时,确定其软件测试结果为测试通过,反之则确定其软件测试结果为测试不通过。
本实施例中,通过根据软件测试脚本中对应操作步骤的操作类型,在数据库中获取对应的标准页面数据,再将软件测试脚本执行过程中各操作步骤所生成的缓存页面与对应的标准页面进行比较,得到比较结果,并基于比较结果,生成软件测试结果,从而可以有效对软件测试过程中涉及页面交互的测试步骤进行快速测试并生成对应的软件测试结果,有效提高软件测试效率。
本申请还提供了一种应用场景,该应用场景应用上述的测试脚本生成方法,该方法应用于页面开发平台软件的自动化测试场景。具体地,该测试脚本生成方法在该应用场景的应用如下:
如图8所示,本实施例中对于页面开发平台软件的软件测试方案包括封装动作词组件、导入元数据、配置用例、执行软件测试脚本以及请求结果校验,具体步骤如下:
动作词组件的封装是基于特定元素所处页面元数据的场景,对特定的测试/执行步骤进行程式化处理的一组数据结构,例如,一组动作词组件的执行过程为:
获取当前元素对应上一个测试步骤返回的数据,对该返回数据进行分析,判断其是否满足当前步骤的执行条件;若满足步骤执行条件,则执行步骤内容(如参数提取、接口调用等);执行接口调用,并根据条件传入参数,接收返回的数据进行提取、断言等;判断接口调用是否成功,返回数据是否触发其他事件以及是否结束该动作;不断重复(1)至(4),直到完成该动作词所有的内容。
将待测页面的元数据导入软件测试平台,由软件测试平台在数据库中获取各个动作词组件,并对待测页面的元数据中各个元素进行遍历识别,得到各个元素对应的元素类别,如图9所示,再基于元素类别在各个动作词组件中匹配对应的目标动作词组件,进而也就确定了软件测试对应的各个测试步骤与交互数据,再根据需要测试的页面、功能类别以及待测页面中各个子页面的交互关系确定各个目标动作词组件的先后组合排列顺序,进而生成对应的配置用例,再由该配置用例生成可自动化执行的测试脚本,从而实现了将每个步骤解析为可自动化执行的测试脚本。
计算机设备对上述步骤中确定的测试脚本按序进行执行,如图10所示,对测试脚本中各个测试步骤进行相应接口的调用,发送接口请求并对接口的执行状态进行断言判断,并且判断当前是否存在触发其他接口的执行;如果是,则继续执行当前脚本中的测试步骤,反之则结束当前测试步骤,执行下一个测试步骤,将每个测试步骤对应的标准响应结果(如标准页面数据或其他标准返回参数等)与当前测试步骤对应的返回响应结果(如缓存页面或返回参数等)进行验证,若验证一致,则记录当前测试步骤为测试通过,反之记录当前测试步骤为测试未通过,从而生成待测页面对应的软件测试报告。
本实施例中,通过遍历待测页面元数据中各个元素的元素类别,再根据每个元素的元素类别自动化确定对应的动作词组件,再基于待测页面对应的测试需求,从元数据的各个元素对应的动作词组件中确定目标动作词组件,再依据待测页面各子页面间的交互关系,来对各个目标动作词组件进行组合排序,得到测试需求对应的配置用例,从而实现能根据待测页面元数据的元素及其类别,快速确定出对应的动作词组件,并且能够根据各子页面间的交互关系判断出各个目标动作词组件前后排序的逻辑关系,从而得到对应的配置用例,本申请这种可以根据待测页面元数据中元素的类别以及各个子页面的前后交互关系,快速有效地确定出对应的配置用例的方法,相比于传统技术而言,即使在元数据出现改动时,也可以根据改动后的元数据进行适应性调整,而无需对大量相关配置用例进行修改,进而有效提高软件测试脚本的生成效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图11所示,提供了一种测试脚本生成装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块1102、确定模块1104、配置模块1106、生成模块1108,其中:
获取模块1102,用于获取待测页面对应的元数据,并确定元数据中各个元素的元素类别;
确定模块1104,用于基于每个元素的元素类别,确定对应的动作词组件,动作词组件包括元素对应的操作步骤以及操作步骤对应的交互数据;
配置模块1106,用于基于待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对目标动作词组件进行组合排序,得到测试需求对应的配置用例;
生成模块1108,用于基于配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本。
在一个实施例中,获取模块1102还用于获取各个预设元素标签,预设元素标签包括按钮标签、选择标签以及输入标签,每个预设元素标签都对应一种元素类别;将预设元素标签与元数据中各个元素的类别标签进行匹配,确定元数据中的各个按钮元素类别、选择元素类别以及输入元素类别。
在一个实施例中,确定模块1104还用于获取每个元素类别对应的属性特征,属性特征包括对应的操作步骤类型、调用接口类型以及交互数据类型;根据每个元素所处页面的页面类型以及对应元素类别的属性特征,确定对应的操作步骤、调用接口以及交互数据;基于每个元素对应的操作步骤、调用接口以及交互数据,得到每个元素对应的动作词组件。
在一个实施例中,确定模块1104还用于当页面类型为登录页面时,基于对应元素类别的属性特征确定对应的登录操作步骤、调用登录接口以及登录参数与验证参数,登录操作步骤包括选择输入框、输入登录参数、点击登录以及验证登录结果;基于登录操作步骤、调用登录接口以及登录参数与验证参数,确定对应的登录动作词组件。
在一个实施例中,配置模块1106还用于测试需求包括需要进行测试的待测子页面以及待测功能项;基于测试需求,确定待测页面对应的各个待测子页面以及待测功能项;根据待测页面对应的各子页面间的交互关系,确定各个待测子页面间的交互关系以及对应的目标待测功能项;基于目标待测功能项,从各个动作词组件中确定目标动作词组件;根据各个待测子页面间的交互关系,对各个目标动作词组件进行组合排序,得到测试需求对应的配置用例。
在一个实施例中,生成模块1108还用于获取软件测试指令,并基于软件测试指令执行软件测试脚本;获取软件测试脚本执行过程中各操作步骤对应接口返回的验证数据,并对验证数据进行验证,基于验证结果得到软件测试结果。
在一个实施例中,生成模块1108还用于获取软件测试脚本执行过程中各操作步骤对应的标准页面数据;将软件测试脚本执行过程中各操作步骤所生成的缓存页面与对应的标准页面进行比较,得到比较结果,并基于比较结果,生成软件测试结果。
上述测试脚本生成装置,通过遍历待测页面元数据中各个元素的元素类别,再根据每个元素的元素类别自动化确定对应的动作词组件,再基于待测页面对应的测试需求,从元数据的各个元素对应的动作词组件中确定目标动作词组件,再依据待测页面各子页面间的交互关系,来对各个目标动作词组件进行组合排序,得到测试需求对应的配置用例,从而实现能根据待测页面元数据的元素及其类别,快速确定出对应的动作词组件,并且能够根据各子页面间的交互关系判断出各个目标动作词组件前后排序的逻辑关系,从而得到对应的配置用例,本申请这种可以根据待测页面元数据中元素的类别以及各个子页面的前后交互关系,快速有效地确定出对应的配置用例的方法,相比于传统技术而言,即使在元数据出现改动时,也可以根据改动后的元数据进行适应性调整,而无需对大量相关配置用例进行修改,进而有效提高软件测试脚本的生成效率。
关于测试脚本生成装置的具体限定可以参见上文中对于测试脚本生成方法的限定,在此不再赘述。上述测试脚本生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储各个页面元数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试脚本生成方法。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种测试脚本生成方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12与图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种测试脚本生成方法,其特征在于,所述方法包括:
获取待测页面对应的元数据,并确定所述元数据中各个元素的元素类别;
基于每个元素的元素类别,确定对应的动作词组件,所述动作词组件包括元素对应的操作步骤以及所述操作步骤对应的交互数据;
基于所述待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对所述目标动作词组件进行组合排序,得到所述测试需求对应的配置用例;
基于所述配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本。
2.根据权利要求1所述的方法,其特征在于,所述获取待测页面对应的元数据,并确定所述元数据中各个元素的元素类别,包括:
获取各个预设元素标签,所述预设元素标签包括按钮标签、选择标签以及输入标签,每个预设元素标签都对应一种元素类别;
将所述预设元素标签与所述元数据中各个元素的类别标签进行匹配,确定所述元数据中的各个按钮元素类别、选择元素类别以及输入元素类别。
3.根据权利要求1所述的方法,其特征在于,所述基于每个元素的元素类别,确定对应的动作词组件,包括:
获取每个元素类别对应的属性特征,所述属性特征包括对应的操作步骤类型、调用接口类型以及交互数据类型;
根据每个元素所处页面的页面类型以及对应元素类别的属性特征,确定对应的操作步骤、调用接口以及交互数据;
基于每个元素对应的操作步骤、调用接口以及交互数据,得到每个元素对应的动作词组件。
4.根据权利要求3所述的方法,其特征在于,所述根据每个元素所处页面的页面类型以及对应元素类别的属性特征,确定对应的操作步骤、调用接口以及交互数据,包括:
当所述页面类型为登录页面时,基于所述对应元素类别的属性特征确定对应的登录操作步骤、调用登录接口以及登录参数与验证参数,所述登录操作步骤包括选择输入框、输入登录参数、点击登录以及验证登录结果;
所述基于每个元素对应的操作步骤、调用接口以及交互数据,得到每个元素对应的动作词组件,包括:
基于所述登录操作步骤、调用登录接口以及登录参数与验证参数,确定对应的登录动作词组件。
5.根据权利要求1所述的方法,其特征在于,所述基于所述待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对所述目标动作词组件进行组合排序,得到所述测试需求对应的配置用例,包括:
所述测试需求包括需要进行测试的待测子页面以及待测功能项;
基于所述测试需求,确定所述待测页面对应的各个待测子页面以及待测功能项;
根据所述待测页面对应的各子页面间的交互关系,确定各个待测子页面间的交互关系以及对应的目标待测功能项;
基于所述目标待测功能项,从各个动作词组件中确定目标动作词组件;
根据各个待测子页面间的交互关系,对所述各个目标动作词组件进行组合排序,得到所述测试需求对应的配置用例。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于所述配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本之后,还包括:
获取软件测试指令,并基于所述软件测试指令执行所述软件测试脚本;
获取所述软件测试脚本执行过程中各操作步骤对应接口返回的验证数据,并对所述验证数据进行验证,基于验证结果得到软件测试结果。
7.根据权利要求6所述的方法,其特征在于,所述获取所述软件测试脚本执行过程中各操作步骤对应接口返回的验证数据,并对所述验证数据进行验证,基于验证结果得到软件测试结果,包括:
获取所述软件测试脚本执行过程中各操作步骤对应的标准页面数据;
将所述软件测试脚本执行过程中各操作步骤所生成的缓存页面与对应的标准页面进行比较,得到比较结果,并基于所述比较结果,生成软件测试结果。
8.一种测试脚本生成装置,其特征在于,所述装置包括:
获取模块,用于获取待测页面对应的元数据,并确定所述元数据中各个元素的元素类别;
确定模块,用于基于每个元素的元素类别,确定对应的动作词组件,所述动作词组件包括元素对应的操作步骤以及所述操作步骤对应的交互数据;
配置模块,用于基于所述待测页面对应的测试需求以及各子页面间的交互关系,从各个动作词组件中确定目标动作词组件,并对所述目标动作词组件进行组合排序,得到所述测试需求对应的配置用例;
生成模块,用于基于所述配置用例中各顺序执行的操作步骤及其对应的交互数据,生成对应的软件测试脚本。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202311446541.2A 2023-11-01 2023-11-01 测试脚本生成方法、装置、计算机设备和存储介质 Pending CN117389897A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311446541.2A CN117389897A (zh) 2023-11-01 2023-11-01 测试脚本生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311446541.2A CN117389897A (zh) 2023-11-01 2023-11-01 测试脚本生成方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN117389897A true CN117389897A (zh) 2024-01-12

Family

ID=89470017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311446541.2A Pending CN117389897A (zh) 2023-11-01 2023-11-01 测试脚本生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117389897A (zh)

Similar Documents

Publication Publication Date Title
CN107908541B (zh) 接口测试方法、装置、计算机设备及存储介质
CN109815119B (zh) 一种app链接渠道的测试方法及装置
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
CN111475376A (zh) 处理测试数据的方法、装置、计算机设备和存储介质
CN110554962A (zh) 回归测试的流程覆盖方法、服务器及计算机可读存储介质
CN114116496A (zh) 自动化测试方法、装置、设备及介质
CN114356631A (zh) 故障定位方法、装置、计算机设备和存储介质
CN111538659A (zh) 业务场景的接口测试方法、系统、电子设备和存储介质
CN109657475A (zh) 代码漏洞排查方法、装置、设备及存储介质
US9501390B1 (en) Enhancing automated mobile application testing
CN112052157B (zh) 测试报文的构造方法、装置及系统
CN116561003A (zh) 测试数据生成方法、装置、计算机设备和存储介质
CN117389897A (zh) 测试脚本生成方法、装置、计算机设备和存储介质
CN116662143A (zh) 测试方法、装置、设备、存储介质和计算机程序产品
US10740223B1 (en) Systems and methods for checkpoint-based machine learning model
CN111552634A (zh) 前端系统的测试方法、装置及存储介质
CN117076291A (zh) 业务测试方法、装置、计算机设备和存储介质
CN117555955B (zh) 数据转换方法、数据转换装置、计算机设备、存储介质
CN117112305A (zh) 测试数据恢复方法、装置、设备、介质和产品
CN118820106A (zh) 页面路径的确定方法、计算机设备及存储介质
CN116107899A (zh) Mock接口管理方法、装置、终端设备及存储介质
CN117112051A (zh) 组件拓扑图生成方法、装置、计算机设备及存储介质
CN117435408A (zh) 信息流页面的测试方法、装置、设备、介质及程序产品
CN118778975A (zh) 应用处理方法、装置、计算机设备、存储介质和程序产品
CN115878460A (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