CN115563002A - 数据导入方法、装置、存储介质及计算机设备 - Google Patents

数据导入方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN115563002A
CN115563002A CN202211316423.5A CN202211316423A CN115563002A CN 115563002 A CN115563002 A CN 115563002A CN 202211316423 A CN202211316423 A CN 202211316423A CN 115563002 A CN115563002 A CN 115563002A
Authority
CN
China
Prior art keywords
import
target
data
attribute
header
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
CN202211316423.5A
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.)
Vipshop Guangzhou Software Co Ltd
Original Assignee
Vipshop Guangzhou Software 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 Vipshop Guangzhou Software Co Ltd filed Critical Vipshop Guangzhou Software Co Ltd
Priority to CN202211316423.5A priority Critical patent/CN115563002A/zh
Publication of CN115563002A publication Critical patent/CN115563002A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种数据导入方法、装置、存储介质及计算机设备,所述方法包括:获取目标活动类型,并从预先存储的各个导入表格中确定对应于所述目标活动类型的目标导入表格;从所述目标导入表格中提取每个表头的表头文本,以得到导入表头文本;根据各个导入表头文本构建多个导入数据对象,以使每个导入数据对象均包括各个所述导入表头文本所对应的对象属性;针对每个所述导入数据对象,分别为该导入数据对象的每个对象属性赋值,并将至少一个对象属性所对应的属性值填充到所述目标导入表格中;根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中,从而实现数据的自动导入,提高测试效率。

Description

数据导入方法、装置、存储介质及计算机设备
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种数据导入方法、装置、存储介质及计算机介质。
背景技术
随着商业方式的多样化以及商品种类的丰富化,电商平台推出越来越多的促销方式和促销活动。为使得电商平台能够按照预先定义的促销方式和促销活动来计算订单金额,工作人员需要将对应的促销逻辑导入到电商***上,使得电商***能够按照促销逻辑运作。在此过程中,为测试所导入的促销逻辑是否能够按照设定的方式运作,工作人员需要向电商***导入多个测试数据,并获取电商***所返回的结果,以验证电商***在各种场景,尤其是异常场景和边界场景下,是否会导致错误结果。然而,目前是依靠人工操作点击对应的上传控件,以触发数据导入,耗时耗力,存在效率低的问题。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中导入效率低的技术缺陷。
第一方面,本申请实施例提供了一种数据导入方法,所述方法包括:
获取目标活动类型,并从预先存储的各个导入表格中确定对应于所述目标活动类型的目标导入表格;
从所述目标导入表格中提取每个表头的表头文本,以得到导入表头文本;
根据各个导入表头文本构建多个导入数据对象,以使每个导入数据对象均包括各个所述导入表头文本所对应的对象属性;
针对每个所述导入数据对象,分别为该导入数据对象的每个对象属性赋值,并将至少一个对象属性所对应的属性值填充到所述目标导入表格中;
根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中。
在其中一个实施例中,所述将至少一个对象属性所对应的属性值填充到所述目标导入表格中的步骤,包括:
针对该导入数据对象的每个对象属性,若确定该对象属性为必填对象属性,则将该对象属性所对应的属性值填充到目标单元格内,否则,不将该对象属性所对应的属性值填充到所述目标导入表格内,其中,目标单元格为所述目标导入表格中目标表头文本所对应的单元格,所述目标表头文本为与该对象属性相对应的导入表头文本。
在其中一个实施例中,所述分别为该导入数据对象的每个对象属性赋值的步骤,包括:
针对该导入数据对象的每个对象属性,调用该对象属性所对应的属性值生成工具类,并根据所述属性值生成工具类随机生成的属性值为该对象属性赋值。
在其中一个实施例中,在所述根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中的步骤之后,还包括:
获取所述待测程序在响应所述填充后的目标导入表格后返回的导入结果信息,所述导入结果信息包括成败信息和导入数据数量;
若所述成败信息反映导入失败,则输出导入校验不通过结果;
若所述成败信息反映导入成功,则获取所述填充后的目标导入表格的表格数据数量;
若所述表格数据数量与所述导入数据数量不同,则输出导入校验不通过结果;
若所述表格数据数量与所述导入数据数量相同,则确定对应于所述目标活动类型的目标数据库,并将所述目标数据库中存储的数据与所述填充后的目标导入表格中的数据进行断言匹配,以确定所述目标数据库是否存储有所述填充后的目标导入表格中的各个数据;
若所述目标数据库存储有所述填充后的目标导入表格中的各个数据,则输出导入校验通过结果,否则,输出导入校验不通过结果。
在其中一个实施例中,所述方法还包括:
从预先存储的各个导出表格中确定对应于所述目标活动类型的目标导出表格;
从所述目标导出表格中提取每个表头的表头文本,以得到各个导出表头文本;
根据所述目标活动类型调用所述待测程序的数据导出函数,以获取所述待测程序返回的导出数据对象;
确定数据筛选条件,并基于所述数据筛选条件对所述导出数据对象进行筛选,以得到目标数据对象;
针对每个所述目标数据对象,根据各个所述导出表头文本,分别将该目标数据对象的至少一个对象属性的属性值填充到所述目标导出表格内;
将填充后的目标导出表格进行存储。
在其中一个实施例中,所述将填充后的目标导出表格进行存储的步骤之后,还包括:
将所述填充后的目标导出表格中的数据与所述填充后的目标导入表格中的数据进行数据匹配,以得到导出校验结果。
第二方面,本申请实施例提供了一种数据导入装置,所述装置包括:
第一表格确定模块,用于获取目标活动类型,并从预先存储的各个导入表格中确定对应于所述目标活动类型的目标导入表格;
导入表头文本获取模块,用于从所述目标导入表格中提取每个表头的表头文本,以得到导入表头文本;
导入数据对象构建模块,用于根据各个导入表头文本构建多个导入数据对象,以使每个导入数据对象均包括各个所述导入表头文本所对应的对象属性;
第一填充模块,用于针对每个所述导入数据对象,分别为该导入数据对象的每个对象属性赋值,并将至少一个对象属性所对应的属性值填充到所述目标导入表格中;
表格导入模块,用于根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中。
在其中一个实施例中,所述第一填充模块包括导入数据填充单元;
所述导入数据填充单元用于针对该导入数据对象的每个对象属性,若确定该对象属性为必填属性,则将该对象属性所对应的属性值填充到所述目标导入表格的目标单元格内,否则,不将该对象属性所对应的属性值填充到所述目标导入表格内,其中,目标单元格为目标表头文本所对应的单元格,所述目标表头文本为与该对象属性相对应的导入表头文本。
第三方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述数据导入方法的步骤。
第四方面,本申请实施例提供了一种计算机设备,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行上述任一实施例所述数据导入方法的步骤。
在本申请实施例提供的数据导入方法、装置、存储介质及计算机设备中,计算机设备在获取到目标活动类型的情况下,可以根据该目标活动类型从预先存储的多个导入表格中确定对应于目标活动类型的目标导入表格,并提取目标导入表格中各个表头的表头文本,且据此构建多个导入数据对象,使得每个导入数据对象均包括各个导入表头文本所对应的对象属性。针对每个导入数据对象,计算机设备可以分别为该导入对象的每个对象属性赋值,并将至少一个对象属性所对应的属性值填充到目标导入表格中。如此,可自动生成导入数据。在根据各个导入数据对象填充目标导入表格后,计算机设备可以调用待测程序对外暴露的文件上传函数,以将填充后的目标导入表格导入到待测程序中,实现数据的自动导入。如此,可自动生成并导入数据,从而可减少人工操作,进而提高导入效率和测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为一个实施例中数据导入方法的流程示意图;
图2为一个实施例中预先存储的导入表格的表格示意图;
图3为一个实施例中数据导入装置的结构示意图;
图4为一个实施例中计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
正如背景技术所言,目前是依靠人工操作点击对应的上传控件,以触发数据导入,耗时耗力,存在效率低的问题。除此之外,现有技术中,在测试电商平台的运行逻辑所使用的测试数据多为人工预先设置的,通过前述测试数据进行测试容易遗漏一些场景的验证,特别是异常场景和边界场景。在导入数据后,现有技术是通过人工核对的方式来判断导入的数据是否存在异常,进而得到测试结果,进一步降低了测试效率。
为解决上述问题,本申请提供了一种数据导入方法、装置、存储介质及计算机设备,可以通过脚本化的方式自动生成导入数据,并将该导入数据导入到待测程序中,无需人工参与,实现了自动化测试,进而提升测试效率。在一些实施例中,本申请还可在数据导入/导出后自动完成数据校验,从而可进一步减少人工参与程度,提高测试效率。
在一个实施例中,本申请提供了一种数据导入方法。下述实施例以该方法应用于计算机设备为例进行说明,该计算机设备可以但不局限于终端、个人笔记本电脑或服务器等,本申请对此不作具体限制。如图1所示,该方法具体可包括如下步骤:
S102:获取目标活动类型,并从预先存储的各个导入表格中确定对应于所述目标活动类型的目标导入表格。
其中,活动类型可以是电商平台中涉及的优惠活动或促销活动的活动类型,如红包活动等。目标活动类型是指计算机设备所获取到的活动类型,换言之,每当计算机设备获取到某活动类型时,该活动类型即为目标活动类型。
预先存储的各个导入表格可以是人工预先设置的,如图2所示,对于所存储的每个导入表格,其可包括一个或多个表头,且各个表头对应的数据为空。
针对待测程序所涉及的每个活动类型,技术人员可以梳理待测程序在该活动类型下导入数据的数据种类,以得到该活动类型所对应的标准导入表格。例如,针对红包活动类型,导入数据的数据种类包括商品标识、活动金额和满减金额,则可依据前述各数据种类生成红包活动所对应的导入表格,使得导入表格可以包括各个数据种类所对应的表头。
测试时,计算机设备可以获取到目标活动类型,并从预先存储的一个或多个导入表格中确定目标活动类型所对应的导入表格,所确定的导入表格即为目标导入表格。
在其中一个实施例中,预先存储的各个导入表格的表格名称可以包括活动类型及导入导出操作类型,如此,计算机设备可以根据目标活动类型和各个导入表格的表格名称,确定目标导入表格。
在另一个实施例中,计算机设备中可预先存储有活动类型与导入表格之间的第一映射关系,在得到目标活动类型后,计算机设备可以依据第一映射关系确定目标导入表格。
S104:从所述目标导入表格中提取每个表头的表头文本,以得到导入表头文本。
由于目标导入表格为模板表格,各个表头所对应的数据为空,因此,计算机设备需要生成各个表头所对应的数据并填表,以使填充后的目标导入表格包括有多组导入数据。
在生成各个表头所对应的数据之前,计算机设备需要提取目标导入表格中各个表头的表头文本,以便于后续根据所提取的表头文本生成各表头所对应的数据。
S106:根据各个导入表头文本构建多个导入数据对象,以使每个导入数据对象均包括各个所述导入表头文本所对应的对象属性。
其中,导入数据对象(Object)可以是通过JAVA类创建的具体元素,其可具备多个自定义的对象属性。
具体而言,计算机设备可以根据各个导入表头文本构建多个导入数据对象,使得所构建的每一个导入数据对象都包括各个导入表头文本所对应的对象属性。例如,当各个导入表头文本为商品标识和优惠券标识时,每一个导入数据对象均可包括Commodity ID属性和Coupon ID属性,其中,Commodity ID属性对应于商品标识,Coupon ID属性对应于优惠券标识。
S108:针对每个所述导入数据对象,分别为该导入数据对象的每个对象属性赋值,并将至少一个对象属性所对应的属性值填充到所述目标导入表格中。
在构建多个导入数据对象之后,计算机设备可以分别为每个导入数据对象的每个对象属性进行赋值。赋值后,每个导入数据对象对应着一组导入数据。在前述示例中,在得到多个包括Commodity ID属性和Coupon ID属性的导入数据对象后,计算机设备可以为每一个导入数据对象的Commodity ID属性和Coupon ID属性赋值,例如,将第一导入数据对象的Commodity ID属性赋值为CC2022033,将第一导入数据对象的Coupon ID属性复制为CP123,将第二导入数据对象的Commodity ID属性赋值为CC2022034,将第二导入数据对象的Coupon ID属性复制为CP048等。
在得到多组导入数据后,计算机设备可以按照导入需求,将每组导入数据的部分或全部填充到目标导入表格中,使得填充后的导入表格数据中包括多组业务数据。
在其中一个实施例中,本步骤中,对于每一个导入数据对象,计算机设备可针对该导入数据对象的每个对象属性,调用该对象属性所对应的属性值生成工具类,并根据所述属性值生成工具类随机生成的属性值为该对象属性赋值。如此,通过随机生成各个导入数据对象的多个属性值,各组导入数据能够覆盖更多场景,从而提高测试结果的准确性与可靠性。
S110:根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中。
在将各组导入数据的至少一个对象属性的属性值填充到目标导入表格后,计算机设备可自动调用待测程序的文件上传函数,以将填充后的目标导入表格导入到待测程序中,使得待测程序可以依据填充后的目标导入表格进行运行,进而实现测试待测程序。
在其中一个实施例中,考虑到一些待测程序可能处于新旧程序迁移的过程中,待测程序可能需要通过HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求或者OSP(Operation System Platform,***管理平台)来导入数据,因此,计算机设备可以通过HTTP请求(如post请求)和OSP来导入数据。
本实施例中,计算机设备在获取到目标活动类型的情况下,可以根据该目标活动类型从预先存储的多个导入表格中确定对应于目标活动类型的目标导入表格,并提取目标导入表格中各个表头的表头文本,且据此构建多个导入数据对象,使得每个导入数据对象均包括各个导入表头文本所对应的对象属性。针对每个导入数据对象,计算机设备可以分别为该导入对象的每个对象属性赋值,并将至少一个对象属性所对应的属性值填充到目标导入表格中。如此,可自动生成导入数据。在根据各个导入数据对象填充目标导入表格后,计算机设备可以调用待测程序对外暴露的文件上传函数,以将填充后的目标导入表格导入到待测程序中,实现数据的自动导入。如此,可自动生成并导入数据,从而可减少人工操作,进而提高导入效率和测试效率。
在一个实施例中,所述将至少一个对象属性所对应的属性值填充到所述目标导入表格中的步骤,包括:
针对该导入数据对象的每个对象属性,若确定该对象属性为必填对象属性,则将该对象属性所对应的属性值填充到目标单元格内,否则,不将该对象属性所对应的属性值填充到所述目标导入表格内,其中,目标单元格为所述目标导入表格中目标表头文本所对应的单元格,所述目标表头文本为与该对象属性相对应的导入表头文本。
具体而言,由于导入表格的表头是根据多个业务部门的导入数据种类来确定的,而不同的业务部门在导入数据时,其导入的数据种类可能有所差异,因此,为使得待测程序的测试能够更加契合于实际业务需要,计算机设备可以根据导入数据对象每个对象属性的必填性质,选择性地将部分对象属性的属性值填充到目标导入表格中,使得填充后的目标导入表格与业务人员所填写的表格更为相似。
具体地,可以预先设置每个对象属性是否为必填对象属性。对于每个导入数据对象的每个对象属性,若该对象属性为必填对象属性,则可将该对象属性所对应的表头文本作为目标表头文本,并可将该导入数据对象的该对象属性所对应的属性值填写到目标导入表格的指定位置处,该指定位置是指目标导入表格中目标表头文本所对应的单元格。
对于每个导入数据对象的每个对象属性,若该对象属性非必填对象属性,则不将该导入数据对象该对象属性所对应的属性值填充到目标导入表格中。
在一个实施例中,在所述根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中的步骤之后,还包括:
获取所述待测程序在响应所述填充后的目标导入表格后返回的导入结果信息,所述导入结果信息包括成败信息和导入数据数量;
若所述成败信息反映导入失败,则输出导入校验不通过结果;
若所述成败信息反映导入成功,则获取所述填充后的目标导入表格的表格数据数量;
若所述表格数据数量与所述导入数据数量不同,则输出导入校验不通过结果;
若所述表格数据数量与所述导入数据数量相同,则确定对应于所述目标活动类型的目标数据库,并将所述目标数据库中存储的数据与所述填充后的目标导入表格中的数据进行断言匹配,以确定所述目标数据库是否存储有所述填充后的目标导入表格中的各个数据;
若所述目标数据库存储有所述填充后的目标导入表格中的各个数据,则输出导入校验通过结果,否则,输出导入校验不通过结果。
具体而言,在导入数据后,计算机设备需要对导入结果进行校验,以判断数据是否成功且准确地导入到对应的数据库中。在根据填充后的目标导入表格调用文件上传函数后,待测程序可对该填充后的目标导入表格进行响应,并尝试将目标导入表格中记录的导入数据添加到对应的数据库中,且返回导入结果信息。
该导入结果信息中的成败信息可反映待测程序是否成功完成数据导入。例如,当导入结果信息包括“200”这一字段时,则表明地测程序成功导入数据;当导入结果信息中不包括“200”字段时,则表明待测程序导入数据失败。
若成败信息反映导入失败,则可直接确定待测程序数据导入失败,并数据导入校验不通过结果,以提示测试人员数据导入过程存在问题。若成败信息反映导入成功,则计算机设备需要对导入数据进行进一步地核查,以确定数据是否准确导入。
具体地,计算机设备可以从导入数据的数量和导入数据本身来确定数据是否准确导入。导入结果信息还包括有待测程序返回的导入数据数量,计算机设备可以获取填充后的目标导入表格的表格数据数量,并比较表格数据数量与导入数据数量是否相同,若不同,则说明待测程序导入的数据数量不同于输入的导入数据数量,因此,可直接确定待测程序数据导入失败,并数据导入校验不通过结果。若表格数据数量和导入数据数量相同,则可进一步比较数据内容,以判断数据是否准确导入。
在比较数据内容时,计算机设备可以将目标活动类型所对应的数据库作为目标数据库,并将目标数据库中的数据与填充后的目标导入表格中的数据进行断言匹配,以确定填充后的目标导入表格中的每一个导入数据是否均存在于目标数据库中。若是,则可确定数据是否成功且准确地导入到对应的数据库中,并输出导入校验通过结果。若填充后的目标导入表格中至少一个导入数据不存在于目标数据库中,则可确定待测程序数据导入失败,并数据导入校验不通过结果。
通过本实施例,计算机设备可以自动校验导入数据,从而可进一步减少人工参与程度,以进一步提升测试效率。
在一个实施例中,除了实现数据的自动导入外,本申请还可实现数据的自动导出。具体地,在通过上述任一实施例导入数据后,本申请还可包括如下步骤:
从预先存储的各个导出表格中确定对应于所述目标活动类型的目标导出表格;
从所述目标导出表格中提取每个表头的表头文本,以得到各个导出表头文本;
根据所述目标活动类型调用所述待测程序的数据导出函数,以获取所述待测程序返回的导出数据对象;
确定数据筛选条件,并基于所述数据筛选条件对所述导出数据对象进行筛选,以得到目标数据对象;
针对每个所述目标数据对象,根据各个所述导出表头文本,分别将该目标数据对象的至少一个对象属性的属性值填充到所述目标导出表格内;
将填充后的目标导出表格进行存储。
其中,预先存储的各个导出表格可以是人工预先设置的,对于所存储的每个导出表格,其可包括一个或多个表头,且各个表头对应的数据为空。
类似于导入表格,针对待测程序所涉及的每个活动类型,技术人员可以梳理待测程序在该活动类型下导出数据的数据种类,以得到该活动类型所对应的标准导出表格。
在进行导出测试时,计算机设备可以根据目标活动类型,从预先存储的一个或多个导出表格中确定目标活动类型所对应的导出表格,所确定的导出表格即为目标导出表格。本步骤中,确定目标导出表格的具体实现可参阅上述实施例中记载的用于确定目标导入表格的方式,此处不再赘述。
在确定目标导出表格后,计算机设备可以提取目标导出表格中每个表头的表头文本,以得到各个导出表头文本。计算机设备还可调用待测程序对外暴露的且与目标活动类型相对应的数据导出函数,以获取一个或多个导出数据对象。针对每个导出数据对象,其可包括一个或多个的对象属性,且在导出时,每个导出数据对象的至少一个对象属性已赋值。
针对待测程序所返回的各个导出数据对象,计算机设备可以根据待测程序预先设置或者工程师自定义的数据筛选条件,对待测程序返回的各个导出数据对象进行数据筛选,以得到目标数据对象。
计算机设备可以根据各个目标数据对象的属性值填充到目标导出表格中,使得填充后的目标导出表格可以记录有多组业务数据,并将填充后的目标导出表格进行存储。例如,可将目标导出表格存储在本地或远端。
如此,可实现数据的自动导出,从而可进一步减少人工操作,并提高导入效率和测试效率。
在一个实施例中,所述将填充后的目标导出表格进行存储的步骤之后,还包括:将所述填充后的目标导出表格中的数据与所述填充后的目标导入表格中的数据进行数据匹配,以得到导出校验结果。
具体而言,在完成数据的自动导出后,计算机设备需要对导出数据进行校验。计算机设备可以将所存储的导出数据与导入数据进行数据匹配,以确定导出数据与导入数据是否一致,并据此得到导出校验结果。如此,计算机设备可以自动校验导出数据,从而可进一步减少人工参与程度,以进一步提升测试效率。
下面对本申请实施例提供的数据导入装置进行描述,下文描述的数据导入装置与上文描述的数据导入方法可相互对应参照。
在一个实施例中,本申请提供了一种数据导入装置300。如图3所示,该装置300具体包括第一表格确定模块310、导入表头文本获取模块320、导入数据对象构建模块330、第一填充模块340和表格导入模块350。其中:
第一表格确定模块310,用于获取目标活动类型,并从预先存储的各个导入表格中确定对应于所述目标活动类型的目标导入表格;
导入表头文本获取模块320,用于从所述目标导入表格中提取每个表头的表头文本,以得到导入表头文本;
导入数据对象构建模块330,用于根据各个导入表头文本构建多个导入数据对象,以使每个导入数据对象均包括各个所述导入表头文本所对应的对象属性;
第一填充模块340,用于针对每个所述导入数据对象,分别为该导入数据对象的每个对象属性赋值,并将至少一个对象属性所对应的属性值填充到所述目标导入表格中;
表格导入模块350,用于根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中。
在一个实施例中,所述第一填充模块340包括导入数据填充单元。该导入数据填充单元用于针对该导入数据对象的每个对象属性,若确定该对象属性为必填属性,则将该对象属性所对应的属性值填充到所述目标导入表格的目标单元格内,否则,不将该对象属性所对应的属性值填充到所述目标导入表格内,其中,目标单元格为目标表头文本所对应的单元格,所述目标表头文本为与该对象属性相对应的导入表头文本。
在一个实施例中,所述第一填充模块340包括属性值生成单元。该属性值生成单元用于针对该导入数据对象的每个对象属性,调用该对象属性所对应的属性值生成工具类,并根据所述属性值生成工具类随机生成的属性值为该对象属性赋值。
在一个实施例中,所述装置300还包括导入结果获取模块、第一校验模块、表格数据数量获取模块、第二校验模块、第一匹配模块和第三校验模块。其中,导入结果获取模块用于获取所述待测程序在响应所述填充后的目标导入表格后返回的导入结果信息,所述导入结果信息包括成败信息和导入数据数量。第一校验模块用于在所述成败信息反映导入失败的情况下,输出导入校验不通过结果。表格数据数量获取模块用于在所述成败信息反映导入成功的情况下,获取所述填充后的目标导入表格的表格数据数量。第二校验模块用于在所述表格数据数量与所述导入数据数量不同的情况下,输出导入校验不通过结果。第一匹配模块用于在所述表格数据数量与所述导入数据数量相同的情况下,确定对应于所述目标活动类型的目标数据库,并将所述目标数据库中存储的数据与所述填充后的目标导入表格中的数据进行断言匹配,以确定所述目标数据库是否存储有所述填充后的目标导入表格中的各个数据。第三校验模块用于在所述目标数据库存储有所述填充后的目标导入表格中的各个数据的情况下,输出导入校验通过结果,否则,输出导入校验不通过结果。
在一个实施例中,所述装置300还包括第二表格确定模块、导出表头文本获取模块、导出数据对象获取模块、筛选模块、第二填充模块和存储模块。
其中,
第二表格确定模块用于从预先存储的各个导出表格中确定对应于所述目标活动类型的目标导出表格。导出表头文本获取模块用于从所述目标导出表格中提取每个表头的表头文本,以得到各个导出表头文本。导出数据对象获取模块用于根据所述目标活动类型调用所述待测程序的数据导出函数,以获取所述待测程序返回的导出数据对象。筛选模块用于确定数据筛选条件,并基于所述数据筛选条件对所述导出数据对象进行筛选,以得到目标数据对象。第二填充模块用于针对每个所述目标数据对象,根据各个所述导出表头文本,分别将该目标数据对象的至少一个对象属性的属性值填充到所述目标导出表格内。存储模块用于将填充后的目标导出表格进行存储。
在一个实施例中,所述装置300还包括第二匹配模块。该第二匹配模块用于将所述填充后的目标导出表格中的数据与所述填充后的目标导入表格中的数据进行数据匹配,以得到导出校验结果。
在一个实施例中,本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任意实施例所述数据导入方法的步骤。
在一个实施例中,本申请还提供了一种计算机设备。所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任意实施例中所述数据导入方法的步骤。
示意性地,图4为本申请实施例提供的一种计算机设备的内部结构示意图,在一个示例中,该计算机设备可以为服务器。参照图4,计算机设备900包括处理组件902,其进一步包括一个或多个处理器,以及由存储器901所代表的存储器资源,用于存储可由处理组件902的执行的指令,例如应用程序。存储器901中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件902被配置为执行指令,以执行上述任意实施例所述数据导入方法的步骤。
计算机设备900还可以包括一个电源组件903被配置为执行计算机设备900的电源管理,一个有线或无线网络接口904被配置为将计算机设备900连接到网络,和一个输入输出(I/O)接口905。计算机设备900可以操作基于存储在存储器901的操作***,例如WindowsServer TM、Mac OS XTM、Unix TM、Linux TM、Free BSDTM或类似。
本领域技术人员可以理解,本申请示出的计算机设备的内部结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本文中,“一”、“一个”、“所述”、“该”和“其”也可以包括复数形式,除非上下文清楚指出另外的方式。多个是指至少两个的情况,如2个、3个、5个或8个等。“和/或”包括相关所列项目的任何及所有组合。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据导入方法,其特征在于,所述方法包括:
获取目标活动类型,并从预先存储的各个导入表格中确定对应于所述目标活动类型的目标导入表格;
从所述目标导入表格中提取每个表头的表头文本,以得到导入表头文本;
根据各个导入表头文本构建多个导入数据对象,以使每个导入数据对象均包括各个所述导入表头文本所对应的对象属性;
针对每个所述导入数据对象,分别为该导入数据对象的每个对象属性赋值,并将至少一个对象属性所对应的属性值填充到所述目标导入表格中;
根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中。
2.根据权利要求1所述的方法,其特征在于,所述将至少一个对象属性所对应的属性值填充到所述目标导入表格中的步骤,包括:
针对该导入数据对象的每个对象属性,若确定该对象属性为必填对象属性,则将该对象属性所对应的属性值填充到目标单元格内,否则,不将该对象属性所对应的属性值填充到所述目标导入表格内,其中,目标单元格为所述目标导入表格中目标表头文本所对应的单元格,所述目标表头文本为与该对象属性相对应的导入表头文本。
3.根据权利要求1所述的方法,其特征在于,所述分别为该导入数据对象的每个对象属性赋值的步骤,包括:
针对该导入数据对象的每个对象属性,调用该对象属性所对应的属性值生成工具类,并根据所述属性值生成工具类随机生成的属性值为该对象属性赋值。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中的步骤之后,还包括:
获取所述待测程序在响应所述填充后的目标导入表格后返回的导入结果信息,所述导入结果信息包括成败信息和导入数据数量;
若所述成败信息反映导入失败,则输出导入校验不通过结果;
若所述成败信息反映导入成功,则获取所述填充后的目标导入表格的表格数据数量;
若所述表格数据数量与所述导入数据数量不同,则输出导入校验不通过结果;
若所述表格数据数量与所述导入数据数量相同,则确定对应于所述目标活动类型的目标数据库,并将所述目标数据库中存储的数据与所述填充后的目标导入表格中的数据进行断言匹配,以确定所述目标数据库是否存储有所述填充后的目标导入表格中的各个数据;
若所述目标数据库存储有所述填充后的目标导入表格中的各个数据,则输出导入校验通过结果,否则,输出导入校验不通过结果。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
从预先存储的各个导出表格中确定对应于所述目标活动类型的目标导出表格;
从所述目标导出表格中提取每个表头的表头文本,以得到各个导出表头文本;
根据所述目标活动类型调用所述待测程序的数据导出函数,以获取所述待测程序返回的导出数据对象;
确定数据筛选条件,并基于所述数据筛选条件对所述导出数据对象进行筛选,以得到目标数据对象;
针对每个所述目标数据对象,根据各个所述导出表头文本,分别将该目标数据对象的至少一个对象属性的属性值填充到所述目标导出表格内;
将填充后的目标导出表格进行存储。
6.根据权利要求5所述的方法,其特征在于,所述将填充后的目标导出表格进行存储的步骤之后,还包括:
将所述填充后的目标导出表格中的数据与所述填充后的目标导入表格中的数据进行数据匹配,以得到导出校验结果。
7.一种数据导入装置,其特征在于,所述装置包括:
第一表格确定模块,用于获取目标活动类型,并从预先存储的各个导入表格中确定对应于所述目标活动类型的目标导入表格;
导入表头文本获取模块,用于从所述目标导入表格中提取每个表头的表头文本,以得到导入表头文本;
导入数据对象构建模块,用于根据各个导入表头文本构建多个导入数据对象,以使每个导入数据对象均包括各个所述导入表头文本所对应的对象属性;
第一填充模块,用于针对每个所述导入数据对象,分别为该导入数据对象的每个对象属性赋值,并将至少一个对象属性所对应的属性值填充到所述目标导入表格中;
表格导入模块,用于根据填充后的目标导入表格调用待测程序的文件上传函数,以将所述填充后的目标导入表格导入至所述待测程序中。
8.根据权利要求7所述的装置,其特征在于,所述第一填充模块包括导入数据填充单元;
所述导入数据填充单元用于针对该导入数据对象的每个对象属性,若确定该对象属性为必填属性,则将该对象属性所对应的属性值填充到所述目标导入表格的目标单元格内,否则,不将该对象属性所对应的属性值填充到所述目标导入表格内,其中,目标单元格为目标表头文本所对应的单元格,所述目标表头文本为与该对象属性相对应的导入表头文本。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6任一项所述数据导入方法的步骤。
10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至6任一项所述数据导入方法的步骤。
CN202211316423.5A 2022-10-26 2022-10-26 数据导入方法、装置、存储介质及计算机设备 Pending CN115563002A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211316423.5A CN115563002A (zh) 2022-10-26 2022-10-26 数据导入方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211316423.5A CN115563002A (zh) 2022-10-26 2022-10-26 数据导入方法、装置、存储介质及计算机设备

Publications (1)

Publication Number Publication Date
CN115563002A true CN115563002A (zh) 2023-01-03

Family

ID=84768281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211316423.5A Pending CN115563002A (zh) 2022-10-26 2022-10-26 数据导入方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN115563002A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115859945A (zh) * 2023-02-28 2023-03-28 网思科技股份有限公司 基于表格表头的数据匹配方法、***和可读存储介质
CN116319718A (zh) * 2023-03-10 2023-06-23 北京振中电子技术有限公司 一种云数据存储处理方法、***、设备及介质
CN117973334A (zh) * 2024-04-02 2024-05-03 南京安夏电子科技有限公司 基于文件表格的自动识别导入方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115859945A (zh) * 2023-02-28 2023-03-28 网思科技股份有限公司 基于表格表头的数据匹配方法、***和可读存储介质
CN116319718A (zh) * 2023-03-10 2023-06-23 北京振中电子技术有限公司 一种云数据存储处理方法、***、设备及介质
CN116319718B (zh) * 2023-03-10 2023-12-12 北京振中电子技术有限公司 一种云数据存储处理方法、***、设备及介质
CN117973334A (zh) * 2024-04-02 2024-05-03 南京安夏电子科技有限公司 基于文件表格的自动识别导入方法

Similar Documents

Publication Publication Date Title
CN115563002A (zh) 数据导入方法、装置、存储介质及计算机设备
CN107992409B (zh) 测试用例生成方法、装置、计算机设备和存储介质
CN107861870B (zh) 接口测试及测试数据生成方法、装置、终端和存储介质
US8914679B2 (en) Software testing automation framework
CN109474578B (zh) 报文消息校验方法、装置、计算机设备和存储介质
CN108628748B (zh) 自动化测试管理方法和自动化测试管理***
CN111177005A (zh) 业务应用的测试方法、装置、服务器和存储介质
CN112131830B (zh) 一种寄生参数验证方法、装置、电子设备和存储介质
CN113010413B (zh) 一种接口自动化测试方法和装置
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN113448862A (zh) 软件版本测试方法、装置及计算机设备
CN110750434A (zh) 接口测试方法、装置、电子设备和计算机可读存储介质
CN112131127B (zh) 接口测试方法、装置、***及电子设备
CN113297086A (zh) 测试用例生成方法、装置、电子设备及存储介质
CN112433936A (zh) 测试方法、装置及存储介质
CN112561690A (zh) ***分期业务接口的测试方法、***、设备及存储介质
CN110334019B (zh) 一种测试方法、装置及可读存储介质
CN109101408B (zh) 联调环境中业务可用性的检测方法和装置
CN111240981A (zh) 一种接口测试方法、***及平台
CN115437943A (zh) 接口文档自动化验证方法、装置和服务器
CN113704123B (zh) 接口测试方法、装置、设备以及存储介质
CN113300912B (zh) 一种设备测试方法、装置及电子设备
CN114020822A (zh) 基于接口数据造数的数据测试方法、装置、设备及介质
CN112433946A (zh) 接口测试管理方法、装置、设备及存储介质
CN115437903A (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