CN113138936B - 数据处理方法、装置、存储介质及处理器 - Google Patents
数据处理方法、装置、存储介质及处理器 Download PDFInfo
- Publication number
- CN113138936B CN113138936B CN202110542615.7A CN202110542615A CN113138936B CN 113138936 B CN113138936 B CN 113138936B CN 202110542615 A CN202110542615 A CN 202110542615A CN 113138936 B CN113138936 B CN 113138936B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- error information
- error
- processing
- 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
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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- 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/362—Software debugging
- G06F11/366—Software debugging using diagnostics
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、装置、存储介质及处理器。该方法包括:基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;基于所述爬取到的数据,获取系统后台返回的预设的错误信息;对所述预设的错误信息进行分析处理,得到分析处理后的数据信息;以及对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试。通过本申请,解决了相关技术中对API数据测试过程中效率较低的问题。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种数据处理方法、装置、存储介质及处理器。
背景技术
在开发过程中,业务测试等都需要依赖API,根据详细格式的API描述文件,就可以生成不同配置文件,然后再根据配置文件生成文档,页面或实现单元测试,当有了完整的格式化API描述文档之后,后面的很多操作都可以自动化或半自动化完成。现在API的格式描述文档格式一般采用xml或json的格式进行定义。Xml可以采用schema的格式进行定义数据格式。
现在API数据的描述的都是通过测试人员通过手写测试数据对象或者配置的方式测试API,导致开发人员需要编写大量的测试用例。目前需要一种可以高效生成并能够动态调整的生成API描述文档的方法。
针对相关技术中对API数据测试过程中效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据处理方法、装置、存储介质及处理器,以解决相关技术中对API数据测试过程中效率较低的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种数据处理方法。该方法包括:基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;基于爬取到的数据,获取系统后台返回的预设的错误信息;对预设的错误信息进行分析处理,得到分析处理后的数据信息;以及对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试。
进一步地,基于爬取到的数据,获取系统后台返回的预设的错误信息包括:对爬取到的数据基于数据中的关联分析进行数据字段的提取,获取提取后的数据字段;将提取后的数据字段存储在对象结构表中,其中,提取后的数据字段至少包括数据字段类型、数据字段范围以及数据字段引用关系;对对象结构表中的数据字段进行处理,得到处理后的数据字段信息中的错误信息;将处理后的数据字段信息中的错误信息作为系统后台返回的预设的错误信息。
进一步地,对预设的错误信息进行分析处理,得到分析处理后的数据信息之前,该方法还包括:判断错误信息中是否包含文档信息;若错误信息中的包含文档信息,判断错误信息中的文档信息是否完整;当错误信息中的文档信息不完整时,基于错误信息的错误编码,对错误信息按照不同的错误编码进行分类;当错误信息中的文档信息完整时,基于错误信息的文档信息对错误信息按照不同的文档信息进行分类。
进一步地,对预设的错误信息进行分析处理,得到分析处理后的数据信息包括:对按照错误编码分类后的错误信息进行分析处理,得到分析处理后的数据信息;对按照文档信息分类后的错误信息进行分析处理,得到分析处理后的数据信息。
进一步地,该方法还包括:当错误信息中不包含文档信息时,基于历史错误信息对错误信息进行分类;对按照分类后的错误信息进行分析处理,得到分析处理后的数据信息。
进一步地,错误信息的类型至少包括:数据必填项类型、数据值类型、数据取值范围类型、关联项类型。
进一步地,对错误信息进行分析处理方式包括以下至少之一:数据必填项类型分析处理方式、数据值类型分析处理方式、数据取值范围类型分析处理方式以及关联项类型分析处理方式。
进一步地,对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试包括:基于处理后的数据信息确定待配置的目标数据信息;对目标数据信息进行配置,基于配置后得到的数据信息进行测试。
为了实现上述目的,根据本申请的另一方面,提供了一种数据处理装置。该装置包括:第一获取单元,用于基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;第一确定单元,用于基于爬取到的数据,获取系统后台返回的预设的错误信息;第一处理单元,用于对预设的错误信息进行分析处理,得到分析处理后的数据信息;以及第一配置单元,用于对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试。
进一步地,第一确定单元包括:第一获取模块,用于对爬取到的数据基于数据中的关联分析进行数据字段的提取,获取提取后的数据字段;第一存储模块,用于将提取后的数据字段存储在对象结构表中,其中,提取后的数据字段至少包括数据字段类型、数据字段范围以及数据字段引用关系;第一处理模块,用于对对象结构表中的数据字段进行处理,得到处理后的数据字段信息中的错误信息;第一确定模块,将处理后的数据字段信息中的错误信息作为系统后台返回的预设的错误信息。
进一步地,该装置还包括:第一判断单元,用于对预设的错误信息进行分析处理,得到分析处理后的数据信息之前,判断错误信息中是否包含文档信息;第二判断单元,用于若错误信息中的包含文档信息,判断错误信息中的文档信息是否完整;第一分类单元,用于当错误信息中的文档信息不完整时,基于错误信息的错误编码,对错误信息按照不同的错误编码进行分类;第二分类单元,用于当错误信息中的文档信息完整时,基于错误信息的文档信息对错误信息按照不同的文档信息进行分类。
进一步地,第一处理单元包括:第二处理模块,用于对按照错误编码分类后的错误信息进行分析处理,得到分析处理后的数据信息;第三处理模块,用于对按照文档信息分类后的错误信息进行分析处理,得到分析处理后的数据信息。
进一步地,该装置还包括:第三分类单元,用于当错误信息中不包含文档信息时,基于历史错误信息对错误信息进行分类;第三处理单元,用于对按照分类后的错误信息进行分析处理,得到分析处理后的数据信息。
进一步地,错误信息的类型至少包括:数据必填项类型、数据值类型、数据取值范围类型、关联项类型。
进一步地,对错误信息进行分析处理方式包括以下至少之一:数据必填项类型分析处理方式、数据值类型分析处理方式、数据取值范围类型分析处理方式以及关联项类型分析处理方式。
进一步地,第一配置单元包括:第二确定模块,用于基于处理后的数据信息确定待配置的目标数据信息;第一配置模块,用于对目标数据信息进行配置,基于配置后得到的数据信息进行测试。
通过本申请,采用以下步骤:基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;基于爬取到的数据,获取系统后台返回的预设的错误信息;对预设的错误信息进行分析处理,得到分析处理后的数据信息;以及对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试,解决了相关技术中对API数据测试过程中效率较低的问题。通过对错误信息进行分析处理,对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试,进而达到了提升对API数据测试过程中效率的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的数据处理方法的流程图;
图2是根据本申请实施例提供的数据处理方法的数据分析模块处理的示意图;
图3是根据本申请实施例提供的数据处理方法的报错分析处理的示意图;
图4是根据本申请实施例提供的数据处理方法的数据类型判断的示意图;
图5是根据本申请实施例提供的数据处理方法的API测试的示意图;
图6是根据本申请实施例提供的数据处理装置的的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请的实施例,提供了一种数据处理方法。
图1是根据本申请实施例的数据处理方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据。
步骤S102,基于爬取到的数据,获取系统后台返回的预设的错误信息。
步骤S103,对预设的错误信息进行分析处理,得到分析处理后的数据信息。
步骤S104,对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试。
图2是根据本申请实施例提供的数据处理方法的数据分析模块处理的示意图,如图2所示,在分析模块中通过配置或代码分析的方式获取API网页的统一资源标识符地址,并对该网页基于统一资源标识符进行数据的爬取,在数据爬取阶段,通过爬虫和API查询数据的规则,将API对应的数据爬取后分拆到数据存储表中,其中,基于每个统一资源标识符的数据将爬取到的数据存储到一张数据存储表中,基于爬取到的数据进行后续的基础数据分析。
可选地,在本申请实施例提供的数据处理方法中,基于爬取到的数据,获取系统后台返回的预设的错误信息包括:对爬取到的数据基于数据中的关联分析进行数据字段的提取,获取提取后的数据字段;将提取后的数据字段存储在对象结构表中,其中,提取后的数据字段至少包括数据字段类型、数据字段范围以及数据字段引用关系;对对象结构表中的数据字段进行处理,得到处理后的数据字段信息中的错误信息;将处理后的数据字段信息中的错误信息作为系统后台返回的预设的错误信息。
图3是根据本申请实施例提供的数据处理方法的报错分析处理的示意图,如图3所示,对爬取到的数据基于数据中的关联分析进行数据字段的提取后进行基础数据分析,将提取得到的基础数据字段存储在对象结构表中,其中,对象结构表的表结构如表1所示:
表1
具体的,基础数据分析阶段是对爬取到的数据基于数据中的关联分析进行数据字段的分析提取,得到该数据字段的数据类型、数据范围以及数据之间的引用关系。
例如,通过/user获取到的对象为:
将上述提取到的数据字段的基础数据字段内容存储在对象结构表中,如表2所示:
表2
id | uri | field | type | length | min | max | Refer | ReferName | isNull |
1 | /user | Name | |||||||
2 | /user | Age | |||||||
3 | /user | Level | |||||||
4 | /user | Province | |||||||
5 | /user | Department | |||||||
6 | /user | employee | |||||||
7 | /user | male | |||||||
8 | 5 | name | |||||||
9 | 5 | location | |||||||
上述对象结构表中的数据字段进行处理,得到处理后的数据字段信息中的错误信息并将其作为系统后台返回的预设的错误信息。
可选地,在本申请实施例提供的数据处理方法中,对预设的错误信息进行分析处理,得到分析处理后的数据信息之前,方法还包括:判断错误信息中是否包含文档信息;若错误信息中的包含文档信息,判断错误信息中的文档信息是否完整;当错误信息中的文档信息不完整时,基于错误信息的错误编码,对错误信息按照不同的错误编码进行分类;当错误信息中的文档信息完整时,基于错误信息的文档信息对错误信息按照不同的文档信息进行分类。
可选地,在本申请实施例提供的数据处理方法中,对预设的错误信息进行分析处理,得到分析处理后的数据信息包括:对按照错误编码分类后的错误信息进行分析处理,得到分析处理后的数据信息;对按照文档信息分类后的错误信息进行分析处理,得到分析处理后的数据信息。
具体的,需要对后台返回的错误信息进行分析,并对错误信息进行分类,可选地,在本申请实施例提供的数据处理方法中,错误信息的类型至少包括:数据必填项类型、数据值类型、数据取值范围类型、关联项类型。
可选地,在本申请实施例提供的数据处理方法中,对错误信息进行分析处理方式包括以下至少之一:数据必填项类型分析处理方式、数据值类型分析处理方式、数据取值范围类型分析处理方式以及关联项类型分析处理方式。
需要说明的是,本申请的数据必填项类型分析处理方式、数据值类型分析处理方式、数据取值范围类型分析处理方式以及关联项类型分析处理方式分别对应于图3中必填项探测、数据值类型探测、数据有效值探测、数据边界探测以及数据字典项探测。必填项探测处理方式是根据此错误信息,可以提炼出哪个字段是必填字段,数据值类型探测处理方式是根据错误信息提炼出数据的类型,数据有效值探测处理方式是根据错误信息探测数字的取值范围,关联项探测处理方式是根据此错误信息探测关联对象。
当错误信息中的文档信息完整时,基于错误信息的文档信息对错误信息按照不同的文档信息进行分类,对按照文档信息分类后的文档信息字符串进行分析处理,例如,错误信息的文档信息字符串为:“field'name'can not be null.
必填项探测处理方式为,通过数据字段匹配的方式匹配出当前的错误类型为:“必填项”,以及通过正则表达式message.match(/field'(.*)'can not be null./)提取到错误的字段是:“name”。
当错误信息中的文档信息不完整时,基于错误信息的错误编码,对错误信息按照不同的错误编码进行分类,对按照错误编码分类后的错误信息进行分析处理,例如,错误信息的为:
必填项探测处理方式为,通过数据字段匹配的方式匹配出当前的错误类型为:错误编码1001类别为必填项,错误字段同样使用则表达式message.match(/field'(.*)'cannot be null./)提取到错误的字段是:“name”。可以得到name字段是必填项。
可选地,在本申请实施例提供的数据处理方法中,该方法还包括:当错误信息中不包含文档信息时,基于历史错误信息对错误信息进行分类;对按照分类后的错误信息进行分析处理,得到分析处理后的数据信息。
具体的,当后台返回的错误信息不包含文档信息时,通过对历史收集的错误信息采用人工干预的方式进行错误信息的分类,并对分类后的错误信息进行分析处理,得到分析处理后的数据信息,基于上述分析处理后的数据信息作为待完善的描述性数据填充至。
综上,上述分析处理后的数据字段信息经过不断的补充更新至对象结构表中,且生成完善的描述文档作为后续使用。
上述是对数据必填项类型分析处理方式,本申请还研究了数据值类型分析处理方式、数据取值范围类型分析处理方式以及关联项类型分析处理方式。
图4为数据值类型分析处理方式的的示意图,首先判断该数据类型是否为int类型,若不是int类型,判断是否为bool类型,否则判断为string类型。
例如,如果该数据字段返回的是xml,需要对单个数据字段的数据类型进行分析。取出多个数据对象中的一个字段中的值行分析,如果所有的值为数字,则当前字段为int。如果不是,继续判断是否全部为true或false,如果符合条件则类型为bool。否则该数据字段的类型为string。
将数据字段信息更新至数据对象表3中,表3如下所示:
表3
id | uri | field | type | length | min | max | Refer | ReferName | isNull |
1 | /user | Name | string | ||||||
2 | /user | Age | Int | ||||||
3 | /user | Level | Int | ||||||
4 | /user | Province | String | ||||||
5 | /user | Department | Object | ||||||
6 | /user | employee | []string | ||||||
7 | /user | male | Bool | ||||||
8 | 5 | name | String | ||||||
9 | 5 | location | String |
对表3中的数据字段进行范围分析,数据取值范围类型分析处理方式主要是针对不同数据字段的取值范围进行分析。如果是int型,取值范围就是n~m的数字。如果是string型,取值范围就是字符串的长度。统计不同的字段,获取获取到最大范围,然后将数据更新到数据结构表中。
例如,一个对象有两个字段name和age。
根据对上述代码的数据分析,name的长度是3-5。(3为最短字符长“Tim”的长度,5为最长字符串“Helen”的长度。Age的取值范围为12-50,通过分析所有的数据,可以得出每个自地段的范围。数组的length是说明当前数组可以支持的长度,这里选取employee的最大长度3。此时分析过后可以继续填充数据对象表,使得数据对象表更新如表4所示:
表4
id | uri | field | type | length | min | max | Refer | ReferName | isNull |
1 | /user | Name | string | 3 | 5 | ||||
2 | /user | Age | Int | 12 | 50 | ||||
3 | /user | Level | Int | 3 | 9 | ||||
4 | /user | Province | String | 3 | 7 | ||||
5 | /user | Department | Object | ||||||
6 | /user | employee | []string | 3 | 3 | 5 | |||
7 | /user | male | Bool | ||||||
8 | 5 | name | String | 3 | 5 | ||||
9 | 5 | location | String | 2 | 7 | ||||
此时,表4中的数据并不是准确的,还需要后续对关联项类型分析处理方式进行分析。
首先,直接的将获取到的所有的数据对象拉平成只有两个数据字段key,value的形式存储到数据库,其中,Key为对象名称+“#”+字段名称。如果含有子节点,则在原有的基础上在加上“.”+“子字段”。Value就是字段的值。如果value是数组,则将一条数据拆分成多条。这样便于比对。Value如果是对象,则进行二次拆解存储,并将对象本身属性按照字母排序后,格式化成json数据。
例如,通过以下方式拆解user对象:
形成的数据库结构可以为
Key Value
User#name Lily
User#age 24
User#level 2
User#province jiangsu
User#department{"location":"suzhou","name":"dev"}
User#department.name dev
User#department.location suzhou
User#employee Jimmy
User#employee Matin
User#male True
再拆解一个Province对象到表中
当将数据全部整理到表中之后,对value进行分组(数据库的group操作),分组后数据排序可以为以下所示:
Key Value
Lily[User#name]
24[User#age]
2[User#level]
jiangsu[User#province,Province#name]
{"location":"suzhou","name":"dev"}[User#department]
dev[User#department.name]
suzhou[User#department.location]
Jimmy[User#employee]
Matin[User#employee]
True[User#male]
1[Province#id]
此时一个value可能在多个对象字段中,比如上述的“jiangsu”在[User#province,Province#name]同时存在,此时就需要分析一下这两个字段是否有一定的关联性。
关联项类型分析处理方式包括将上述的两个对象中这个字段值进行比对,检测是否出现一个包含另外一个的情况如果出现这种情况,则可以在数据中记录为引用关系,在这个过程中记录的信息可能会出现偶然的相似性,此时需要通过添加数据的方式进行验证。
此时关联项分析过后可以继续填充数据对象表,使得数据对象表更新如表5所示:
表5
具体的,本申请关联项类型分析处理方式还包括数据有效值探测,其中,数据有效值探测是通过数据暴力数据添加的方式确认数据字段的一个有效值或确认当前字段是引用字段。在上述操作方式中确认的数据类型,接下来需要确认一个有效值,针对于integer类型,给定一个默认值0,针对string类型,给定一个一位长的字符串。如果不合法。通过递增的方式进行判断。只要有一个合法的字符串就停止探测。
例如,针对有效数字的探测为:数字先从0开始递增探测,到了65535之后没有合适的数字,则从-1开始逐个递减进行数字探测,成功之后将数据值写入到对象结构表中。
例如,针对有效字符的探测为字符长的探测从一个长度的字符开始,然后逐个增加字符串的长度,设置边界值长度为512,超过512停止探测。这部分主要针对返回值为空的情况进行一次探测,用于补充前面的探测,成功之后将数据值写入到对象结构表中。
具体的,本申请关联项类型分析处理方式还包括数据边界值探测,数据边界探测用来检测当前对象不同字段的边界。如果是字符串,需要探测出它的长度边界,如果是数字,需要探测出它的取值范围,取值范围可以通过二分法的方式进行探测。根据数据类型,从对象结构表中获取合法的数据,然后进行边界探测。边界探测通过倍数增长进行越界探测,再通过二分法搜索探测数据表边界。
例如,一个数字的合法值为0,我们通过初试探测数据为1000,如何还是合法,则继续增加到2000,4000,8000,16000…等到不合法后,再取出上一次的合法值和当前不合法值的平均值进行探测。如果当前值合法(不合法值),再取出当前值与不合法值(或和法值)得中间值进行试探。直到探测到最小数据粒度的和法值与不合法值为止。
再例如,现在有一个数据范围为-100到10000的字段。先从大于0的方向探测边界值,先下发0是合法的,然后下发1000是合法的,然后下发2000是合法的,然后下发0(合法)->1000(合法)->2000(合法)->4000(合法)->8000(合法)->16000(不合法)->(8000+16000)÷2=12000(不合法)->(8000+12000)÷2=10000(合法)->(10000+12000)÷2=11000(不合法)->(10000+11000)÷2=10500(不合法)->(10000+10500)÷2=10250(不合法)->(10000+10250)÷2=10125(不合法)->(10000+10125)÷2=10063(不合法)->(10000+10063)÷2=10032(不合法)->(10000+10032)÷2=10016(不合法)->(10000+10016)÷2=10008(不合法)->(10000+10008)÷2=10004(不合法)->(10000+10004)÷2=10002(不合法)->(10000+10002)÷2=10001(不合法)。
此时获得到的最大合法值(10000)与最小不合法值(10001)之间的差是1(最小测试单位),此时探测出的边界是10000。最小边界值采用相同的方式进行探测。字符串的探测也可以用相同的方式进行探测。探测出的边界值写入到对象结构表中。此时可以继续更新数据表6,表6如下所示:
表6
本申请还研究了字典项探测分析方法,字典项探测主要包含两部分,一部分是固定的数据列表,另外一部分是依赖于其他的对象。这部分探测可以通过异常信息或暴力数据匹配进行验证。
异常信息验证方法为,完整的异常信息中会描述完整的引用关系,比如字段“role”在对象“Role”中不存在。可以根据异常信息提炼出对象之间的引用关系。
如果是不完整的异常信息只能得知到“role”字段需要引用其他的对象信息,此时需要第二步进行确认,也即,通过对逐个对象添加数据测试的数据匹配方法进行验证,即当添加一个数据对象时,添加的数据中通过异常判断一个字段是引用字段时,需要确认引用对象以及属性。此时需要通过遍历添加对象属性,设置引用字段属性值确认对象间的引用关系。
例如,系统中有用户,对象A,对象B,对象C三个对象,其中,对象A包含a:“aaa”,b:“bbb”,c:“ccc”,d:“ddd”,e:“eee”。添加一个用户对象:
此时从捕获的异常信息中可以得出role字段需要引用其他对象中的值,此时取出下一个权限对象进行添加,添加的过程中,每个字段的值要不一样,添加后取出当前添加的对象,根据属性类型匹配(用户对象的role属性是字符串),依次取出权限对象中的属性值填充到用户对象的role字段,如果添加成功,根据属性值可以确认被引用字段,如果添加不成功,继续添加下一个数据对象,然后用同样的方式进行判断。直到可以添加成功,先添加对象A,然后依次取出对象A中的a,b,c,d,e的属性值赋给用户对象的role,用户对象都没有添加成功,然后添加对象B,依次取出对象B的属性值赋给role,当取到属性e时,用户对象添加成功。说明用户的role属性引用对象B的e属性值。此时就找到了对象之间的引用关系,然后把引用关系更新到对象结构表中,验证之后将信息更新到数据结构表7中。
表7
可选地,在本申请实施例提供的数据处理方法中,对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试包括:基于处理后的数据信息确定待配置的目标数据信息;对目标数据信息进行配置,基于配置后得到的数据信息进行测试。
具体的,对数据字段进行增加,删除、修改处理时,系统后台响应处理结果,并返回预设的错误信息,对返回的预设错误信息进行上述步骤的分析处理,将处理后的数据信息作为待配置的目标数据信息(对应图5生成的描述文档),基于该描述文档生成目标配置文件供后续测试使用。
图5是根据本申请实施例提供的数据处理方法的API测试的示意图,如图5所示,基于上述对象存储表1-7,中的数据生成了完整的描述文档,基于描述文档进行数据配置,并根据配置好的数据文件信息进行相应的页面生成或者文档测试用例,其中,完整的描述文档对应于本申请中待配置的目标数据信息,本申请通过对描述文档时实时自动更新,极大的提升了API数据测试过程中测试效率。
综上,本申请实施例提供的数据处理方法,通过基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;基于爬取到的数据,获取系统后台返回的预设的错误信息;对预设的错误信息进行分析处理,得到分析处理后的数据信息;以及对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试,解决了相关技术中对API数据测试过程中效率较低的问题。通过对错误信息进行分析处理,对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试,进而达到了提升对API数据测试过程中效率的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种数据处理装置,需要说明的是,本申请实施例的数据处理装置可以用于执行本申请实施例所提供的用于数据处理方法。以下对本申请实施例提供的数据处理装置进行介绍。
图6是根据本申请实施例的数据处理装置的的示意图。如图6所示,该装置包括:第一获取单元601、第一确定单元602、第一处理单元603、第一处理单元604。
具体的,第一获取单元601,用于基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;
第一确定单元602,用于基于爬取到的数据,获取系统后台返回的预设的错误信息;
第一处理单元603,用于对预设的错误信息进行分析处理,得到分析处理后的数据信息;
以及第一配置单元604,用于对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试。
综上,本申请实施例提供的数据处理装置,通过第一获取单元601基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;第一确定单元602基于爬取到的数据,获取系统后台返回的预设的错误信息;第一处理单元603对预设的错误信息进行分析处理,得到分析处理后的数据信息;以及第一配置单元604对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试。解决了相关技术中对API数据测试过程中效率较低的问题。通过对错误信息进行分析处理,对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试,进而达到了提升对API数据测试过程中效率的效果。
可选地,在本申请实施例提供的数据处理装置中,第一确定单元602包括:第一获取模块,用于对爬取到的数据基于数据中的关联分析进行数据字段的提取,获取提取后的数据字段;第一存储模块,用于将提取后的数据字段存储在对象结构表中,其中,提取后的数据字段至少包括数据字段类型、数据字段范围以及数据字段引用关系;第一处理模块,用于对对象结构表中的数据字段进行处理,得到处理后的数据字段信息中的错误信息;第一确定模块,将处理后的数据字段信息中的错误信息作为系统后台返回的预设的错误信息。
可选地,在本申请实施例提供的数据处理装置中,该装置还包括:第一判断单元,用于对预设的错误信息进行分析处理,得到分析处理后的数据信息之前,判断错误信息中是否包含文档信息;第二判断单元,用于若错误信息中的包含文档信息,判断错误信息中的文档信息是否完整;第一分类单元,用于当错误信息中的文档信息不完整时,基于错误信息的错误编码,对错误信息按照不同的错误编码进行分类;第二分类单元,用于当错误信息中的文档信息完整时,基于错误信息的文档信息对错误信息按照不同的文档信息进行分类。
可选地,在本申请实施例提供的数据处理装置中,第一处理单元603包括:第二处理模块,用于对按照错误编码分类后的错误信息进行分析处理,得到分析处理后的数据信息;第三处理模块,用于对按照文档信息分类后的错误信息进行分析处理,得到分析处理后的数据信息。
可选地,在本申请实施例提供的数据处理装置中,该装置还包括:第三分类单元,用于当错误信息中不包含文档信息时,基于历史错误信息对错误信息进行分类;第三处理单元,用于对按照分类后的错误信息进行分析处理,得到分析处理后的数据信息。
可选地,在本申请实施例提供的数据处理装置中,错误信息的类型至少包括:数据必填项类型、数据值类型、数据取值范围类型、关联项类型。
可选地,在本申请实施例提供的数据处理装置中,对错误信息进行分析处理方式包括以下至少之一:数据必填项类型分析处理方式、数据值类型分析处理方式、数据取值范围类型分析处理方式以及关联项类型分析处理方式。
可选地,在本申请实施例提供的数据处理装置中,第一配置单元604包括:第二确定模块,用于基于处理后的数据信息确定待配置的目标数据信息;第一配置模块,用于对目标数据信息进行配置,基于配置后得到的数据信息进行测试。
数据处理装置包括处理器和存储器,上述的第一获取单元601、第一确定单元602、第一处理单元603、第一处理单元604等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来进行数据处理。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现数据处理方法。
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行数据处理方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;基于爬取到的数据,获取系统后台返回的预设的错误信息;对预设的错误信息进行分析处理,得到分析处理后的数据信息;以及对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试。
处理器执行程序时还实现以下步骤:对爬取到的数据基于数据中的关联分析进行数据字段的提取,获取提取后的数据字段;将提取后的数据字段存储在对象结构表中,其中,提取后的数据字段至少包括数据字段类型、数据字段范围以及数据字段引用关系;对对象结构表中的数据字段进行处理,得到处理后的数据字段信息中的错误信息;将处理后的数据字段信息中的错误信息作为系统后台返回的预设的错误信息。
处理器执行程序时还实现以下步骤:对预设的错误信息进行分析处理,得到分析处理后的数据信息之前,判断错误信息中是否包含文档信息;若错误信息中的包含文档信息,判断错误信息中的文档信息是否完整;当错误信息中的文档信息不完整时,基于错误信息的错误编码,对错误信息按照不同的错误编码进行分类;当错误信息中的文档信息完整时,基于错误信息的文档信息对错误信息按照不同的文档信息进行分类。
处理器执行程序时还实现以下步骤:对按照错误编码分类后的错误信息进行分析处理,得到分析处理后的数据信息;对按照文档信息分类后的错误信息进行分析处理,得到分析处理后的数据信息。
处理器执行程序时还实现以下步骤:该方法还包括:当错误信息中不包含文档信息时,基于历史错误信息对错误信息进行分类;对按照分类后的错误信息进行分析处理,得到分析处理后的数据信息。
处理器执行程序时还实现以下步骤:错误信息的类型至少包括:数据必填项类型、数据值类型、数据取值范围类型、关联项类型。
处理器执行程序时还实现以下步骤:对错误信息进行分析处理方式包括以下至少之一:数据必填项类型分析处理方式、数据值类型分析处理方式、数据取值范围类型分析处理方式以及关联项类型分析处理方式。
处理器执行程序时还实现以下步骤:基于处理后的数据信息确定待配置的目标数据信息;对目标数据信息进行配置,基于配置后得到的数据信息进行测试。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;基于爬取到的数据,获取系统后台返回的预设的错误信息;对预设的错误信息进行分析处理,得到分析处理后的数据信息;以及对处理后的数据信息进行配置,基于配置后得到的数据信息进行测试。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:对爬取到的数据基于数据中的关联分析进行数据字段的提取,获取提取后的数据字段;将提取后的数据字段存储在对象结构表中,其中,提取后的数据字段至少包括数据字段类型、数据字段范围以及数据字段引用关系;对对象结构表中的数据字段进行处理,得到处理后的数据字段信息中的错误信息;将处理后的数据字段信息中的错误信息作为系统后台返回的预设的错误信息。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:对预设的错误信息进行分析处理,得到分析处理后的数据信息之前,判断错误信息中是否包含文档信息;若错误信息中的包含文档信息,判断错误信息中的文档信息是否完整;当错误信息中的文档信息不完整时,基于错误信息的错误编码,对错误信息按照不同的错误编码进行分类;当错误信息中的文档信息完整时,基于错误信息的文档信息对错误信息按照不同的文档信息进行分类。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:对按照错误编码分类后的错误信息进行分析处理,得到分析处理后的数据信息;对按照文档信息分类后的错误信息进行分析处理,得到分析处理后的数据信息。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:该方法还包括:当错误信息中不包含文档信息时,基于历史错误信息对错误信息进行分类;对按照分类后的错误信息进行分析处理,得到分析处理后的数据信息。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:错误信息的类型至少包括:数据必填项类型、数据值类型、数据取值范围类型、关联项类型。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:对错误信息进行分析处理方式包括以下至少之一:数据必填项类型分析处理方式、数据值类型分析处理方式、数据取值范围类型分析处理方式以及关联项类型分析处理方式。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:基于处理后的数据信息确定待配置的目标数据信息;对目标数据信息进行配置,基于配置后得到的数据信息进行测试。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还包含另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;
基于所述爬取到的数据,获取系统后台返回的预设的错误信息;
对所述预设的错误信息进行分析处理,得到分析处理后的数据信息;以及
对所述处理后的数据信息进行配置,基于配置后得到的数据信息进行测试;
其中,判断所述错误信息中是否包含文档信息;
若所述错误信息中的包含文档信息,判断所述错误信息中的所述文档信息是否完整;
当所述错误信息中的所述文档信息不完整时,基于错误信息中的错误编码,对所述错误信息按照不同的错误编码进行分类;
当所述错误信息中的所述文档信息完整时,基于所述错误信息中的文档信息对所述错误信息按照不同的文档信息进行分类。
2.根据权利要求1所述的方法,其特征在于,基于所述爬取到的数据,获取系统后台返回的预设的错误信息基于所述爬取到的数据,获取系统后台返回的预设的错误信息包括:
对所述爬取到的数据基于数据中的关联分析进行数据字段的提取,获取提取后的所述数据字段;
将提取后的所述数据字段存储在对象结构表中,其中,提取后的所述数据字段包括数据字段类型、数据字段范围以及数据字段引用关系;
对所述对象结构表中的所述数据字段进行处理,得到处理后的数据字段信息中的错误信息;
将所述处理后的数据字段信息中的错误信息作为系统后台返回的预设的错误信息。
3.根据权利要求1所述的方法,其特征在于,对所述预设的错误信息进行分析处理,得到分析处理后的数据信息包括:
对所述按照错误编码分类后的错误信息进行分析处理,得到分析处理后的数据信息;
对所述按照文档信息分类后的错误信息进行分析处理,得到分析处理后的数据信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述错误信息中不包含文档信息时,基于历史错误信息对所述错误信息进行分类;
对所述按照分类后的错误信息进行分析处理,得到分析处理后的数据信息。
5.根据权利要求1所述的方法,其特征在于,所述错误信息的类型包括:数据必填项类型、数据值类型、数据取值范围类型和关联项类型。
6.根据权利要求1所述的方法,其特征在于,对所述错误信息进行分析处理方式包括以下至少之一:数据必填项类型分析处理方式、数据值类型分析处理方式、数据取值范围类型分析处理方式以及关联项类型分析处理方式。
7.根据权利要求1所述的方法,其特征在于,对所述处理后的数据信息进行配置,基于所述配置后得到的数据信息进行测试包括:
基于所述处理后的数据信息确定待配置的目标数据信息;
对所述目标数据信息进行配置,基于配置后得到的数据信息进行测试。
8.一种数据处理装置,其特征在于,包括:
第一获取单元,用于基于网页的统一资源标识符对网页的API进行数据爬取,获取爬取到的数据;
第一确定单元,用于基于所述爬取到的数据,获取系统后台返回的预设的错误信息;
第一处理单元,用于对所述预设的错误信息进行分析处理,得到分析处理后的数据信息;以及
第一配置单元,用于对所述处理后的数据信息进行配置,基于配置后得到的数据信息进行测试;
其中,所述装置还包括:
第一判断单元,用于对预设的错误信息进行分析处理,得到分析处理后的数据信息之前,判断错误信息中是否包含文档信息;
第二判断单元,用于若错误信息中的包含文档信息,判断错误信息中的文档信息是否完整;
第一分类单元,用于当错误信息中的文档信息不完整时,基于错误信息的错误编码,对错误信息按照不同的错误编码进行分类;
第二分类单元,用于当错误信息中的文档信息完整时,基于错误信息的文档信息对错误信息按照不同的文档信息进行分类。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110542615.7A CN113138936B (zh) | 2021-05-18 | 2021-05-18 | 数据处理方法、装置、存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110542615.7A CN113138936B (zh) | 2021-05-18 | 2021-05-18 | 数据处理方法、装置、存储介质及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113138936A CN113138936A (zh) | 2021-07-20 |
CN113138936B true CN113138936B (zh) | 2022-09-09 |
Family
ID=76817283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110542615.7A Active CN113138936B (zh) | 2021-05-18 | 2021-05-18 | 数据处理方法、装置、存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113138936B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049271A (zh) * | 2012-12-27 | 2013-04-17 | 微梦创科网络科技(中国)有限公司 | 自动生成api接口的描述文档的方法和装置 |
CN106815138A (zh) * | 2015-12-01 | 2017-06-09 | 北京奇虎科技有限公司 | 一种生成接口测试用例的方法和装置 |
-
2021
- 2021-05-18 CN CN202110542615.7A patent/CN113138936B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049271A (zh) * | 2012-12-27 | 2013-04-17 | 微梦创科网络科技(中国)有限公司 | 自动生成api接口的描述文档的方法和装置 |
CN106815138A (zh) * | 2015-12-01 | 2017-06-09 | 北京奇虎科技有限公司 | 一种生成接口测试用例的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113138936A (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9390176B2 (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
TW202029079A (zh) | 異常群體識別方法及裝置 | |
JP2019502979A (ja) | 構造化されたマルチフィールドファイルのレイアウトの自動解釈 | |
US8904352B2 (en) | Systems and methods for processing source code during debugging operations | |
CN105630656B (zh) | 基于日志模型的系统健壮性分析方法及装置 | |
CN110674360B (zh) | 一种用于数据的溯源方法和系统 | |
CN112463774B (zh) | 文本数据的去重方法、设备及存储介质 | |
CN106709336A (zh) | 识别恶意软件的方法和装置 | |
CN115827895A (zh) | 一种漏洞知识图谱处理方法、装置、设备及介质 | |
CN105550169A (zh) | 一种基于字符长度识别兴趣点名称的方法和装置 | |
US11836331B2 (en) | Mathematical models of graphical user interfaces | |
CN111562920A (zh) | 小程序代码相似度确定方法、装置、服务器及存储介质 | |
US10782942B1 (en) | Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation | |
CN115658080A (zh) | 一种软件开源代码成分的识别方法及系统 | |
Bogatu et al. | Towards automatic data format transformations: data wrangling at scale | |
US20170220665A1 (en) | Systems and methods for merging electronic data collections | |
WO2016093839A1 (en) | Structuring of semi-structured log messages | |
CN114398315A (zh) | 一种数据存储方法、系统、存储介质及电子设备 | |
CN117093556A (zh) | 日志分类方法、装置、计算机设备及计算机可读存储介质 | |
CN107463578B (zh) | 应用下载量统计数据去重方法、装置和终端设备 | |
CN113138936B (zh) | 数据处理方法、装置、存储介质及处理器 | |
CN110765100B (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
US20220374914A1 (en) | Regulatory obligation identifier | |
Gkotsis et al. | Entropy-based automated wrapper generation for weblog data extraction | |
Perdek et al. | Matrix Based Approach to Structural and Semantic Analysis Supporting Software Product Line Evolution |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |