CN112506807B - 服务于多***的接口自动化测试*** - Google Patents
服务于多***的接口自动化测试*** Download PDFInfo
- Publication number
- CN112506807B CN112506807B CN202110165898.8A CN202110165898A CN112506807B CN 112506807 B CN112506807 B CN 112506807B CN 202110165898 A CN202110165898 A CN 202110165898A CN 112506807 B CN112506807 B CN 112506807B
- Authority
- CN
- China
- Prior art keywords
- module
- test
- data
- test case
- execution
- 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.)
- Expired - Fee Related
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 296
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000007726 management method Methods 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims abstract description 15
- 238000013524 data verification Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 9
- 244000046052 Phaseolus vulgaris Species 0.000 description 9
- 239000000047 product Substances 0.000 description 9
- 238000010998 test method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000001960 triggered effect Effects 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
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)
Abstract
本发明公开了一种服务于多***的接口自动化测试***,本测试***包括多API请求响应模块、数据格式转换模块、前置数据生成模块、数据查询与操作模块、数据验证模块、执行日志记录模块、测试用例模块、代码管理模块、搜索指定条件执行任务模块、编译模块、日志解析入库模块、定时执行任务模块和平台日志报表展示模块。本***通过定时执行测试用例,完成对众多后端***服务的自动化接口测试及回归测试的需求,整个执行过程从用例执行到报表生成自动完成,极大减少了测试人员的重复劳动,同时数据的反馈变得更加及时,提高测试工作的整体效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务于多***的接口自动化测试***。
背景技术
随着网络业务规模的扩大,需要越来越多的***进行技术支撑,使得后端***变得繁多复杂,一旦发送程序变更,需要花费大量人力进行测试工作,用于验证程序变更是否对当前***产生影响。为了能更好的对众多后端***服务进行测试工作,需要一个能够批量自动执行接口测试工作的平台,该平台需要能够完成针对大量后台服务的接口测试和回归测试;需要一个方便查看、分析测试结果的方案;能够管理、统计测试工作;统一的技术方案,整个团队多***公用;满足现有测试环境等现状的要求。
发明内容
本发明所要解决的技术问题是提供一种服务于多***的接口自动化测试***,所述***通过定时执行测试用例,完成对众多后端***服务的自动化接口测试及回归测试的需求,整个执行过程从用例执行到报表生成自动完成,极大减少了测试人员的重复劳动,同时数据的反馈变得更加及时,提高测试工作的整体效率。
为解决上述技术问题,本发明服务于多***的接口自动化测试***包括多***API请求响应模块、数据格式转换模块、前置数据生成模块、数据查询与操作模块、数据验证模块、执行日志记录模块、测试用例模块、代码管理模块、搜索指定条件执行任务模块、编译模块、日志解析入库模块、定时执行任务模块和平台日志报表展示模块;
所述多***API请求响应模块通过发送HTTP报文调用网络请求,获取被测接口的返回数据,该模块包括发送数据结构、返回数据结构和调用接口,发送数据结构和返回数据结构定义了数据字段和类型,调用接口定义了接口地址URL、调用方法、数据格式化方式和请求头信息;
所述数据格式转换模块用于将发送数据结构转换成指定字符串或者字符串转换成指定返回数据结构;
所述数据查询与操作模块用于查询和操作数据库中的数据,通过调用数据库查询操作组件返回数据结果集,用于验证测试数据的正确性;
所述前置数据生成模块通过调用所述多***API请求响应模块和所述数据查询与操作模块的预封装业务功能,制作测试所需的前置数据;
所述数据验证模块使用程序断言自动对比预期结果和实际返回数据内容是否匹配;
所述执行日志记录模块将前置数据生成模块的前置数据、多***API请求响应模块的发送请求和返回响应数据、数据验证模块的对比结果自动记录为xml格式并保存为日志文件;
所述测试用例模块使用注解和包名标记测试用例属性,用于区分不同***和不同条件的测试用例,通过编写测试模块脚本程序实现:准备前置数据、给被测试***发送请求获取返回报文、查询数据库验证返回结果是否正确、记录用例日志;
所述代码管理模块通过代码管理工具统一上传、维护、管理代码;
所述搜索指定条件执行任务模块通过指定条件搜索测试用例模块中使用的注解和类名标记的测试属性,查找出符合指定条件的测试用例,并执行该测试用例;
所述编译模块通过脚本完成指定代码的编译工作,并使用指定条件调用所述搜索指定条件执行任务模块所执行的测试用例;
所述日志解析入库模块通过解析所述执行日志记录模块记录的xml日志文件,获取测试用例的执行数据并保存到数据库;
所述定时执行任务模块通过设置定时任务的方式,调用所述代码管理模块并下载测试用例模块脚本程序,调用编译模块进行测试用例模块脚本程序编译,然后分发产物到执行服务器;
所述平台日志报表展示模块读取数据库中存入的测试用例的执行数据,并将执行数据处理后展示到页面上。
进一步,所述多***API请求响应模块在发送请求前,调用接口根据不同的数据格式化方式自动转换对应的发送数据格式,然后加载请求头信息,使用对应的接口地址和调用方法发送请求内容并获取返回结果;所述接口地址URL分为域名定义和路径定义,其中域名定义是由从配置文件读取出的域名决定,路径定义是由接口声明类自行定义;所述数据格式化方式支持多种格式化自动转换方式。
进一步,所述测试用例模块的测试用例包名使用特定规则,通过包名可以反向查寻对应的测试用例;测试用例包含自定义注解标记,可以用自定义注解标记测试用例属性。
进一步,所述搜索指定条件执行任务模块通过测试用例的注解和包名标记搜索指定条件的测试用例,搜索功能根据传入的所需测试的站点名查询对应包名下的所有可执行测试用例,并根据传入的搜索条件,使用注解过滤出最终执行的测试用例列表,然后执行测试用例。
进一步,所述日志解析入库模块保存测试用例执行数据的数据库由测试用例执行计划、测试套件、测试用例、测试套件执行结果、测试用例执行结果、详细执行记录组成;使用xml解析工具解析日志文件格式,获取测试接口名、测试接口描述、测试用例名、测试用例描述、测试用例执行时间以及多***API请求响应模块自动记录的输入输出信息、测试用例程序断言判断是否成功信息;当测试用例信息未记录在测试套件和测试用例表时,***该测试用例到测试套件和测试用例表,创建测试用例执行计划,保存测试套件执行结果、测试用例执行结果、详细执行记录和程序断言是否成功记录。
进一步,所述平台日志报表展示模块通过数据库查询测试用例执行计划、测试套件、测试用例、测试套件执行结果、测试用例执行结果、详细执行记录,获得已经入库的测试用例的测试结果数据,并将测试结果数据处理后展示到查询列表页面。
由于本发明服务于多***的接口自动化测试***采用了上述技术方案,即本测试***包括多***API请求响应模块、数据格式转换模块、前置数据生成模块、数据查询与操作模块、数据验证模块、执行日志记录模块、测试用例模块、代码管理模块、搜索指定条件执行任务模块、编译模块、日志解析入库模块、定时执行任务模块和平台日志报表展示模块。所述***通过定时执行测试用例,完成对众多后端***服务的自动化接口测试及回归测试的需求,整个执行过程从用例执行到报表生成自动完成,极大减少了测试人员的重复劳动,同时数据的反馈变得更加及时,提高测试工作的整体效率。
附图说明
下面结合附图和实施方式对本发明作进一步的详细说明:
图1为本发明服务于多***的接口自动化测试***的原理框图;
图2为本测试***的整体架构示意图;
图3为本测试***的测试用例执行与报表生成原理框图。
具体实施方式
实施例如图1所示,本发明服务于多***的接口自动化测试***包括多***API请求响应模块、数据格式转换模块、前置数据生成模块、数据查询与操作模块、数据验证模块、执行日志记录模块、测试用例模块、代码管理模块、搜索指定条件执行任务模块、编译模块、日志解析入库模块、定时执行任务模块和平台日志报表展示模块;
所述多***API请求响应模块通过发送HTTP报文调用网络请求,获取被测接口的返回数据,该模块包括发送数据结构、返回数据结构和调用接口,发送数据结构和返回数据结构定义了数据字段和类型,调用接口定义了接口地址URL、调用方法、数据格式化方式和请求头信息;
所述数据格式转换模块用于将发送数据结构转换成指定字符串或者字符串转换成指定返回数据结构;
所述数据查询与操作模块用于查询和操作数据库中的数据,通过调用数据库查询操作组件返回数据结果集,用于验证测试数据的正确性;
所述前置数据生成模块通过调用所述多***API请求响应模块和所述数据查询与操作模块的预封装业务功能,制作测试所需的前置数据;
所述数据验证模块使用程序断言自动对比预期结果和实际返回数据内容是否匹配;程序断言包括断言相等、断言不相等、断言为空、断言不为空、断言包含的5种具体形式,在断言完时调用执行日志记录模块记录断言结果;
所述执行日志记录模块将前置数据生成模块的前置数据、多***API请求响应模块的发送请求和返回响应数据、数据验证模块的对比结果自动记录为xml格式并保存为日志文件;
所述测试用例模块使用注解和包名标记测试用例属性,用于区分不同***和不同条件的测试用例,通过编写测试模块脚本程序实现:准备前置数据、给被测试***发送请求获取返回报文、查询数据库验证返回结果是否正确、记录用例日志;
所述代码管理模块通过代码管理工具统一上传、维护、管理代码;
所述搜索指定条件执行任务模块通过指定条件搜索测试用例模块中使用的注解和类名标记的测试属性,查找出符合指定条件的测试用例,并执行该测试用例;
所述编译模块通过脚本完成指定代码的编译工作,并使用指定条件调用所述搜索指定条件执行任务模块所执行的测试用例;
所述日志解析入库模块通过解析所述执行日志记录模块记录的xml日志文件,获取测试用例的执行数据并保存到数据库;
所述定时执行任务模块通过设置定时任务的方式,调用所述代码管理模块并下载测试用例模块脚本程序,调用编译模块进行测试用例模块脚本程序编译,然后分发产物到执行服务器;
所述平台日志报表展示模块读取数据库中存入的测试用例的执行数据,并将执行数据处理后展示到页面上。
优选的,所述多***API请求响应模块在发送请求前,调用接口根据不同的数据格式化方式自动转换对应的发送数据格式,然后加载请求头信息,使用对应的接口地址和调用方法发送请求内容并获取返回结果;所述接口地址URL分为域名定义和路径定义,其中域名定义是由从配置文件读取出的域名决定,路径定义是由接口声明类自行定义;所述数据格式化方式自动转换支持多种格式化方式,包括PARAM、JSON和String,其中,PARAM调用数据格式转换模块将发送数据结构自动转换成:参数名一=参数值一&参数名二=参数值二的格式,同时支持最终结果是否自动做urlEncode和自动做大小写转换格式处理;JSON则会解析发送数据结构自动转换成JSON结构;String则把传入数据原样放入发送报文不处理。调用方法支持GET、POST、DELETE、PUT、FILE等方法,其中FILE方法会把返回结果以文件流形式保存在本地硬盘。请求头信息可以给请求指定头部内容,支持是否覆盖已存在的头内容功能。
优选的,所述测试用例模块的测试用例包名使用特定规则,通过包名可以反向查寻对应的测试用例;测试用例包含自定义注解标记,可以用自定义注解标记测试用例属性。其中,特定包名规则是指所属***域名的反向字符串,例如码头用户服务的域名为userservice.iapi.ymatou.com,则该***的包名定义为com.ymatou.iapi.userservice。
优选的,所述搜索指定条件执行任务模块通过测试用例的注解和包名标记搜索指定条件的测试用例,搜索功能根据传入的所需测试的站点名查询对应包名下的所有可执行测试用例,并根据传入的搜索条件,使用注解过滤出最终执行的测试用例列表,然后执行测试用例。
其中,搜索功能根据传入***名以及包名规则,解析出该***的测试用例所在的目录,例如码头用户服务的域名为userservice.iapi.ymatou.com,则该***的用例在com.ymatou.iapi.userservice目录下;获取到用例所在目录后,遍历出该目录对应的编译生成产物下全部文件并判断是否是类文件,然后通过反射获取该所有类文件的方法名和注解;根据注解判断该方法是否是一个测试用例并符合传入搜索条件,过滤出匹配的测试用例把类名和方法名加入待测试队列;获得所有待测试队列后加入执行测试任务线程池,依次执行测试用例。
优选的,所述日志解析入库模块保存测试用例执行数据的数据库由测试用例执行计划、测试套件、测试用例、测试套件执行结果、测试用例执行结果、详细执行记录组成;使用xml解析工具解析日志文件格式,获取测试接口名、测试接口描述、测试用例名、测试用例描述、测试用例执行时间以及多***API请求响应模块自动记录的输入输出信息、测试用例程序断言判断是否成功信息;当测试用例信息未记录在测试套件和测试用例表时,***该测试用例到测试套件和测试用例表,创建测试用例执行计划,保存测试套件执行结果、测试用例执行结果、详细执行记录和程序断言是否成功记录。
优选的,所述平台日志报表展示模块通过数据库查询测试用例执行计划、测试套件、测试用例、测试套件执行结果、测试用例执行结果、详细执行记录,获得已经入库的测试用例的测试结果数据,并将测试结果数据处理后展示到查询列表页面。其中,查询列表页面首页为测试用例执行计划列表,查看测试用例执行计划信息和当前计划成功、失败的测试用例数,点击进入二级页面查看测试套件执行结果;测试套件执行结果展示页可以看到当前测试套件执行成功、失败数,点击后进入三级页面查看测试用例执行结果;测试用例执行接口页可以看到具体用例执行成功或失败,点击后进入详细执行记录页;详细执行记录页展示详细执行日志信息和程序断言成功失败记录,以及查看具体成功失败断言内容。
另外,本测试***中,数据格式转换模块用于把数据结构转换成指定字符串或者字符串转换成指定数据结构包括Bean转表单格式、表单格式转Bean、Bean转JSON格式以及JSON格式转Bean。Bean转表单格式通过遍历Bean信息,使用反射机制取出Bean结构的键和值数据并转换成:参数名一=参数值一&参数名二=参数值二的表单格式;表单格式转Bean通过正则表达式解析提取键和值并使用反射机制把值赋到对应Bean;Bean转JSON格式和JSON转Bean格式通过使用第三方组件GSON实现发送数据结构和JSON结构的格式化转换。
所述数据查询与操作模块封装多种数据库驱动,得以实现多种数据库类型的数据查询与操作。使用前需预先编写通用增删改查语句,通过传入条件,完成对应数据的增删改查工作。
所述编译模块通过ant配置,实现清理旧产物、设置代码编译方式、源码路径,并指定最终产物输出路径、内容与格式,随后执行配置完成编译过程。
所述定时执行任务模块使用指定条件调用搜索指定条件执行任务模块执行测试任务,随后调用日志解析入库模块把执行结果存入数据库。创建一个以被测试***名字命名的定时任务,并配置定时触发器定时调用代码管理模块下载代码,然后调用编译模块完成代码编译,完成编译后分发产物到执行服务器,根据任务名和前置参数发送条件调用搜索指定条件执行任务模块执行测试任务,完成后调用日志解析入库模块将执行结果存入数据库。
如图2所示,本测试***中若干测试开发通过代码管理组件上传代码到代码管理服务器;定时执行任务模块拉取代码并经编译服务器编译产物,然后推送产物到执行服务器;执行服务器运行测试程序后解析日志文件并写入结果到数据库;数据展示服务器读取数据库数据并发布站点提供给互联网用户查看报表。
如图3所示,本测试***的任务执行流程包括以下步骤:
S1,测试开发人员在本地编写好测试用例脚本程序,上传到代码服务器。测试用例包含前置数据生成模块,多***API请求响应模块,数据查询与操作模块,数据验证模块验证结果是否正确并调用执行日志记录模块记录下执行日志。测试用例所在的包名使用特定规则,可以通过包名来反向查寻对应测试***的用例。测试用例方法包含自定义注解标记,可以用自定义注解来标记用例属性。其中特定包名规则是指所属***域名的反向字符串。例如:当前要测试一个码头用户服务的绑定用户手机号的接口,接口地址为http://userservice.iapi.ymatou.com/bindMobile,数据格式为json,参数包含userid和mobile,则需要:一、创建一个包名为com.ymatou.iapi.userservice的目录,把后续创建的数据结构,接口调用和测试用例都保存在该目录下;二、创建一个名为BindMobileBean的数据结果并声明字段userid和mobile;三、创建一个名为BindMobileCall的调用接口并声明其url为userservice.iapi.ymatou.com,路径为bindMobile,方法为POST,数据结构为JSON;四、创建一个名为BindMobileTest的测试套件,并编写一个测试方法BindMobileTestCase1绑定手机成功;测试套件需要使用日志声明套件的描述和标识;测试方法需要加上注解声明自己是个P1优先级别测试用例,测试方法需要声明测试方法的描述;五、调用前置条件创建一个用户返回userid,然后把userid和自定义的mobile设置到BindMobileBean,再把BindMobileBean传入BindMobileCall,BindMobileCall会自动转换参数成json字符串发送并返回报文结果,此时调用数据查询与操作模块查询出数据库中的mobile字段,把数据库查询结果和传入mobile字段使用数据验证模块验证是否一致。
S2,定时任务会根据crontab自动按时调用任务,触发的时候会去代码服务器拉取最新代码,然后调用ant脚本进行编译。
S3,编译完成后把产物包下所有文件使用sftp远程传输到执行服务器指定目录上,使用ssh带上参数域名和优先级启动任务。执行完成后会解析相对路径下的日志文件。例如:传入参数域名userservice.iapi.ymatou.com,优先级P1,会扫描产物目录com.ymatou.iapi.userservice下的所有文件并获取到用例的类、方法和注解的信息,然后检索出所有测试方法并检查是否有注解P1;检索出所有用例后调用执行方法运行这些用例,用例执行完成后会获得一个xml日志文件,该文件记录下了请求响应模块的发送返回请求、结果验证模块的对比结果和自定义日志;随后解析这些文件,获得需要***数据库的结果集。
S4,判断获取到的测试用例日志是否是第一次***数据库,如果以前有则跳到S5,如果以前没有执行过,需要先初始化测试套件和测试用例表;读出站点对应的测试套件名称和描述***测试套件表,读出测试套件对应的测试用例的描述信息***测试用例表;测试套件和测试用例通过测试套件id关联;例如:绑定手机用例是新测试用例,会在测试套件表记录下一个新生成的测试套件id为1,测试套件名BindMobileTest,测试套件描述绑定手机,测试套件所属***userservice.iapi.ymatou.com,在测试用例表记录下一个新生成的测试用例id为2,测试用例名BindMobileTestCase1,测试用例描述绑定手机成功,测试用例所属套件id为1。
S5,写入测试结果到数据库所做的操作为:***一条用例执行计划用来描述当前计划执行了哪个***的;***测试套件执行结果用来描述测试套执行情况;***测试用例执行结果用来描述测试用例执行情况;***详细执行日志信息描述具体报文、程序断言和自定义记录日志信息。例如:1. 用例执行计划新增一个passid为1的记录;2. ***测试套件执行结果testsuitid为1,passid作为关联字段;3. ***测试用例执行结果testcaseid,testsuitid作为关联字段;4. ***详细执行记录testcaseid作为关联字段,如果当前***记录中有发现写验证点标记失败的记录,更新测试用例执行结为失败状态;5. ***数据完成后统计测试用例失败情况,然后更新测试套件执行结果的成功数和失败数;6. 测试套件执行结果成功数和失败数更新完成后,更新用例执行计划的用例总成功数和失败数。
S6,用户通过平台日志报表展示模块查看测试报告,通过数据库查询表,用例执行计划,测试套件,测试用例,测试套件执行结果,测试用例执行结果,详细执行记录,获得已经入库的测试结果数据,然后处理数据展示到查询列表页。展示页首页为用例执行计划列表,查看用例执行计划信息和当前计划成功失败用例数,点击进入二级页面查看测试套件执行结果;测试套件执行结果展示页可以看到当前测试套件执行成功失败数,点击后进入三级页面查看测试用例执行结果;测试用例执行接口页可以看到具体用例执行成功或失败,点击后进入详细执行记录页;详细执行记录页展示详细执行日志信息和程序断言成功失败记录,查看具体成功失败断言内容。
本测试***通过定时执行测试用例,完成对众多后端服务的自动化接口测试及回归测试的需求,整个执行过程从用例执行到报表生成自动完成,极大减少了测试人员的重复劳动;通过查询历史报表也可以帮助开发和测试根据历史日志还原问题现场,查找定位问题,提高测试工作的整体效率。
Claims (6)
1.一种服务于多***的接口自动化测试***,其特征在于:所述***包括多***API请求响应模块、数据格式转换模块、前置数据生成模块、数据查询与操作模块、数据验证模块、执行日志记录模块、测试用例模块、代码管理模块、搜索指定条件执行任务模块、编译模块、日志解析入库模块、定时执行任务模块和平台日志报表展示模块;
所述多***API请求响应模块通过发送HTTP报文调用网络请求,获取被测接口的返回数据,该模块包括发送数据结构、返回数据结构和调用接口,发送数据结构和返回数据结构定义了数据字段和类型,调用接口定义了接口地址URL、调用方法、数据格式化方式和请求头信息;
所述数据格式转换模块用于将发送数据结构转换成指定字符串或者字符串转换成指定返回数据结构;
所述数据查询与操作模块用于查询和操作数据库中的数据,通过调用数据库查询操作组件返回数据结果集,用于验证测试数据的正确性;
所述前置数据生成模块通过调用所述多***API请求响应模块和所述数据查询与操作模块的预封装业务功能,制作测试所需的前置数据;
所述数据验证模块使用程序断言自动对比预期结果和实际返回数据内容是否匹配;
所述执行日志记录模块将前置数据生成模块的前置数据、多***API请求响应模块的发送请求和返回响应数据、数据验证模块的对比结果自动记录为xml格式并保存为日志文件;
所述测试用例模块使用注解和包名标记测试用例属性,用于区分不同***和不同条件的测试用例,通过编写测试模块脚本程序实现:准备前置数据、给被测试***发送请求获取返回报文、查询数据库验证返回结果是否正确、记录用例日志;
所述代码管理模块通过代码管理工具统一上传、维护、管理测试用例模块脚本程序;
所述搜索指定条件执行任务模块通过指定条件搜索测试用例模块中使用的注解和类名标记的测试属性,查找出符合指定条件的测试用例,并执行该测试用例;
所述编译模块通过脚本完成指定测试用例模块脚本程序的编译工作,并使用指定条件调用所述搜索指定条件执行任务模块所执行的测试用例;
所述日志解析入库模块通过解析所述执行日志记录模块记录的xml日志文件,获取测试用例的执行数据并保存到数据库;
所述定时执行任务模块通过设置定时任务的方式,调用所述代码管理模块并下载测试用例模块脚本程序,调用编译模块进行测试用例模块脚本程序编译,然后分发产物到执行服务器;
所述平台日志报表展示模块读取数据库中存入的测试用例的执行数据,并将执行数据处理后展示到页面上。
2.根据权利要求1所述的服务于多***的接口自动化测试***,其特征在于:所述多***API请求响应模块在发送请求前,调用接口根据不同的数据格式化方式自动转换对应的发送数据格式,然后加载请求头信息,使用对应的接口地址和调用方法发送请求内容并获取返回结果;所述接口地址URL分为域名定义和路径定义,其中域名定义是由从配置文件读取出的域名决定,路径定义是由接口声明类自行定义;所述数据格式化方式支持多种格式化自动转换方式。
3.根据权利要求1所述的服务于多***的接口自动化测试***,其特征在于:所述测试用例模块的测试用例包名使用特定规则,通过包名可以反向查寻对应的测试用例;测试用例包含自定义注解标记,可以用自定义注解标记测试用例属性。
4.根据权利要求1所述的服务于多***的接口自动化测试***,其特征在于:所述搜索指定条件执行任务模块通过测试用例的注解和包名标记搜索指定条件的测试用例,搜索功能根据传入的所需测试的站点名查询对应包名下的所有可执行测试用例,并根据传入的搜索条件,使用注解过滤出最终执行的测试用例列表,然后执行测试用例。
5.根据权利要求1所述的服务于多***的接口自动化测试***,其特征在于:所述日志解析入库模块保存测试用例执行数据的数据库由测试用例执行计划、测试套件、测试用例、测试套件执行结果、测试用例执行结果、详细执行记录组成;使用xml解析工具解析日志文件格式,获取测试接口名、测试接口描述、测试用例名、测试用例描述、测试用例执行时间以及多***API请求响应模块自动记录的输入输出信息、测试用例程序断言判断是否成功信息;当测试用例信息未记录在测试套件和测试用例表时,***该测试用例到测试套件和测试用例表,创建测试用例执行计划,保存测试套件执行结果、测试用例执行结果、详细执行记录和程序断言是否成功记录。
6.根据权利要求5所述的服务于多***的接口自动化测试***,其特征在于:所述平台日志报表展示模块通过数据库查询测试用例执行计划、测试套件、测试用例、测试套件执行结果、测试用例执行结果、详细执行记录,获得已经入库的测试用例的测试结果数据,并将测试结果数据处理后展示到查询列表页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110165898.8A CN112506807B (zh) | 2021-02-07 | 2021-02-07 | 服务于多***的接口自动化测试*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110165898.8A CN112506807B (zh) | 2021-02-07 | 2021-02-07 | 服务于多***的接口自动化测试*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506807A CN112506807A (zh) | 2021-03-16 |
CN112506807B true CN112506807B (zh) | 2021-05-11 |
Family
ID=74952737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110165898.8A Expired - Fee Related CN112506807B (zh) | 2021-02-07 | 2021-02-07 | 服务于多***的接口自动化测试*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506807B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438126B (zh) * | 2021-06-17 | 2022-05-10 | 中国科学院计算机网络信息中心 | 一种应用于区块链域名***的分布式在线测试*** |
CN113434404B (zh) * | 2021-06-24 | 2024-03-19 | 北京同创永益科技发展有限公司 | 校验灾备***可靠性的自动化业务验证方法及装置 |
CN113852610B (zh) * | 2021-09-06 | 2024-03-05 | 招银云创信息技术有限公司 | 报文处理方法、装置、计算机设备和存储介质 |
CN114546858B (zh) * | 2022-02-23 | 2024-04-30 | 霖久智慧(广东)科技有限公司 | 基于物业行业的接口自动化测试平台 |
CN114880239B (zh) * | 2022-05-31 | 2024-05-24 | 成都秦川物联网科技股份有限公司 | 一种基于数据驱动的接口自动化测试框架及方法 |
CN115118792A (zh) * | 2022-06-27 | 2022-09-27 | 中国银行股份有限公司 | 报文接口格式转换方法、装置和*** |
CN115827480B (zh) * | 2022-12-20 | 2023-05-12 | 中船重工奥蓝托无锡软件技术有限公司 | 用于船舶性能预报app的自动化测试方法、装置及*** |
CN116594912A (zh) * | 2023-07-14 | 2023-08-15 | 中航金网(北京)电子商务有限公司 | 服务器的数据测试方法、装置、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373469B (zh) * | 2014-08-25 | 2018-09-04 | 广东金赋科技股份有限公司 | 一种基于接口的软件自动化测试***和方法 |
CN109298997A (zh) * | 2018-08-08 | 2019-02-01 | 平安科技(深圳)有限公司 | 接口测试方法、***、计算机设备和存储介质 |
CN111679982A (zh) * | 2020-06-08 | 2020-09-18 | 广东赛百威信息科技有限公司 | 一种rest api接口软件自动化测试方法 |
CN112069064B (zh) * | 2020-08-31 | 2024-02-02 | 北京首汽智行科技有限公司 | 一种短信服务商api接口测试方法 |
-
2021
- 2021-02-07 CN CN202110165898.8A patent/CN112506807B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN112506807A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112506807B (zh) | 服务于多***的接口自动化测试*** | |
US11379348B2 (en) | System and method for performing automated API tests | |
CN107908541B (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
US5903897A (en) | Software documentation release control system | |
CN107665171B (zh) | 自动回归测试方法及装置 | |
US5960196A (en) | Software release metric reporting system and method | |
US7676816B2 (en) | Systems and methods for integrating services | |
CN109474488A (zh) | 接口测试方法、装置及计算机设备 | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理*** | |
US8930772B2 (en) | Method and system for implementing a test automation results importer | |
CN110334326B (zh) | 一种识别配方文件并转化为xml文件的方法及*** | |
CN101866315B (zh) | 软件开发工具的测试方法及*** | |
CN107003931B (zh) | 将测试验证从测试执行分离 | |
US11436133B2 (en) | Comparable user interface object identifications | |
CN113515297B (zh) | 一种版本更新方法、装置、电子设备及存储介质 | |
CN112306855A (zh) | 接口自动化测试方法、装置、终端和存储介质 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN111240981A (zh) | 一种接口测试方法、***及平台 | |
CN115203306A (zh) | 数据导出方法、装置、计算机设备及可读存储介质 | |
CN113050925B (zh) | 区块链智能合约修复方法及装置 | |
CN110674024A (zh) | 电子设备集成测试***及其方法 | |
CN114490892A (zh) | 一种基于datax的数据传输方法和装置 | |
CN114328144A (zh) | 用户操作数据采集方法、处理方法及设备 | |
CN113138926B (zh) | 一种网络服务接口评测方法和装置 | |
CN116594917B (zh) | Ui测试方法和装置、电子设备及机器可读存储介质 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210511 |
|
CF01 | Termination of patent right due to non-payment of annual fee |