CN107341102B - 一种测试用例文件生成方法及装置 - Google Patents
一种测试用例文件生成方法及装置 Download PDFInfo
- Publication number
- CN107341102B CN107341102B CN201710440003.0A CN201710440003A CN107341102B CN 107341102 B CN107341102 B CN 107341102B CN 201710440003 A CN201710440003 A CN 201710440003A CN 107341102 B CN107341102 B CN 107341102B
- Authority
- CN
- China
- Prior art keywords
- file
- script
- character string
- data
- test case
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 180
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013515 script Methods 0.000 claims abstract description 140
- 230000006399 behavior Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000011056 performance test Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
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)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种测试用例文件生成方法及装置,方法包括:根据第一脚本读取中部模板文件中的第一预设字符串,并将中部模板文件中的所有数据拷贝至测试用例文件中;根据第二脚本读取数据文件,判断数据文件中是否存在第一预设字符串;若数据文件中存在第一预设字符串,则读取数据文件的目标行中第一预设字符串对应的目标字符串,并将测试用例文件中的第一预设字符串替换为目标字符串。将最耗时的手工配置部分用脚本来实现,大大提高效率;通过将数据与模板内容从脚本中独立出来,能够针对不同的接口测试,直接选择对应的中部模板文件;通过第一预设字符串连接数据文件和中部模板文件,能够快速地自动生成测试用例文件,效率高且不易出错。
Description
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种测试用例文件生成方法及装置。
背景技术
在进行设备的接口测试和性能测试时,其核心步骤是准备测试用例,不同场景和测试点对应的测试用例均不同。
尤其对于私有协议来说,当需要对私有协议接口进行接口或性能测试时,除了分析测试点和测试场景、编写测试用例和准备测试数据、提取该接口的输入条件和输出期望值外,还需要将这些测试用例和数据转化为可被测试框架识别的形式,即各接口的私有协议可识别的测试用例。而这部分转化工作就需要通过手工的方式,按测试框架对测试用例的设定,手工对测试用例进行编写和配置。如果需要准备多条测试数据的测试用例时,需要手动配置每条测试数据对应的测试用例,尤其是进行性能测试时需要配置的数据量非常大,用手工方式难以完成。
在实现本发明实施例的过程中,发明人发现现有的手工配置测试用例的方法虽然简单、门槛低,但效率非常低,且容易出错。
发明内容
由于现有的手工配置测试用例的方法虽然简单、门槛低,但效率非常低,且容易出错的问题,本发明实施例提出一种测试用例文件生成方法及装置。
第一方面,本发明实施例提出一种测试用例文件生成方法,包括:
运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中;
运行脚本文件中的第二脚本,根据所述第二脚本读取数据文件,判断所述数据文件中是否存在所述第一预设字符串;
若所述数据文件中存在所述第一预设字符串,则读取所述数据文件的目标行中所述第一预设字符串对应的目标字符串,并将所述测试用例文件中的所述第一预设字符串替换为所述目标字符串。
可选地,所述运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中之前,还包括:
运行脚本文件中的第三脚本,根据所述第三脚本接收外部输入的输入字符串,将头部模板文件中的所有数据拷贝至所述测试用例文件中,并读取所述头部模板文件中的第二预设字符串;
将所述测试用例文件中的所述第二预设字符串替换为所述输入字符串。
可选地,所述若所述数据文件中存在所述第一预设字符串,则读取所述数据文件的目标行中所述第一预设字符串对应的目标字符串,并将所述测试用例文件中的所述第一预设字符串替换为所述目标字符串之后,还包括:
判断所述目标行是否为所述数据文件的最后一行;
若所述目标行为所述数据文件的最后一行,则运行脚本文件中的第四脚本,并根据所述第四脚本将尾部模板文件中的所有数据拷贝至所述测试用例文件中。
可选地,所述运行脚本文件中的第四脚本,根据所述第四脚本将尾部模板文件中的所有数据拷贝至所述测试用例文件中之后,还包括:
根据所述测试用例文件中的测试用例,自动对各接口的私有协议进行测试。
可选地,所述运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中之前,还包括:
获取预设的所述脚本文件、所述中部模板文件、所述头部模板文件和所述尾部模板文件,并根据测试要求确定所述数据文件。
可选地,所述方法还包括:
若所述数据文件中不存在所述预设字符串,则生成错误提示信息。
可选地,所述第一预设字符串和/或所述第二预设字符串的第一、第二、倒数第一和倒数第二个字符均为下划线。
可选地,所述数据文件的首行存储所述第一预设字符串。
可选地,所述中部模板文件为任意一个接口协议的模板文件,每个接口协议的模板文件包括对应接口协议的测试程序。
第二方面,本发明实施例还提出一种测试用例文件生成装置,包括:
中部数据拷贝模块,用于运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中;
字符串判断模块,用于运行脚本文件中的第二脚本,根据所述第二脚本读取数据文件,判断所述数据文件中是否存在所述第一预设字符串;
第一字符串替换模块,用于若所述数据文件中存在所述第一预设字符串,则读取所述数据文件的目标行中所述第一预设字符串对应的目标字符串,并将所述测试用例文件中的所述第一预设字符串替换为所述目标字符串。
可选地,所述装置还包括:
头部数据拷贝模块,用于运行脚本文件中的第三脚本,根据所述第三脚本接收外部输入的输入字符串,将头部模板文件中的所有数据拷贝至所述测试用例文件中,并读取所述头部模板文件中的第二预设字符串;
第二字符串替换模块,用于将所述测试用例文件中的所述第二预设字符串替换为所述输入字符串。
可选地,所述装置还包括:
目标行判断模块,用于判断所述目标行是否为所述数据文件的最后一行;
尾部数据拷贝模块,用于若所述目标行为所述数据文件的最后一行,则运行脚本文件中的第四脚本,并根据所述第四脚本将尾部模板文件中的所有数据拷贝至所述测试用例文件中。
可选地,所述装置还包括:
私有协议测试模块,用于根据所述测试用例文件中的测试用例,自动对各接口的私有协议进行测试。
可选地,所述装置还包括:
文件获取模块,用于获取预设的所述脚本文件、所述中部模板文件、所述头部模板文件和所述尾部模板文件,并根据测试要求确定所述数据文件。
可选地,所述装置还包括:
错误提示模块,用于若所述数据文件中不存在所述预设字符串,则生成错误提示信息。
可选地,所述第一预设字符串和/或所述第二预设字符串的第一、第二、倒数第一和倒数第二均为下划线。
可选地,所述数据文件的首行存储所述第一预设字符串。
可选地,所述中部模板文件为任意一个接口协议的模板文件,每个接口协议的模板文件包括对应接口协议的测试程序。
第三方面,本发明实施例还提出一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法权利要求所述的方法。
第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法权利要求所述的方法。
由上述技术方案可知,本发明实施例通过脚本文件,将最耗时的手工配置部分用脚本来实现,大大提高效率;通过将数据与模板内容从脚本中独立出来,分别形成数据文件和中部模板文件,能够针对不同的接口测试,直接选择对应的中部模板文件;通过第一预设字符串连接数据文件和中部模板文件,能够快速地自动生成测试用例文件,无需人工干预脚本的编写,效率高且不易出错。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种测试用例文件生成方法的流程示意图;
图2为本发明一实施例提供的数据文件的示意图;
图3为本发明另一实施例提供的一种测试用例文件生成方法的流程示意图;
图4为本发明一实施例提供的一种测试用例文件生成装置的结构示意图;
图5为本发明一个实施例提供的电子设备的逻辑框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本实施例提供的一种测试用例文件生成方法的流程示意图,包括:
S101、运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中。
其中,所述脚本文件中包括多个执行不同操作的脚本,例如第一脚本、第二脚本、第三脚本和第四脚本。
所述第一脚本用于读取中部模板文件中的第一预设字符串。
所述第二脚本用于读取数据文件,并判断所述数据文件中是否存在所述第一预设字符串。
所述第三脚本用于接收外部输入的输入字符串,将头部模板文件中的所有数据拷贝至所述测试用例文件中,并读取所述头部模板文件中的第二预设字符串。
所述第四脚本用于将尾部模板文件中的所有数据拷贝至所述测试用例文件中。
模板文件用于存储各接口均可适用的模板化的测试程序,一个测试用例中的测试程序包括头部、中部和尾部,头部包含了用例名称、登录用户名和数据文件名称等,尾部的内容只有括号,中部的内容是主体,包含了一个协议的标识、输入和预期结果等。
针对一个接口中的每一条测试协议,将上述提到的头部、中部和尾部保存成单独的json文件,并将其中需要被填充测试数据的部分用不与其它字符串重复的特制字符串(第一预设字符串)代替,这些json文件就是模板文件。
因此,模板文件包括头部模板文件、中部模板文件和尾部模板文件。
所述头部模板文件和所述尾部模板文件中的内容在最终生成的测试用例文件中只出现一次,但是所述中部模板文件中的内容在最终生成的测试用例文件中会出现多次,每一条测试数据对应一份中部模板文件中的内容。因此,如果数据文件中包括N条测试数据,则中部模板文件中的内容在最终生成的测试用例文件中会出现N次。
所述测试用例文件是存储测试用例的文件,该文件中的测试用例用于最终进行接口测试。
所述测试用例是各接口的私有协议中的接口的基本执行实体,包括执行命令序列和其他属性信息。其中,命令是最小执行单位,包括命令标识、依赖信息、执行此命令的用户、输入参数和期望输出参数等。
所述第一预设字符串为中部模板文件中预先定义的表示实际测试数据的字符串,例如“__resourceId__”表示资源序号,在实际执行测试用例时,中部模板文件中出现“__resourceId__”的地方都将用数据文件中实际的测试数据进行替代。如果有3条测试数据,则中部模板文件的内容在最终生成的测试用例文件中出现3次,第1次中部模板文件中出现“__resourceId__”的地方都用第1条资源序号的测试数据替代,第2次中部模板文件中出现“__resourceId__”的地方都用第2条资源序号的测试数据替代,第3次中部模板文件中出现“__resourceId__”的地方都用第3条资源序号的测试数据替代。
S102、运行脚本文件中的第二脚本,根据所述第二脚本读取数据文件,判断所述数据文件中是否存在所述第一预设字符串。
其中,所述数据文件为根据测试要求需要的测试数据,预先确定的文件。数据文件中存储了多条测试数据,每条测试数据可以包括一项测试参数,也可以包括多项测试参数。
具体地,可以通过顺序查找的方式,在数据文件中查找所述第一预设字符串。
S103、若所述数据文件中存在所述第一预设字符串,则读取所述数据文件的目标行中所述第一预设字符串对应的目标字符串,并将所述测试用例文件中的所述第一预设字符串替换为所述目标字符串。
其中,所述目标行可以为数据文件中的任意一行。本实施例可以采用顺序读取的方式,每次读取一行测试数据,直到数据文件的最后一行。
所述目标字符串为目标行的测试数据中与第一预设字符串对应的字符串。
举例来说,如图2所示,所述第一预设字符串为“__resourceId__”,表示资源序号,在数据文件中存储了一张数据表,该数据表中除了“__resourceId__”,还包括“__fileName__”(文件名称)和“__mimeType__”(多用途互联网邮件扩展类型),该数据文件中首行存储了测试数据的属性(第一预设字符串),余下的11行分别为11条不同的测试数据,每条数据包括对应的文件名称、多用途互联网邮件扩展类型和资源序号。
当目标行为第11行时,第一预设字符串(“__resourceId__”)对应的字符串为“529b1517-e910-4ea5-aeab-24e87016235c”,因此,将测试用例文件中本次从中部模板文件中拷贝的内容中出现“__resourceId__”的地方全部替换为“529b1517-e910-4ea5-aeab-24e87016235c”。
本实施例通过脚本文件,将最耗时的手工配置部分用脚本来实现,大大提高效率;通过将数据与模板内容从脚本中独立出来,分别形成数据文件和中部模板文件,能够针对不同的接口测试,直接选择对应的中部模板文件;通过第一预设字符串连接数据文件和中部模板文件,能够快速地自动生成测试用例文件,无需人工干预脚本的编写,效率高且不易出错。
图3示出了本实施例提供的一种测试用例文件生成方法的流程示意图,包括:
S301、运行脚本文件中的第三脚本,根据所述第三脚本接收外部输入的输入字符串,将头部模板文件中的所有数据拷贝至所述测试用例文件中,并读取所述头部模板文件中的第二预设字符串;
S302、将所述测试用例文件中的所述第二预设字符串替换为所述输入字符串。
S303、运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中。
S304、运行脚本文件中的第二脚本,根据所述第二脚本读取数据文件,判断所述数据文件中是否存在所述第一预设字符串。
S305、若所述数据文件中存在所述第一预设字符串,则读取所述数据文件的目标行中所述第一预设字符串对应的目标字符串,并将所述测试用例文件中的所述第一预设字符串替换为所述目标字符串。
S306、判断所述目标行是否为所述数据文件的最后一行;
S307、若所述目标行为所述数据文件的最后一行,则运行脚本文件中的第四脚本,并根据所述第四脚本将尾部模板文件中的所有数据拷贝至所述测试用例文件中。
其中,S303-S305与图1对应的实施例中的S101-S103完全对应,此处不再赘述。
所述输入字符串为从终端外部输入的字符串,例如,通过键盘输入的字符串。本实施例中,输入字符串包括opCodeName(用例名称)、loginName(登录用户名)和sourceFile(数据文件名称)。
所述第二预设字符串为头部模板文件中预先定义的表示实际输入的字符串。
具体地,首先,对于头部模板文件中的所有数据,全部拷贝至测试用例文件中,并将头部模板文件中的第二预设字符串替换为输入字符串;然后,依次将中部模板文件中的所有数据,全部拷贝至测试用例文件中头部模板文件内容的下面,并将测试用例文件中的第一预设字符串替换为目标字符串(有N条测试数据,则拷贝中部模板文件内部并替换第一预设字符N次);最后,当数据文件中的所有测试数据已替换完毕后,将尾部模板文件中的所有数据拷贝至所述测试用例文件中中部模板文件内容的下面,完成最终能用于测试的测试用例文件。
所有接口测试用例中头部和尾部均相同,因此它们可以复用,即头部模板文件和尾部模板文件对于所有的接口测试均适用,无需更改,便于新的测试用例的生成。
举例来说,模板文件如下:
$ls-1template/
all_pre.json
all_suf.json
GetResource_mid.json
PutResource_mid.json
QueryResourceInfo_mid.json
其中,all_pre.json是头部模板文件,all_suf.json是尾部模板文件,其余json文件均为中部模板文件,每个中部模板文件对应一个接口的协议,在一个测试用例中,仅包括一个中部模板文件中的测试程序。
特定接口的模板文件命名可以为${opCodeName}_mid.json。
具体地,头部模板文件all_pre.json的内容示例如下:
尾部模板文件all_suf.json的内容示例如下:
$cat all_suf.json
]
}
其中,头部模板文件all_pre.json中的“__opCodeName__”和“__loginName__”即为所述第一预设字符串,后续拷贝至测试用例文件后将被对应的数据文件中的测试数据替代。
进一步地,在上述方法实施例的基础上,S307之后,还包括:
S308、根据所述测试用例文件中的测试用例,自动对各接口的私有协议进行测试。
其中,所述私有协议与通用协议对应,通用协议如TCP、HTTP这些通用的协议,而私有协议为自己定义的协议。
由于私有协议通常是完全自己定义的协议,因此其测试用例的编写往往耗时耗力,本实施例通过自动生成测试用例文件,能够使用测试用例文件中的测试用例自动对各接口的私有协议进行测试。
进一步地,在上述方法实施例的基础上,S303之前,还包括:
S3023、获取预设的所述脚本文件、所述中部模板文件、所述头部模板文件和所述尾部模板文件,并根据测试要求确定所述数据文件。
具体地,每个接口的协议进行测试时,采用相同的脚本文件、头部模板文件和尾部模板文件,并采用若干个中部模板文件中的一个中部模板文件;针对不同接口的不同协议进行测试时,其数据文件一般不同,因此需要根据测试要求确定数据文件。
进一步地,在上述方法实施例的基础上,所述方法还包括:
S309、若所述数据文件中不存在所述预设字符串,则生成错误提示信息。
其中,所述错误提示信息为提示数据文件中不存在所述预设字符串的信息,以告知用户测试用例生成过程有误,无法继续。用户可以检查数据文件在准备过程中是否有误。
进一步地,在上述方法实施例的基础上,所述第一预设字符串和/或所述第二预设字符串的第一、第二、倒数第一和倒数第二个字符均为下划线。
例如,所述第一预设字符串为“__resourceId__”。
通过将第一、第二、倒数第一和倒数第二个字符设置为下划线,这种格式的字符串在平常情况下不会用到,因此不会产生冲突,也便于第一预设字符串和/或所述第二预设字符串的识别。
进一步地,在上述方法实施例的基础上,所述数据文件的首行存储所述第一预设字符串。
通过在数据文件的首行存储所述第一预设字符串,能够便于快速查找。
进一步地,在上述方法实施例的基础上,所述中部模板文件为任意一个接口协议的模板文件,每个接口协议的模板文件包括对应接口协议的测试程序。
具体地,一个中部模板文件包括一个接口的一个协议的模板文件。
通过为每个接口协议定义一个中部模板文件,便于后续的复用。
具体地,本实施例最后生成的测试用例文件放在cases目录下;把要测试的接口的按中部模板文件的规则设置,放置在template目录下;当需要创建新的接口的测试用例时,只需创建该接口的模板文件和对应的数据文件,用脚本执行即可。
本实施例不仅可以将最耗时的手工配置部分用脚本来实现,而且将数据与模板内容从脚本中完全抽离,因此它也可以作为一种通用的数据快速生成方案,配置效率相较于手工配置有极大提高,模板文件数量与对应的接口数量相当,便于管理;脚本文件只有一个,且一次写成,无需维护;数据文件的列顺序可以随意,降低了生成数据文件的成本;支持当前所有协议(以及后续新增的协议)的单协议测试用例生成;测试用例中需要替换的数据内容支持完全自定义,扩展性好;非技术人员也能按照使用规则进行测试用例的生成,降低技术门槛,提高工具的应用范围;无需阅读脚本,数据文件自包含每列的含义;能够初步形成一套快速便捷生成测试用例的方法,基于该方法和代码,还可以进一步改进,以适应混合协议场景的测试用例生成。
图4示出了本实施例提供的一种测试用例文件生成装置的结构示意图,所述装置包括:中部数据拷贝模块401、字符串判断模块402和第一字符串替换模块403;其中:
所述中部数据拷贝模块401用于运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中;
所述字符串判断模块402用于运行脚本文件中的第二脚本,根据所述第二脚本读取数据文件,判断所述数据文件中是否存在所述第一预设字符串;
所述第一字符串替换模块403用于若所述数据文件中存在所述第一预设字符串,则读取所述数据文件的目标行中所述第一预设字符串对应的目标字符串,并将所述测试用例文件中的所述第一预设字符串替换为所述目标字符串。
具体地,所述中部数据拷贝模块401运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中;所述字符串判断模块402运行脚本文件中的第二脚本,根据所述第二脚本读取数据文件,判断所述数据文件中是否存在所述第一预设字符串;所述第一字符串替换模块403若所述数据文件中存在所述第一预设字符串,则读取所述数据文件的目标行中所述第一预设字符串对应的目标字符串,并将所述测试用例文件中的所述第一预设字符串替换为所述目标字符串。
本实施例通过脚本文件,将最耗时的手工配置部分用脚本来实现,大大提高效率;通过将数据与模板内容从脚本中独立出来,分别形成数据文件和中部模板文件,能够针对不同的接口测试,直接选择对应的中部模板文件;通过第一预设字符串连接数据文件和中部模板文件,能够快速地自动生成测试用例文件,无需人工干预脚本的编写,效率高且不易出错。
进一步地,在上述装置实施例的基础上,所述装置还包括:
头部数据拷贝模块,用于运行脚本文件中的第三脚本,根据所述第三脚本接收外部输入的输入字符串,将头部模板文件中的所有数据拷贝至所述测试用例文件中,并读取所述头部模板文件中的第二预设字符串;
第二字符串替换模块,用于将所述测试用例文件中的所述第二预设字符串替换为所述输入字符串。
进一步地,在上述装置实施例的基础上,所述装置还包括:
目标行判断模块,用于判断所述目标行是否为所述数据文件的最后一行;
尾部数据拷贝模块,用于若所述目标行为所述数据文件的最后一行,则运行脚本文件中的第四脚本,并根据所述第四脚本将尾部模板文件中的所有数据拷贝至所述测试用例文件中。
进一步地,在上述装置实施例的基础上,所述装置还包括:
私有协议测试模块,用于根据所述测试用例文件中的测试用例,自动对各接口的私有协议进行测试。
进一步地,在上述装置实施例的基础上,所述装置还包括:
文件获取模块,用于获取预设的所述脚本文件、所述中部模板文件、所述头部模板文件和所述尾部模板文件,并根据测试要求确定所述数据文件。
进一步地,在上述装置实施例的基础上,所述装置还包括:
错误提示模块,用于若所述数据文件中不存在所述预设字符串,则生成错误提示信息。
进一步地,在上述装置实施例的基础上,所述第一预设字符串和/或所述第二预设字符串的第一、第二、倒数第一和倒数第二个字符均为下划线。
进一步地,在上述装置实施例的基础上,所述数据文件的首行存储所述第一预设字符串。
进一步地,在上述装置实施例的基础上,所述中部模板文件为任意一个接口协议的模板文件,每个接口协议的模板文件包括对应接口协议的测试程序。
本实施例所述的测试用例文件生成装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
参照图5,所述电子设备,包括:处理器(processor)501、存储器(memory)502和总线503;
其中,
所述处理器501和存储器502通过所述总线503完成相互间的通信;
所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (18)
1.一种测试用例文件生成方法,其特征在于,包括:
运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中;
运行脚本文件中的第二脚本,根据所述第二脚本读取数据文件,判断所述数据文件中是否存在所述第一预设字符串;
若所述数据文件中存在所述第一预设字符串,则读取所述数据文件的目标行中所述第一预设字符串对应的目标字符串,并将所述测试用例文件中的所述第一预设字符串替换为所述目标字符串;
判断所述目标行是否为所述数据文件的最后一行;
若所述目标行为所述数据文件的最后一行,则运行脚本文件中的第四脚本,并根据所述第四脚本将尾部模板文件中的所有数据拷贝至所述测试用例文件中。
2.根据权利要求1所述的方法,其特征在于,所述运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中之前,还包括:
运行脚本文件中的第三脚本,根据所述第三脚本接收外部输入的输入字符串,将头部模板文件中的所有数据拷贝至所述测试用例文件中,并读取所述头部模板文件中的第二预设字符串;
将所述测试用例文件中的所述第二预设字符串替换为所述输入字符串。
3.根据权利要求1所述的方法,其特征在于,所述运行脚本文件中的第四脚本,根据所述第四脚本将尾部模板文件中的所有数据拷贝至所述测试用例文件中之后,还包括:
根据所述测试用例文件中的测试用例,自动对各接口的私有协议进行测试。
4.根据权利要求1所述的方法,其特征在于,所述运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中之前,还包括:
获取预设的所述脚本文件、所述中部模板文件、头部模板文件和所述尾部模板文件,并根据测试要求确定所述数据文件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述数据文件中不存在所述预设字符串,则生成错误提示信息。
6.根据权利要求2所述的方法,其特征在于,所述第一预设字符串和/或所述第二预设字符串的第一、第二、倒数第一和倒数第二个字符均为下划线。
7.根据权利要求1所述的方法,其特征在于,所述数据文件的首行存储所述第一预设字符串。
8.根据权利要求1所述的方法,其特征在于,所述中部模板文件为任意一个接口协议的模板文件,每个接口协议的模板文件包括对应接口协议的测试程序。
9.一种测试用例文件生成装置,其特征在于,包括:
中部数据拷贝模块,用于运行脚本文件中的第一脚本,根据所述第一脚本读取中部模板文件中的第一预设字符串,并将所述中部模板文件中的所有数据拷贝至测试用例文件中;
字符串判断模块,用于运行脚本文件中的第二脚本,根据所述第二脚本读取数据文件,判断所述数据文件中是否存在所述第一预设字符串;
第一字符串替换模块,用于若所述数据文件中存在所述第一预设字符串,则读取所述数据文件的目标行中所述第一预设字符串对应的目标字符串,并将所述测试用例文件中的所述第一预设字符串替换为所述目标字符串;
目标行判断模块,用于判断所述目标行是否为所述数据文件的最后一行;
尾部数据拷贝模块,用于若所述目标行为所述数据文件的最后一行,则运行脚本文件中的第四脚本,并根据所述第四脚本将尾部模板文件中的所有数据拷贝至所述测试用例文件中。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
头部数据拷贝模块,用于运行脚本文件中的第三脚本,根据所述第三脚本接收外部输入的输入字符串,将头部模板文件中的所有数据拷贝至所述测试用例文件中,并读取所述头部模板文件中的第二预设字符串;
第二字符串替换模块,用于将所述测试用例文件中的所述第二预设字符串替换为所述输入字符串。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
私有协议测试模块,用于根据所述测试用例文件中的测试用例,自动对各接口的私有协议进行测试。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
文件获取模块,用于获取预设的所述脚本文件、所述中部模板文件、头部模板文件和所述尾部模板文件,并根据测试要求确定所述数据文件。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:
错误提示模块,用于若所述数据文件中不存在所述预设字符串,则生成错误提示信息。
14.根据权利要求13所述的装置,其特征在于,所述第一预设字符串和/或第二预设字符串的第一、第二、倒数第一和倒数第二个字符均为下划线。
15.根据权利要求9所述的装置,其特征在于,所述数据文件的首行存储所述第一预设字符串。
16.根据权利要求9所述的装置,其特征在于,所述中部模板文件为任意一个接口协议的模板文件,每个接口协议的模板文件包括对应接口协议的测试程序。
17.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至8任一所述的方法。
18.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行如权利要求1至8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710440003.0A CN107341102B (zh) | 2017-06-12 | 2017-06-12 | 一种测试用例文件生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710440003.0A CN107341102B (zh) | 2017-06-12 | 2017-06-12 | 一种测试用例文件生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107341102A CN107341102A (zh) | 2017-11-10 |
CN107341102B true CN107341102B (zh) | 2020-07-14 |
Family
ID=60221432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710440003.0A Active CN107341102B (zh) | 2017-06-12 | 2017-06-12 | 一种测试用例文件生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107341102B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814517A (zh) * | 2017-11-21 | 2019-05-28 | 北京金风科创风电设备有限公司 | 风机运行参数的处理方法和***与计算机可读存储介质 |
CN108829574B (zh) * | 2018-04-13 | 2023-04-18 | 深圳壹账通智能科技有限公司 | 测试数据铺设方法、测试服务器及计算机可读存储介质 |
CN108804327A (zh) * | 2018-06-12 | 2018-11-13 | 北京京东金融科技控股有限公司 | 一种自动生成测试数据的方法和装置 |
CN109446099A (zh) * | 2018-11-09 | 2019-03-08 | 贵州医渡云技术有限公司 | 自动化测试用例生成方法、装置、介质及电子设备 |
CN109815122A (zh) * | 2018-12-15 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 测试数据生成方法、装置、电子设备及存储介质 |
CN111385159B (zh) * | 2018-12-28 | 2022-02-25 | 广州市百果园信息技术有限公司 | 服务端压力测试方法、装置、存储介质和计算机设备 |
CN109902002B (zh) * | 2019-02-14 | 2020-06-02 | 浙江口碑网络技术有限公司 | 组合测试用例的生成方法及装置、存储介质、计算机设备 |
CN112180890B (zh) * | 2019-07-05 | 2022-01-07 | 北京新能源汽车股份有限公司 | 一种测试用例的生成方法、装置及设备 |
CN113746593A (zh) * | 2020-05-29 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种字符串数据传输方法、***、装置、电子设备及其存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631720A (zh) * | 2013-12-20 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 测试用例的生成方法和装置 |
CN104268073A (zh) * | 2014-09-05 | 2015-01-07 | 北京广利核***工程有限公司 | 一种批量生成测试用例的方法 |
CN104503900A (zh) * | 2014-11-21 | 2015-04-08 | 北京奇虎科技有限公司 | 测试用例生成方法及装置 |
CN106557416A (zh) * | 2015-09-28 | 2017-04-05 | 百度在线网络技术(北京)有限公司 | 软件云测试的实现方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8838607B2 (en) * | 2012-10-17 | 2014-09-16 | International Business Machines Corporation | Software system test case creation |
-
2017
- 2017-06-12 CN CN201710440003.0A patent/CN107341102B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631720A (zh) * | 2013-12-20 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 测试用例的生成方法和装置 |
CN104268073A (zh) * | 2014-09-05 | 2015-01-07 | 北京广利核***工程有限公司 | 一种批量生成测试用例的方法 |
CN104503900A (zh) * | 2014-11-21 | 2015-04-08 | 北京奇虎科技有限公司 | 测试用例生成方法及装置 |
CN106557416A (zh) * | 2015-09-28 | 2017-04-05 | 百度在线网络技术(北京)有限公司 | 软件云测试的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107341102A (zh) | 2017-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107341102B (zh) | 一种测试用例文件生成方法及装置 | |
CN110705237B (zh) | 文档的自动生成方法、数据处理设备及存储介质 | |
CN112328489B (zh) | 测试用例生成方法、装置、终端设备和存储介质 | |
US11409631B2 (en) | Verification automation apparatus, verification automation method, and computer-readable recording medium | |
CN114328276B (zh) | 测试用例生成方法和装置,显示测试用例的方法和装置 | |
CN111679979B (zh) | 破坏性测试方法及装置 | |
CN113312108A (zh) | Swift报文的校验方法、装置、电子设备及存储介质 | |
CN111611788B (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
CN113031944B (zh) | 基于模板的业务开通装置及方法 | |
CN114416547A (zh) | 基于测试用例的测试方法 | |
CN106789205A (zh) | 机群命令运行方法及*** | |
CN106681852B (zh) | 一种浏览器兼容性的调整方法及装置 | |
CN112947944A (zh) | 业务工单处理方法及装置 | |
CN111078529A (zh) | 客户端写入模块测试方法、装置、电子设备 | |
CN109992293B (zh) | Android***组件版本信息的组装方法及装置 | |
CN113778426B (zh) | 一种页面生成方法和装置 | |
CN110515913B (zh) | 日志处理方法及装置 | |
CN117234623B (zh) | 应用程序的页面主题更换方法、装置和电子设备 | |
CN110569065B (zh) | 基于域填充的处理器指令编码自动生成方法及装置 | |
JP2001060240A (ja) | フォーマット修正方法およびデータ変換方法 | |
CN110955687B (zh) | 数据修改方法及装置 | |
CN108287697A (zh) | 一种html转义字符替换方法、装置及终端 | |
JP6556091B2 (ja) | システム仕様検証支援装置及びシステム仕様検証支援方法 | |
CN116450150A (zh) | 前端模块化构建部署方法、装置、电子设备和存储介质 | |
CN115981578A (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 | ||
CB02 | Change of applicant information |
Address after: 100088 Building 3 332, 102, 28 Xinjiekouwai Street, Xicheng District, Beijing Applicant after: QAX Technology Group Inc. Address before: 100015 Jiuxianqiao Chaoyang District Beijing Road No. 10, building 15, floor 17, layer 1701-26, 3 Applicant before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |