CN117271645A - 一种测试数据的处理方法、装置及计算机可读存储介质 - Google Patents
一种测试数据的处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117271645A CN117271645A CN202311316492.0A CN202311316492A CN117271645A CN 117271645 A CN117271645 A CN 117271645A CN 202311316492 A CN202311316492 A CN 202311316492A CN 117271645 A CN117271645 A CN 117271645A
- Authority
- CN
- China
- Prior art keywords
- data
- preset
- test data
- target
- unit group
- 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 157
- 238000003672 processing method Methods 0.000 title claims description 23
- 238000013101 initial test Methods 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 19
- 238000004590 computer program Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 5
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本申请实施例涉及测试技术领域,公开了一种测试数据的处理方法、装置及计算机可读存储介质,方法包括:检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组;若包括,则根据预设编号单元组确定出目标数据行,并获取目标数据行对应的源数据;根据源数据确定出初始测试数据,并将初始测试数据转换为预设数据格式的测试数据。因为每个预设编号单元组可对应有相应的数据行,所以本申请实施例可通过调整预设编号单元组即可灵活地调整得到目标数据行,从而调整获得的目标数据行对应的源数据。根据源数据确定出初始测试数据,并将初始测试数据转换为预设数据格式的测试数据,以满足测试场景的格式需求。
Description
技术领域
本申请实施例涉及测试技术领域,具体涉及一种测试数据的处理方法、装置及计算机可读存储介质。
背景技术
目前自动化测试数据筛选主要采取测试工具,以提高测试执行效率,常见的测试工具如postman、loadrunner、jmeter等,但是在筛选测试数据时,利用测试工具对测试数据进行处理时,不能方便地调整获取到的测试数据。同时也不能根据不同的测试场景需求,灵活地调整相应的测试数据。
发明内容
鉴于上述问题,本申请实施例提供了一种测试数据的处理方法、装置及计算机可读存储介质,用于方便且灵活地获取目标数据行对应的源数据,以快速得到预设数据格式的测试数据。
根据本申请实施例的一个方面,提供了一种测试数据的处理方法,所述处理方法包括:检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组;若包括,则根据预设编号单元组确定出目标数据行,并获取目标数据行对应的源数据;根据源数据确定出初始测试数据,并将初始测试数据转换为预设数据格式的测试数据。
在一种可选的方式中,所述预设编号单元组的数量为多个;所述根据所述预设编号单元组确定出目标数据行,进一步包括:若检测到所述预设编号单元组中包括存在连续符的预设编号单元组,则将所述存在连续符的预设编号单元组确定为目标预设编号单元组,并确定出所述目标预设编号单元组对应的数据行;将除所述目标预设编号单元组以外的其它预设编号单元组中的预设编号对应的数据行,作为所述其它预设编号单元组对应的数据行;根据所述目标预设编号单元组对应的数据行和所述其它预设编号单元组对应的数据行,确定出目标数据行。
在一种可选的方式中,所述确定出所述目标预设编号单元组对应的数据行,进一步包括:将所述连续符左侧和右侧的预设编号对应的数据行,分别作为起始数据行和结尾数据行;将所述起始数据行至所述结尾数据行的数据行,作为所述目标预设编号单元组对应的数据行。
在一种可选的方式中,所述根据所述源数据确定出初始测试数据,进一步包括:遍历所述源数据中的数据行,并将遍历到数据行作为目标数据行;根据所述目标数据行中的目标测试请求数据和目标测试结果数据,确定出所述目标数据行对应的初始测试数据,以得到所述源数据对应的初始测试数据。
在一种可选的方式中,在所述检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组之前,所述处理方法还包括:将原始文件中的源数据导入不同的初始数据表中,并根据导入数据类型为每个初始数据表设置相应的表头,以得到包括源数据的多个数据表;根据接收到的测试数据获取请求,确定出测试数据获取策略;其中,所述测试数据获取策略中指定有获取源数据的指定数据表。
在一种可选的方式中,所述初始测试数据的数量为多个;所述将所述初始测试数据转换为预设数据格式的测试数据,进一步包括:遍历所述初始测试数据,并将遍历到的初始测试数据作为目标初始测试数据;若检测到所述目标初始测试数据的格式并非预设数据格式,则将所述目标初始测试数据转换为所述预设数据格式的测试数据,以将所有初始测试数据转换为所述预设数据格式的测试数据。
在一种可选的方式中,所述检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组,进一步包括:若检测到不包括所述预设编号单元组,则获取所述指定数据表中的所有源数据。
根据本申请实施例的另一方面,提供了一种测试数据的处理装置,所述处理装置包括:检测模块,用于检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组;获取模块,用于若包括,则根据所述预设编号单元组确定出目标数据行,并获取所述目标数据行对应的源数据;转换模块,用于根据所述源数据确定出初始测试数据,并将所述初始测试数据转换为预设数据格式的测试数据。
根据本申请实施例的一个方面,提供了一种电子设备,包括:控制器;存储器,用于存储一个或多个程序,当一个或多个程序被所述控制器执行时,以执行上述的处理方法。
根据本申请实施例的一个方面,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述的处理方法。
根据本申请实施例的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的处理方法。
本申请实施例根据测试数据获取策略中的预设编号单元组,确定出目标数据行以及目标数据行对应的源数据,因为每个预设编号单元组可对应有相应的数据行,所以通过调整预设编号单元组即可灵活地调整得到目标数据行,从而调整获得的目标数据行对应的源数据。根据源数据确定出初始测试数据,并将初始测试数据转换为预设数据格式的测试数据,以满足测试场景的格式需求。
上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例示出的一种测试数据的处理方法的流程示意图。
图2是基于图1所示示例性实施例示出的另一种测试数据的处理方法的流程示意图。
图3是本申请示例性实施例示出的目标数据行对应的源数据的执行代码示意图。
图4是本申请一示例性实施例示出的筛选处理源数据的执行代码的示意图。
图5是基于图1所示示例性实施例示出的另一种测试数据的处理方法的流程示意图。
图6是本申请一示例性实施例示出的格式转换的执行代码示意图。
图7是本申请测试数据的处理方法的应用场景的示意图。
图8是本申请一示例性实施例示出的测试数据的处理装置的结构示意图。
图9是本申请的一示例性实施例示出的电子设备的计算机***的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在采用现有测试工具对测试数据进行处理时,不能方便地调整获取到的测试数据。同时也不能根据不同的测试场景需求,灵活地调整相应的测试数据。
为此,本申请的一方面提供了一种测试数据的处理方法。具体请参阅图1,图1是本申请一示例性实施例示出的一种测试数据的处理方法的流程示意图。该处理方法至少包括S110至S130,详细介绍如下:
S110:检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组。
测试数据获取策略是根据测试数据获取请求确定出来的策略。其中,测试数据获取请求是用户触发的请求,其携带有用户所期望得到的测试数据和测试数据的格式类型。
指定数据表是用户所期望得到的测试数据的来源表,本实施例可将不同数据获取接口对应不同的数据表,即每个数据表对应一个数据获取接口。例如,在excel文件中构建多个sheet(工作表),每个sheet对应一个数据获取接口,测试数据获取请求中可携带有用户所期望得到的测试数据的来源表对应的表编号,即本实施例中指定数据表的表编号。
预设编号单元组能表征数据表中相应数据行的编号,每个预设编号单元组对应有至少一个数据行,例如,第一预设编号单元组对应指定数据表中的第三数据行,第二预设编号单元组对应指定数据表中的第五和第六数据行,第三预设编号单元组对应指定数据表中的第八至第十数据行。
S120:若包括,则根据预设编号单元组确定出目标数据行,并获取目标数据行对应的源数据。
目标数据行是用户期望获取得到的源数据所处的数据行,每个目标数据行对应有相应的源数据,本实施例并不限制每个目标数据行对应的源数据的内容。但在优选实施例中,为了精简数据表中各个数据行的源数据,将相同源数据对应的数据行进行了合并,例如,第一数据行和第四数据行对应的源数据相同,则可将第四数据行及其对应的源数据进行删除,仅保留第一数据行及其对应的源数据,以将相同源数据进行合并。若用户期望获得重复的源数据,仅需重复获取相应数据行中的源数据。
若检测测试数据获取策略中包括指定数据表相关联的预设编号单元组,则表征用户期望在指定数据表中获取到预设编号单元组对应的源数据。
在某些实施例中,若预设编号单元组对应的数据行覆盖了指定数据表中所有的数据行,或者若检测到不包括预设编号单元组,则表征用户期望获取到指定数据表中的所有源数据。
S130:根据源数据确定出初始测试数据,并将初始测试数据转换为预设数据格式的测试数据。
预设数据格式是包括于测试数据获取策略中的参数,其可根据不同测试场景所需的数据格式进行适应性调整。
初始测试数据是将源数据进行分类、筛选、预处理等操作后得到的数据,例如,源数据直接来源于指定数据表中,其中存在多个无关数据,对源数据进行筛选处理,得到的初始测试数据即为用户所期望的测试数据。为了使测试数据适用于不同测试场景,需要对初始测试数据进行格式转换。因为不同测试场景所需的测试数据的数据格式可能不同,所以需根据实际场景需求调整相应的预设数据格式。
本实施例根据测试数据获取策略中的预设编号单元组,确定出目标数据行以及目标数据行对应的源数据,因为每个预设编号单元组可对应有相应的数据行,所以通过调整预设编号单元组即可灵活地调整得到目标数据行,从而调整获得的目标数据行对应的源数据。根据源数据确定出初始测试数据,并将初始测试数据转换为预设数据格式的测试数据,以满足测试场景的格式需求。
在本申请另一示例性实施例中,详细介绍了如何根据预设编号单元组确定出目标数据行,具体请参阅图2,图2是基于图1所示示例性实施例示出的另一种测试数据的处理方法的流程示意图。其中,预设编号单元组的数量为多个;该处理方法在如图1所示的S120中进一步包括S210至S230,详细介绍如下:
S210:若检测到预设编号单元组中包括存在连续符的预设编号单元组,则将存在连续符的预设编号单元组确定为目标预设编号单元组,并确定出目标预设编号单元组对应的数据行。
连续符可以是“-”、“~”、“…”等符号,其用于表示省略的中间数值。存在连续符的预设编号单元组,其对应的数据行的数量至少为两个,即目标预设编号单元组对应至少两个数据行。
S220:将除目标预设编号单元组以外的其它预设编号单元组中的预设编号对应的数据行,作为其它预设编号单元组对应的数据行。
本实施例中的其它预设编号单元组为不存在连续符的预设编号单元组,每个其它预设编号单元组仅对应有一个数据行。
S230:根据目标预设编号单元组对应的数据行和其它预设编号单元组对应的数据行,确定出目标数据行。
目标数据行是所有预设编号单元组对应的总数据行。
对本实施例进行示例性说明:预设编号单元组包括第一预设编号单元组【1】,第二预设编号单元组【3-5】和第三预设编号单元组【7】。其中,第二预设编号单元组为目标预设编号单元组,第一和第三预设编号单元组即为本实施例中其它预设编号单元组。
本实施例提供了一种根据预设编号单元组确定出目标数据行的方式,根据预设编号单元组中是否存在连续符,将预设编号单元组划分为目标预设编号单元组和其它预设编号单元组,并分别确定出目标预设编号单元组对应的数据行和其它预设编号单元组对应的数据行,以准确确定出目标数据行。
在本申请另一示例性实施例中,详细介绍了如何确定出目标预设编号单元组对应的数据行,即上述S210中进一步包括S310至S320,详细介绍如下:
S310:将连续符左侧和右侧的预设编号对应的数据行,分别作为起始数据行和结尾数据行。
S320:将起始数据行至结尾数据行的数据行,作为目标预设编号单元组对应的数据行。
对本实施例进行示例性说明:请参阅图3,图3是本申请示例性实施例示出的目标数据行对应的源数据的执行代码示意图。其中,run_case=[‘’]表示预设编号单元组,若run_case=[‘all’],则表示获取所有数据行对应的源数据,即指定数据表中的所有源数据。
如图3所示,run_case=[‘1’,‘3-5’,‘7’],其中‘1’表示第一预设编号单元组,其对应第一数据行。‘3-5’表示第二编号单元组(即本实施例中的目标预设编号单元组),将“3”对应的第三数据行作为起始数据行,将“5”对应的第五数据行作为结尾数据行,并将第三数据行至第五数据行(即第三,第四和第五数据行)作为第二编号单元组对应的数据行。‘7’表示第三预设编号单元组,其对应第七数据行。
本实施例提供了一种确定出目标预设编号单元组对应的数据行的方式,即根据连续符左右两侧的预设编号,确定出相应的起始数据行和结尾数据行,从而准确确定出目标预设编号单元组对应的数据行。
在本申请另一示例性实施例中,详细介绍了如何根据源数据确定出初始测试数据,即上述S130中进一步包括S1301至S1302,详细介绍如下:
S1301:遍历源数据中的数据行,并将遍历到数据行作为目标数据行。
本实施例通过遍历源数据中的数据行,以无遗漏地对每个数据行进行数据处理。
S1302:根据目标数据行中的目标测试请求数据和目标测试结果数据,确定出目标数据行对应的初始测试数据,以得到源数据对应的初始测试数据。
示例性地,请参阅表1,表1是源数据中每行数据的示例表。遍历到第二数据行,则获取第二测试请求数据和第二测试结果数据,依次类推,获取得到每个数据行中的测试请求数据和测试结果数据,
请参阅图4,图4是本申请一示例性实施例示出的筛选处理源数据的执行代码的示意图。其中,主要的处理方式是采用装饰器@pytest.mark.parametrize(),将源数据放在装饰器里面实现数据驱动;先定义一个行编号row_index=0,数据行编号默认从0开始,每循环遍历完一次数据行后该数据行编号加1,然后利用for循环遍历第0列的值,其实就是循环一定的次数,加一个判断条件用来判断传入的case_name(用例标题,其对应于表1中的用例编号)是否在里面,循环内创建一个空列表col_data=[],一数据行对应的所有需要获取的列数据,每次下一数据行获取的时候,都需要清空,然后再遍历列下标(col_indexs里存放的列下标),将遍历出来的列下标和行编号传入到work_sheet.cell(row_index,col_num).value获取单元格中的值,将值存放在col_data中,再把col_data中的数据整体存放在res_list列表中(res_list用来返回筛选出来的用例数据),返回的数据格式为:[(测试请求数据1,测试结果数据1),(测试请求数据2,测试结果数据2)..],即本实施例中的初始测试数据。
表1
本实施例通过遍历的方式,准确无遗漏地获取源数据中每行数据对应的测试请求数据和测试结果数据,并将所有测试请求数据和测试结果数据作为初始测试数据,以保证无遗漏地获取到用户所期望的数据内容。
在本申请另一示例性实施例中,详细介绍了如何确定出测试数据获取策略,即在上述任一示例性实施例所示S110之前,进一步包括S1101至S1102,详细介绍如下:
S1101:将原始文件中的源数据导入不同的初始数据表中,并根据导入数据类型为每个初始数据表设置相应的表头,以得到包括源数据的多个数据表。
示例性地,将原始文件中的源数据导入excel文件中的不同sheet中,并设置不同的sheet name(工作表名称),同时为每个sheet设置相应的表头,以得到多个sheet。
S1102:根据接收到的测试数据获取请求,确定出测试数据获取策略;其中,测试数据获取策略中指定有获取源数据的指定数据表。
测试数据获取请求携带有用户期望获得的测试数据的指定数据表的编号,即上述sheet name;测试数据获取请求还携带有预设编号单元组以及预设数据格式对应的参数。本实施例执行端根据获取请求中的相关参数确定出测试数据获取策略,以便于后续快速输出预设数据格式的测试数据,使得用户快速获得到期望的测试数据。
在本申请另一示例性实施例中,详细介绍了如何将初始测试数据转换为预设数据格式的测试数据,具体请参阅图5,图5是基于图1所示示例性实施例示出的另一种测试数据的处理方法的流程示意图。其中,初始测试数据的数量为多个;该处理方法在如图1所示的S130中进一步包括S510至S520,详细介绍如下:
S510:遍历初始测试数据,并将遍历到的初始测试数据作为目标初始测试数据。
本实施例通过遍历初始测试数据,以无遗漏地检测每个初始测试数据的数据格式是否为预设数据格式。
S520:若检测到目标初始测试数据的格式并非预设数据格式,则将目标初始测试数据转换为预设数据格式的测试数据,以将所有初始测试数据转换为预设数据格式的测试数据。
若目标初始测试数据的格式为预设数据格式,则无需对其进行格式转换。
示例性地,请参阅图6,图6是本申请一示例性实施例示出的格式转换的执行代码示意图。其中,需要将json的数据转换成字典,如果不是json字符串,代码执行过程会报错,则表示无需对其进行转换,数据转换的原因:从excel单元格中读取出来的数据都是字符串格式,需要将引号里面的json数据格式转换成字典。
本实施例提供了一种将初始测试数据转换为预设数据格式的测试数据的方式,通过检测每个初始测试数据的数据格式是否为预设数据格式,从而准确无遗漏地将所有初始测试数据转换为预设数据格式的测试数据。
在本申请一优选实施例中,具体说明了本申请可采用python代码+xlrd库的操作从excel文件中获取得到相应的测试数据,详细说明如下:
首先,在python中创建handle_excel.py文件,并分别导入模块xlrd,os;定义一个函数方法,即def_excel_data,里面的形参分别传入file_path(存放excel文件的路径),sheet_name(sheet表的名字),case_name(用例标题),*args(不定长参数,可用来传入excel文件中的指定列名从而获取对应的列下标),run_case(筛选用例时传入的参数,可设置为缺省值None);创建一个空列表res_list=[],用来返回筛选出来的用例数据,然后调用xlrd.open_workbook()方法打开工作簿,再利用sheet_by_name()选择对应的sheet表;
然后,创建空列表col_indexs=[],用来处理需要获取的列数据,即获取对应的列下标,如刚刚定义的函数中传入args==[‘测试请求数据’,‘测试结果数据’],读取excel的第0行就是表头,根据传入的‘测试请求数据’和‘测试结果数据’就可以获取到index对应的下标,然后将获取到的下标数据存放到列表col_indexs中,给后面获取单元格中的值cell(行下标,列下标)做准备。
再然后,服务器300根据用户100在交互页面200触发的测试数据获取请求,确定出测试数据获取策略,以及包含于其中的预设编号单元组,执行如图3所示的执行代码,以根据预设编号单元组确定出目标数据行,从如表2所示的指定数据表中获取目标数据行对应的源数据。其中,表2是一示例性指定数据表。表2中除了表头以外,其余行中的数据皆是用例,创建的run_case列表中写入的数字编号,其对应用例的行号,然后用代码将run_case列表中的数字编号进行字符串格式化转化成用例的编号,如“Login001”,用例编号即case_name。
值得注意的是,表2存在无效数据行,为了避免在后续数据获取过程获取到无效数据,可在生成指定数据表后对其进行无效数据删除处理,即将无效数据行进行删除处理。
表2
随后,将上述获得的源数据处理成pytest数据驱动能够使用的格式,具体处理代码如图4所示,主要的处理方式是采用装饰器@pytest.mark.parametrize(),将源数据放在装饰器里面实现数据驱动;先定义一个行编号row_index=0,数据行编号默认从0开始,每循环遍历完一次数据行后该数据行编号加1,然后利用for循环遍历第0列的值,其实就是循环一定的次数,加一个判断条件用来判断传入的case_name(用例标题,其对应于表1中的用例编号)是否在里面,循环内创建一个空列表col_data=[],一数据行对应的所有需要获取的列数据,每次下一数据行获取的时候,都需要清空,然后再遍历列下标(col_indexs里存放的列下标),将遍历出来的列下标和行编号传入到work_sheet.cell(row_index,col_num).value获取单元格中的值,将值存放在col_data中,再把col_data中的数据整体存放在res_list列表中(res_list用来返回筛选出来的用例数据),返回的数据格式为:[(测试请求数据1,测试结果数据1),(测试请求数据2,测试结果数据2)..],即本实施例中的初始测试数据。
最后,执行如图6所示的格式转化代码,将初始测数据中json的数据转换成字典,如果不是json字符串,代码执行过程会报错,则表示无需对其进行转换,数据转换的原因:从excel单元格中读取出来的数据都是字符串格式,需要将引号里面的json数据格式转换成字典。
在本申请另一示例性实施例中对上述多个处理方法的应用场景进行了示例性说明,具体请参阅图7,图7是本申请测试数据的处理方法的应用场景的示意图。其中,包括用户100,交互界面200和服务器300,三端之间可通过无线通信的方式连接,本申请并不限制它们之间的连接方式。
用户100向交互界面200发送测试数据获取请求,交互界面200将该测试数据获取请求转发至服务器300,以使服务器300作为执行端执行上述任一示例性实施例示出的处理方法,示例性说明如下:
服务器300检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组;若包括,服务器300则根据预设编号单元组确定出目标数据行,并获取目标数据行对应的源数据;服务器300根据源数据确定出初始测试数据,并将初始测试数据转换为预设数据格式的测试数据。
其中,服务器300可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,其中多个服务器可组成一区块链,而服务器为区块链上的节点,服务器300还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处也不对此进行限制。
本申请的另一方面还提供了一种测试数据的处理装置,如图8所示,图8是本申请一示例性实施例示出的测试数据的处理装置的结构示意图。处理装置800包括:
检测模块810,用于检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组。
获取模块830,用于若包括,则根据预设编号单元组确定出目标数据行,并获取目标数据行对应的源数据。
转换模块850,用于根据源数据确定出初始测试数据,并将初始测试数据转换为预设数据格式的测试数据。
在一种可选的方式中,预设编号单元组的数量为多个;获取模块830进一步包括:
第一确定单元,用于若检测到预设编号单元组中包括存在连续符的预设编号单元组,则将存在连续符的预设编号单元组确定为目标预设编号单元组,并确定出目标预设编号单元组对应的数据行。
第二确定单元,用于将除目标预设编号单元组以外的其它预设编号单元组中的预设编号对应的数据行,作为其它预设编号单元组对应的数据行。
第三确定单元,用于根据目标预设编号单元组对应的数据行和其它预设编号单元组对应的数据行,确定出目标数据行。
在一种可选的方式中,第三确定单元进一步包括:
第一处理板块,用于将连续符左侧和右侧的预设编号对应的数据行,分别作为起始数据行和结尾数据行。
第二处理板块,用于将起始数据行至结尾数据行的数据行,作为目标预设编号单元组对应的数据行。
在一种可选的方式中,转换模块850进一步包括:
第一遍历单元,用于遍历源数据中的数据行,并将遍历到数据行作为目标数据行。
初始测试数据单元,用于根据目标数据行中的目标测试请求数据和目标测试结果数据,确定出目标数据行对应的初始测试数据,以得到源数据对应的初始测试数据。
在一种可选的方式中,处理装置800还包括:
导入模块,用于将原始文件中的源数据导入不同的初始数据表中,并根据导入数据类型为每个初始数据表设置相应的表头,以得到包括源数据的多个数据表。
测试数据获取策略确定模块,用于根据接收到的测试数据获取请求,确定出测试数据获取策略;其中,测试数据获取策略中指定有获取源数据的指定数据表。
在一种可选的方式中,初始测试数据的数量为多个;转换模块850进一步包括:
第二遍历单元,用于遍历初始测试数据,并将遍历到的初始测试数据作为目标初始测试数据。
数据格式转换单元,用于若检测到目标初始测试数据的格式并非预设数据格式,则将目标初始测试数据转换为预设数据格式的测试数据,以将所有初始测试数据转换为预设数据格式的测试数据。
在一种可选的方式中,检测模块810进一步包括:
所有源数获取单元,用于若检测到不包括预设编号单元组,则获取指定数据表中的所有源数据。
本申请处理装置根据测试数据获取策略中的预设编号单元组,确定出目标数据行以及目标数据行对应的源数据,因为每个预设编号单元组可对应有相应的数据行,所以通过调整预设编号单元组即可灵活地调整得到目标数据行,从而调整获得的目标数据行对应的源数据。根据源数据确定出初始测试数据,并将初始测试数据转换为预设数据格式的测试数据,以满足测试场景的格式需求。
需要说明的是,上述实施例所提供的处理装置与前述实施例所提供的处理方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,这里不再赘述。
本申请的另一方面还提供了一种电子设备,包括:控制器;存储器,用于存储一个或多个程序,当一个或多个程序被控制器执行时,以执行上述的处理方法。
请参阅图9,图9是本申请的一示例性实施例示出的电子设备的计算机***的结构示意图,其示出了适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
需要说明的是,图9示出的电子设备的计算机***900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机***900包括中央处理单元(Central Processing Unit,CPU)901,其可以根据存储在只读存储器(Read-Only Memory,ROM)902中的程序或者从存储部分908加载到随机访问存储器(Random Access Memory,RAM)903中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 903中,还存储有***操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(Input/Output,I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不相同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的处理方法。
根据本申请实施例的一个方面,还提供了一种计算机***,包括中央处理单元(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)中的程序或者从存储部分加载到随机访问存储器(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM中,还存储有***操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(Input/Output,I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (10)
1.一种测试数据的处理方法,其特征在于,所述处理方法包括:
检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组;
若包括,则根据所述预设编号单元组确定出目标数据行,并获取所述目标数据行对应的源数据;
根据所述源数据确定出初始测试数据,并将所述初始测试数据转换为预设数据格式的测试数据。
2.根据权利要求1所述的处理方法,其特征在于,所述预设编号单元组的数量为多个;所述根据所述预设编号单元组确定出目标数据行,进一步包括:
若检测到所述预设编号单元组中包括存在连续符的预设编号单元组,则将所述存在连续符的预设编号单元组确定为目标预设编号单元组,并确定出所述目标预设编号单元组对应的数据行;
将除所述目标预设编号单元组以外的其它预设编号单元组中的预设编号对应的数据行,作为所述其它预设编号单元组对应的数据行;
根据所述目标预设编号单元组对应的数据行和所述其它预设编号单元组对应的数据行,确定出目标数据行。
3.根据权利要求2所述的处理方法,其特征在于,所述确定出所述目标预设编号单元组对应的数据行,进一步包括:
将所述连续符左侧和右侧的预设编号对应的数据行,分别作为起始数据行和结尾数据行;
将所述起始数据行至所述结尾数据行的数据行,作为所述目标预设编号单元组对应的数据行。
4.根据权利要求1所述的处理方法,其特征在于,所述根据所述源数据确定出初始测试数据,进一步包括:
遍历所述源数据中的数据行,并将遍历到数据行作为目标数据行;
根据所述目标数据行中的目标测试请求数据和目标测试结果数据,确定出所述目标数据行对应的初始测试数据,以得到所述源数据对应的初始测试数据。
5.根据权利要求1所述的处理方法,其特征在于,在所述检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组之前,所述处理方法还包括:
将原始文件中的源数据导入不同的初始数据表中,并根据导入数据类型为每个初始数据表设置相应的表头,以得到包括源数据的多个数据表;
根据接收到的测试数据获取请求,确定出测试数据获取策略;其中,所述测试数据获取策略中指定有获取源数据的指定数据表。
6.根据权利要求1至5中任一项所述的处理方法,其特征在于,所述初始测试数据的数量为多个;所述将所述初始测试数据转换为预设数据格式的测试数据,进一步包括:
遍历所述初始测试数据,并将遍历到的初始测试数据作为目标初始测试数据;
若检测到所述目标初始测试数据的格式并非预设数据格式,则将所述目标初始测试数据转换为所述预设数据格式的测试数据,以将所有初始测试数据转换为所述预设数据格式的测试数据。
7.根据权利要求1至5中任一项所述的处理方法,其特征在于,所述检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组,进一步包括:
若检测到不包括所述预设编号单元组,则获取所述指定数据表中的所有源数据。
8.一种测试数据的处理装置,其特征在于,所述处理装置包括:
检测模块,用于检测测试数据获取策略中是否包括指定数据表相关联的预设编号单元组;
获取模块,用于若包括,则根据所述预设编号单元组确定出目标数据行,并获取所述目标数据行对应的源数据;
转换模块,用于根据所述源数据确定出初始测试数据,并将所述初始测试数据转换为预设数据格式的测试数据。
9.一种电子设备,其特征在于,包括:
控制器;
存储器,用于存储一个或多个程序,当一个或多个程序被控制器执行时,使得控制器实现权利要求1至7中任一项所述的处理方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311316492.0A CN117271645A (zh) | 2023-10-11 | 2023-10-11 | 一种测试数据的处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311316492.0A CN117271645A (zh) | 2023-10-11 | 2023-10-11 | 一种测试数据的处理方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117271645A true CN117271645A (zh) | 2023-12-22 |
Family
ID=89204469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311316492.0A Pending CN117271645A (zh) | 2023-10-11 | 2023-10-11 | 一种测试数据的处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271645A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785723A (zh) * | 2024-02-27 | 2024-03-29 | 四川互慧软件有限公司 | 动态接口参数关联方法、装置及电子设备 |
-
2023
- 2023-10-11 CN CN202311316492.0A patent/CN117271645A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785723A (zh) * | 2024-02-27 | 2024-03-29 | 四川互慧软件有限公司 | 动态接口参数关联方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908997A (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
CN111159220B (zh) | 用于输出结构化查询语句的方法和装置 | |
CN111444181B (zh) | 知识图谱更新方法、装置及电子设备 | |
CN113536081B (zh) | 基于人工智能的数据中心数据管理方法及*** | |
CN110263009A (zh) | 日志分类规则的生成方法、装置、设备及可读存储介质 | |
CN117271645A (zh) | 一种测试数据的处理方法、装置及计算机可读存储介质 | |
CN110737689B (zh) | 数据标准符合性检测方法、装置、***及存储介质 | |
CN110135590B (zh) | 信息处理方法、装置、介质及电子设备 | |
CN112084179B (zh) | 一种数据处理的方法、装置、设备及存储介质 | |
US10574765B2 (en) | Method, device, and non-transitory computer-readable recording medium | |
CN112508440B (zh) | 数据质量评估方法、装置、计算机设备及存储介质 | |
CN117499380A (zh) | 一种自定义协议数据采集方法 | |
CN112241417A (zh) | 页面数据的验证方法、装置、介质及电子设备 | |
CN104462322A (zh) | 字符串比对方法和装置 | |
CN104834958B (zh) | 一种对答案的步骤进行评判的方法和装置 | |
CN114925210B (zh) | 知识图谱的构建方法、装置、介质及设备 | |
CN116204428A (zh) | 一种测试用例生成方法和装置 | |
CN114896161A (zh) | 基于人工智能的文件构造方法、装置、计算机设备及介质 | |
CN109522211B (zh) | 接口参数传递方法、装置、电子设备及存储介质 | |
CN109062903B (zh) | 用于校正错别字的方法和装置 | |
CN111832304B (zh) | 楼盘名称的查重方法、装置、电子设备及存储介质 | |
CN109040202A (zh) | 一种信息推送方法、装置及服务器 | |
CN116915767B (zh) | 文档传输方法及装置 | |
CN113141366B (zh) | 报文报送方法及装置、存储介质和电子设备 | |
CN113011087A (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 |