CN106095673B - 基于web接口的自动化测试方法及系统 - Google Patents

基于web接口的自动化测试方法及系统 Download PDF

Info

Publication number
CN106095673B
CN106095673B CN201610398669.XA CN201610398669A CN106095673B CN 106095673 B CN106095673 B CN 106095673B CN 201610398669 A CN201610398669 A CN 201610398669A CN 106095673 B CN106095673 B CN 106095673B
Authority
CN
China
Prior art keywords
test
case
data
result
tested
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
Application number
CN201610398669.XA
Other languages
English (en)
Other versions
CN106095673A (zh
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.)
Shenzhen Mopon Information System Co Ltd
Original Assignee
Shenzhen Mopon Information System 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 Shenzhen Mopon Information System Co Ltd filed Critical Shenzhen Mopon Information System Co Ltd
Priority to CN201610398669.XA priority Critical patent/CN106095673B/zh
Publication of CN106095673A publication Critical patent/CN106095673A/zh
Application granted granted Critical
Publication of CN106095673B publication Critical patent/CN106095673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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

本发明公开了一种基于WEB接口的自动化测试方法及系统,该方法包括:服务器根据接收到的用户发起的执行测试请求,从数据库中提取符合条件的测试用例数据,并生成测试任务,调用测试执行器执行测试,在解析测试结果后,生成测试报告。采用本发明实施例,测试人员无需掌握编码技术,也能实现各项目WEB接口的自动化测试设计、执行和管理。

Description

基于WEB接口的自动化测试方法及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于WEB接口的自动化测试方法及系统。
背景技术
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。自动化测试与软件开发过程从本质上来讲是一样的,无非是利用自动化测试工具(相当于软件开发工具),经过对测试需求的分析(软件过程中的需求分析),设计出自动化测试用例(软件过程中的需求规格),从而搭建自动化测试的框架(软件过程中的概要设计),设计与编写自动化脚本(详细设计与编码),测试脚本的正确性,从而完成该套测试脚本(即主要功能为测试的应用软件)。自动化测试不仅涉及测试工作本身流程上、组织结构上的调整与改进,甚至也包括需求、设计、开发、维护及配置管理等其他方面的配合。因此,传统的接口自动化测试对测试人员素质要求较高,不仅要求测试人员懂得编程技术,而且测试人员还要执行各不同项目间自动化设计的重复编码工作以及繁琐、复杂、沉重的维护管理,提高自动化测试设计的难度,造成项目间自动化设计、管理维护成本高。
发明内容
本发明实施例提出一种基于WEB接口的自动化测试方法及系统,测试人员无需掌握编码技术,也能实现各项目WEB接口的自动化测试设计、执行和管理。
本发明实施例提供一种基于WEB接口的自动化测试方法,包括:
服务器根据接收到的用户发起的执行测试请求,从数据库中提取符合条件的测试用例数据,并生成测试任务,调用测试执行器执行测试;
所述测试执行器执行测试,包括:
所述测试执行器调用用例加载器对所述测试用例数据进行分析,并调用用例生成器构建测试用例对象;其中,所述测试用例对象包含其关联信息和测试用例执行方法;
所述测试执行器根据所述关联信息,对所述用例对象进行分组,以区分关联和非关联的测试用例对象;
所述测试执行器对关联的测试用例对象进行排序,用于确定其执行测试时的先后顺序;
所述测试执行器处理所述测试用例对象的关联信息,并调用结果生成器生成测试结果容器;
所述测试执行器调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器来获取校验结果,且所述测试用例执行方法根据所述校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器;
所述测试执行器解析所述测试结果容器,生成测试报告。
进一步的,所述测试执行器调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器来获取校验结果,且所述测试用例执行方法根据所述校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器,具体包括:
所述测试执行器调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器,由测试校验器调用HTTP处理器,并传入所述测试用例数据;
所述HTTP处理器将所述测试用例数据发送给项目数据处理器进行规范化处理,并根据所述规范化处理后的数据,构造http请求,将所述http请求发送给被测接口,以使所述被测接口根据所述http请求,反馈所述测试用例数据的响应数据;其中,所述规范化处理后的数据为符合项目接口规范要求的数据;
所述HTTP处理器接收所述响应数据,并将所述响应数据发送给项目数据处理器进行规范化处理,并将规范化处理后的响应数据,构建为被测试对象,将所述被测试对象发送给所述测试校验器;所述规范化处理后的响应数据为可测试和可显示的明文数据;
所述测试校验器解析所述测试用例对象的预期数据,获得N个预期字段,再在所述被测试对象中查找所述预期字段所对应的N个预期结果字段,并获取所述N个预期结果字段对应的实际响应值,依次匹配所述测试用例对象的校验规则进行测试比较,获得校验结果;
所述测试执行器调用所述测试用例执行方法,使所述测试用例执行方法根据所述N个预期字段的校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器。
进一步的,所述测试执行器调用用例加载器对所述测试用例数据进行分析,并调用用例生成器构建测试用例对象,具体为:
所述测试执行器将所述测试用例数据发送给所述用例加载器进行解析,再将所述用例加载器解析后的数据,发送给所述用例生成器来构建所述测试用例对象,最后接收所述用例生成器返回的所述测试用例对象。
进一步的,所述将规范化处理后的响应数据,构建为被测试对象,具体为:
将所述规范化处理后的响应数据转换成所述被测试对象,将所述规范化处理后的响应数据中的每个字段转换成所述被测试对象的属性,并将各字段的字段值转换为相应的属性值;
所述属性值包括:字符串、子对象、列表或布尔值。
进一步的,所述测试结果包括所述测试用例对象的测试结果和所述N个预期字段的测试结果。
相应地,本发明实施例还提供一种基于WEB接口的自动化测试系统,包括:客户端和与所述客户端通信连接的服务器;
所述服务器包括:测试执行器、用例加载器、用例生成器、测试校验器、HTTP处理器、项目数据处理器和结果生成器;
所述服务器用于根据接收到的用户发起的执行测试请求,从数据库中提取符合条件的测试用例数据,并生成测试任务,调用所述测试执行器执行测试;
所述测试执行器包括:第一调用单元、分组单元、排序单元、第二调用单元、第三调用单元和报告生成单元;
所述第一调用单元用于调用用例加载器对所述测试用例数据进行分析,并调用用例生成器构建测试用例对象;其中,所述测试用例对象包含其关联信息和测试用例执行方法;
所述分组单元用于根据所述关联信息,对所述用例对象进行分组,以区分关联和非关联的测试用例对象;
所述排序单元用于对关联的测试用例对象进行排序,用于确定其执行测试时的先后顺序;
所述第二调用单元用于处理所述测试用例对象的关联信息,并调用结果生成器生成测试结果容器;
所述第三调用单元用于调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器来获取校验结果,且所述测试用例执行方法根据所述校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器;
所述报告生成单元用于测试执行器解析所述测试结果容器,生成测试报告。
进一步的,所述第三调用单元用于调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器来获取校验结果,且所述测试用例执行方法根据所述校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器,具体为:
所述第三调用单元调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器,由测试校验器调用HTTP处理器,并传入所述测试用例数据;
所述HTTP处理器将所述测试用例数据发送给项目数据处理器进行规范化处理,并根据所述规范化处理后的数据,构造http请求,将所述http请求发送给被测接口,以使所述被测接口根据所述http请求,反馈所述测试用例数据的响应数据;其中,所述规范化处理后的数据为符合项目接口规范要求的数据;
所述HTTP处理器接收所述响应数据,并将所述响应数据发送给项目数据处理器进行规范化处理,并将规范化处理后的响应数据,构建为被测试对象,将所述被测试对象发送给所述测试校验器;所述规范化处理后的响应数据为可测试和可显示的明文数据;
所述测试校验器解析所述测试用例对象的预期数据,获得N个预期字段,再在所述被测试对象中查找所述预期字段所对应的N个预期结果字段,并获取所述N个预期结果字段对应的实际响应值,依次匹配所述测试用例对象的校验规则进行测试比较,获得校验结果;
所述第三调用单元调用所述测试用例执行方法,使所述测试用例执行方法根据所述N个预期字段的校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器。
进一步的,所述第一调用单元用于调用用例加载器对所述测试用例数据进行分析,并调用用例生成器构建测试用例对象,具体为:
所述第一调用单元用于将所述测试用例数据发送给所述用例加载器进行解析,再将所述用例加载器解析后的数据,发送给所述用例生成器来构建所述测试用例对象,最后接收所述用例生成器返回的所述测试用例对象。
进一步的,所述HTTP处理器将规范化处理后的响应数据,构建为被测试对象,具体为:
所述HTTP处理器将所述规范化处理后的响应数据转换成所述被测试对象,将所述规范化处理后的响应数据中的每个字段转换成所述被测试对象的属性,并将各字段的字段值转换为相应的属性值;
所述属性值包括:字符串、子对象、列表或布尔值。
进一步的,所述测试结果包括所述测试用例对象的测试结果和所述N个预期字段的测试结果。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的基于WEB接口的自动化测试方法及系统,服务器根据接收到的用户发起的执行测试请求,从数据库中提取符合条件的测试用例数据,并生成测试任务,调用测试执行器执行测试。相比于现有技术需要测试人员掌握编程技术,并进行繁琐的编程工作,采用本发明技术方案,测试人员无需掌握编码技术,也能实现各项目WEB接口的自动化测试设计、执行和管理,减少测试人员的工作量,提高自动化测试设计的效率。
附图说明
图1是本发明提供的测试执行器执行测试的一种实施例的流程示意图;
图2是本发明提供的测试校验器执行测试的一种实施例的流程示意图;
图3是本发明提供的基于WEB接口的自动化测试系统的一种实施例的结构示意图;
图4是本发明提供的测试执行器的一种实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于WEB接口的自动化测试方法,其主要流程为:服务器根据接收到的用户发起的执行测试请求,从数据库中提取符合条件的测试用例数据,并生成测试任务,调用测试执行器执行测试,最后生成测试报告。
参见图1,是本发明提供的测试执行器执行测试的一种实施例的流程示意图,该方法包括步骤101至106,具体如下:
步骤101:测试执行器调用用例加载器对所述测试用例数据进行分析,并调用用例生成器构建测试用例对象;其中,测试用例对象包含其关联信息和测试用例执行方法。
在本实施例中,步骤101具体为:测试执行器将测试用例数据发送给用例加载器进行解析,再将用例加载器解析后的数据,发送给用例生成器来构建测试用例对象,最后接收用例生成器返回的测试用例对象。
在本实施例中,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例是根据测试用例数据而构造的,由测试人员在该自动化测试系统平台的可视化客户端界面录入。
步骤102:测试执行器根据所述关联信息,对用例对象进行分组,以区分关联和非关联的测试用例对象。
步骤103:测试执行器对关联的测试用例对象进行排序,用于确定其执行测试时的先后顺序。
在本实施例中,在进行分组和排序时,有预置条件的测试用例也按照关联用例进行分组和排序。
步骤104:测试执行器处理测试用例对象的关联信息,并调用结果生成器生成测试结果容器。
步骤105:测试执行器调用测试用例执行方法,使测试用例执行方法调用测试校验器来获取校验结果,且测试用例执行方法根据该校验结果生成测试结果,然后将测试结果追加到测试结果容器。
步骤106:测试执行器解析测试结果容器,生成测试报告。测试人员通过报告即可知道较为详细的测试。
在本实施例中,测试结果包括测试用例对象的测试结果和N个预期字段的测试结果。
在本实施例中,参见图2,图2是本发明提供的测试校验器执行测试的一种实施例的流程示意图。如图2所示,步骤105具体包括步骤201至步骤205,具体如下:
步骤201:测试执行器调用测试校验器,由测试校验器调用HTTP处理器,并传入测试用例数据。
步骤202:HTTP处理器将测试用例数据发送给项目数据处理器进行规范化处理,并根据规范化处理后的数据,构造http请求,将http请求发送给被测接口,以使被测接口根据http请求,反馈测试用例数据的响应数据;其中,规范化处理后的数据为符合项目接口规范要求的数据。
在本实施例中,项目数据处理器可以但不限于为普通或定制的项目数据处理器。
步骤203:HTTP处理器接收响应数据,并将响应数据发送给项目数据处理器进行规范化处理,并将规范化处理后的响应数据,构建为被测试对象,将被测试对象发送给测试校验器;规范化处理后的响应数据为可测试和可显示的明文数据。
在本实施例中,将规范化处理后的响应数据,构建为被测试对象,具体为:将所述规范化处理后的响应数据转换成所述被测试对象,将规范化处理后的响应数据中的每个字段转换成被测试对象的属性,并将各字段的字段值转换为相应的属性值。属性值可以但不限于包括:字符串、子对象、列表或布尔值。
步骤204:测试校验器解析测试用例对象的预期数据,获得N个预期字段,再在被测试对象中查找预期字段所对应的N个预期结果字段,并获取N个预期结果字段对应的实际响应值,依次匹配测试用例对象的校验规则进行测试比较,获得校验结果。
步骤205:测试执行器根据N个预期字段的校验结果,生成该测试用例对象的测试结果,并把测试结果填充测试结果容器。
参见图3,图3是本发明提供的基于WEB接口的自动化测试系统的一种实施例的结构示意图。如图3所示,该自动化测试系统包括:客户端1和与客户端1通信连接的服务器2。客户端1为系统提供的可视化的设计、执行与管理界面。服务端2用于根据接收到的用户发起的执行测试请求,从数据库中提取符合条件的测试用例数据,并生成测试任务,调用所述测试执行器执行测试。
服务器2包括:测试执行器21、用例加载器22、用例生成器23、测试校验器24、HTTP处理器25、项目数据处理器26和结果生成器27。参见图4,图4是本发明提供的测试执行器的一种实施例的结构示意图。如图4所示,测试执行器21包括:第一调用单元211、分组单元212、排序单元213、第二调用单元214、第三调用单元215和报告生成单元216;
第一调用单元211用于调用用例加载器22对测试用例数据进行分析,并调用用例生成器23构建测试用例对象;其中,测试用例对象包含其关联信息和测试用例执行方法。
分组单元212用于根据关联信息,对用例对象进行分组,以区分关联和非关联的测试用例对象。
排序单元213用于对关联的测试用例对象进行排序,用于确定其执行测试时的先后顺序。
第二调用单元214用于处理测试用例对象的关联信息,并调用结果生成器生成测试结果容器。
第三调用单元215用于调用测试用例执行方法,使测试用例执行方法调用测试校验器24来获取校验结果,且测试用例执行方法根据校验结果生成测试结果,然后将测试结果追加到测试结果容器。
报告生成单元216用于测试执行器解析测试结果,生成测试报告。
作为本实施例的一种举例,第三调用单元215用于调用测试用例执行方法,使测试用例执行方法调用测试校验器24来获取校验结果,且测试用例执行方法根据校验结果生成测试结果,然后将测试结果追加到测试结果容器,具体为:第三调用单元215调用测试用例执行方法,使测试用例执行方法调用测试校验器24,由测试校验器24调用HTTP处理器25,并传入测试用例数据;HTTP处理器25将测试用例数据发送给项目数据处理器26进行规范化处理,并根据规范化处理后的数据,构造http请求,将所述http请求发送给被测接口,以使被测接口根据所述http请求,反馈测试用例数据的响应数据;其中,规范化处理后的数据为符合项目接口规范要求的数据;HTTP处理器25接收响应数据,并将响应数据发送给项目数据处理器26进行规范化处理,并将规范化处理后的响应数据,构建为被测试对象,将被测试对象发送给测试校验器24;规范化处理后的响应数据为可测试和可显示的明文数据;测试校验器24解析测试用例对象的预期数据,获得N个预期字段,再在所述被测试对象中查找所述预期字段所对应的N个预期结果字段,并获取N个预期结果字段对应的实际响应值,依次匹配测试用例对象的校验规则进行测试比较,获得校验结果;第三调用单元215调用测试用例执行方法,使测试用例执行方法根据N个预期字段的校验结果生成测试结果,然后将测试结果追加到测试结果容器。
在本实施例中,第一调用单元211用于调用用例加载器22对所述测试用例数据进行分析,并调用用例生成器23构建测试用例对象,具体为:第一调用单元211用于将测试用例数据发送给用例加载器22进行解析,再将用例加载器22解析后的数据,发送给用例生成器23来构建测试用例对象,最后接收用例生成器23返回的测试用例对象。
在本实施例中,测试执行器21为系统执行web接口自动化测试的入口,由它进行统一的调度,执行测试,生成测试报告。用例加载器22用于对从数据库取出的测试用例数据解析,并把解析后的数据传给用例生成器23。用例生成器23用于生成测试用例对象,每个测试用例对象都有一个执行方法,由该方法执行测试并填充测试结果容器。测试校验器24用于解析测试用例对象预期数据,获得N个预期字段,然后在被测试对象中查找该预期结果字段并获取其对应的实际响应值,匹配校验规则进行测试比较,返回测试结果和详情。HTTP处理器25用于根据请求数据,构建并向被测项目接口起http请求,并接受被测项目接口响应数据,将该响应数据交由项目数据处理器进行规范化处理后,转换被测试对象。项目数据处理器26用于将测试用例原始请求数据和响应数据进行规范化处理,使其请求数据符合项目接口规范要求和响应数据变为可测试和可显示的明文数据。结果生成器27用于生成测试结果容器,测试结果存储到测试结果容器中
在本实施例中,HTTP处理器25将规范化处理后的响应数据,构建为被测试对象,具体为:HTTP处理器25将规范化处理后的响应数据转换成被测试对象,将规范化处理后的响应数据中的每个字段转换成所述被测试对象的属性,并将各字段的字段值转换为相应的属性值;属性值包括:字符串、子对象、列表或布尔值。
本发明实施例提供的基于WEB接口的自动化测试方法及系统,服务器根据接收到的用户发起的执行测试请求,从数据库中提取符合条件的测试用例数据,并生成测试任务,调用测试执行器执行测试。相比于现有技术需要测试人员掌握编程技术,并进行繁琐的编程工作,采用本发明技术方案,测试人员无需掌握编码技术,也能实现各项目WEB接口的自动化测试设计、执行和管理,减少测试人员的工作量,提高自动化测试设计的效率。
另外,本发明去除了冗余、重复的编码设计,新项目的拓展简单方便,直接选择普通处理器,不需要编码即可实现对一般项目的拓展。定制项目按照规则编写数据处理器即可实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (8)

1.一种基于WEB接口的自动化测试方法,其特征在于,包括:
服务器根据接收到的用户发起的执行测试请求,从数据库中提取符合条件的测试用例数据,并生成测试任务,调用测试执行器执行测试;
所述测试执行器执行测试,包括:
所述测试执行器调用用例加载器对所述测试用例数据进行分析,并调用用例生成器构建测试用例对象,具体为:所述测试执行器将所述测试用例数据发送给所述用例加载器进行解析,再将所述用例加载器解析后的数据,发送给所述用例生成器来构建所述测试用例对象,最后接收所述用例生成器返回的所述测试用例对象;其中,所述测试用例对象包含其关联信息和测试用例执行方法;
所述测试执行器根据所述关联信息,对所述用例对象进行分组,以区分关联和非关联的测试用例对象;
所述测试执行器对关联的测试用例对象进行排序,用于确定其执行测试时的先后顺序;
所述测试执行器处理所述测试用例对象的关联信息,并调用结果生成器生成测试结果容器;
所述测试执行器调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器来获取校验结果,且所述测试用例执行方法根据所述校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器;
所述测试执行器解析所述测试结果容器,生成测试报告。
2.根据权利要求1所述的基于WEB接口的自动化测试方法,其特征在于,所述测试执行器调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器来获取校验结果,且所述测试用例执行方法根据所述校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器,具体包括:
所述测试执行器调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器,由测试校验器调用HTTP处理器,并传入所述测试用例数据;
所述HTTP处理器将所述测试用例数据发送给项目数据处理器进行规范化处理,并根据所述规范化处理后的数据,构造http请求,将所述http请求发送给被测接口,以使所述被测接口根据所述http请求,反馈所述测试用例数据的响应数据;其中,所述规范化处理后的数据为符合项目接口规范要求的数据;
所述HTTP处理器接收所述响应数据,并将所述响应数据发送给项目数据处理器进行规范化处理,并将规范化处理后的响应数据,构建为被测试对象,将所述被测试对象发送给所述测试校验器;所述规范化处理后的响应数据为可测试和可显示的明文数据;
所述测试校验器解析所述测试用例对象的预期数据,获得N个预期字段,再在所述被测试对象中查找所述预期字段所对应的N个预期结果字段,并获取所述N个预期结果字段对应的实际响应值,依次匹配所述测试用例对象的校验规则进行测试比较,获得校验结果;
所述测试执行器调用所述测试用例执行方法,使所述测试用例执行方法根据所述N个预期字段的校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器。
3.根据权利要求2所述的基于WEB接口的自动化测试方法,其特征在于,所述将规范化处理后的响应数据,构建为被测试对象,具体为:
将所述规范化处理后的响应数据转换成所述被测试对象,将所述规范化处理后的响应数据中的每个字段转换成所述被测试对象的属性,并将各字段的字段值转换为相应的属性值;
所述属性值包括:字符串、子对象、列表或布尔值。
4.根据权利要求2所述的基于WEB接口的自动化测试方法,其特征在于,所述测试结果包括所述测试用例对象的测试结果和所述N个预期字段的测试结果。
5.一种基于WEB接口的自动化测试系统,其特征在于,包括:客户端和与所述客户端通信连接的服务器;
所述服务器包括:测试执行器、用例加载器、用例生成器、测试校验器、HTTP处理器、项目数据处理器和结果生成器;
所述服务器用于根据接收到的用户发起的执行测试请求,从数据库中提取符合条件的测试用例数据,并生成测试任务,调用所述测试执行器执行测试;
所述测试执行器包括:第一调用单元、分组单元、排序单元、第二调用单元、第三调用单元和报告生成单元;
所述第一调用单元用于调用用例加载器对所述测试用例数据进行分析,并调用用例生成器构建测试用例对象,具体为:所述测试执行器将所述测试用例数据发送给所述用例加载器进行解析,再将所述用例加载器解析后的数据,发送给所述用例生成器来构建所述测试用例对象,最后接收所述用例生成器返回的所述测试用例对象;其中,所述测试用例对象包含其关联信息和测试用例执行方法;
所述分组单元用于根据所述关联信息,对所述用例对象进行分组,以区分关联和非关联的测试用例对象;
所述排序单元用于对关联的测试用例对象进行排序,用于确定其执行测试时的先后顺序;
所述第二调用单元用于处理所述测试用例对象的关联信息,并调用结果生成器生成测试结果容器;
所述第三调用单元用于调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器来获取校验结果,且所述测试用例执行方法根据所述校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器;
所述报告生成单元用于测试执行器解析所述测试结果容器,生成测试报告。
6.根据权利要求5所述的基于WEB接口的自动化测试系统,其特征在于,所述第三调用单元用于调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器来获取校验结果,且所述测试用例执行方法根据所述校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器,具体为:
所述第三调用单元调用所述测试用例执行方法,使所述测试用例执行方法调用测试校验器,由测试校验器调用HTTP处理器,并传入所述测试用例数据;
所述HTTP处理器将所述测试用例数据发送给项目数据处理器进行规范化处理,并根据所述规范化处理后的数据,构造http请求,将所述http请求发送给被测接口,以使所述被测接口根据所述http请求,反馈所述测试用例数据的响应数据;其中,所述规范化处理后的数据为符合项目接口规范要求的数据;
所述HTTP处理器接收所述响应数据,并将所述响应数据发送给项目数据处理器进行规范化处理,并将规范化处理后的响应数据,构建为被测试对象,将所述被测试对象发送给所述测试校验器;所述规范化处理后的响应数据为可测试和可显示的明文数据;
所述测试校验器解析所述测试用例对象的预期数据,获得N个预期字段,再在所述被测试对象中查找所述预期字段所对应的N个预期结果字段,并获取所述N个预期结果字段对应的实际响应值,依次匹配所述测试用例对象的校验规则进行测试比较,获得校验结果;
所述第三调用单元调用所述测试用例执行方法,使所述测试用例执行方法根据所述N个预期字段的校验结果生成测试结果,然后将所述测试结果追加到所述测试结果容器。
7.根据权利要求6所述基于WEB接口的自动化测试系统,其特征在于,
所述HTTP处理器将规范化处理后的响应数据,构建为被测试对象,具体为:
所述HTTP处理器将所述规范化处理后的响应数据转换成所述被测试对象,将所述规范化处理后的响应数据中的每个字段转换成所述被测试对象的属性,并将各字段的字段值转换为相应的属性值;
所述属性值包括:字符串、子对象、列表或布尔值。
8.根据权利要求6所述的基于WEB接口的自动化测试系统,其特征在于,所述测试结果包括所述测试用例对象的测试结果和所述N个预期字段的测试结果。
CN201610398669.XA 2016-06-07 2016-06-07 基于web接口的自动化测试方法及系统 Active CN106095673B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610398669.XA CN106095673B (zh) 2016-06-07 2016-06-07 基于web接口的自动化测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610398669.XA CN106095673B (zh) 2016-06-07 2016-06-07 基于web接口的自动化测试方法及系统

Publications (2)

Publication Number Publication Date
CN106095673A CN106095673A (zh) 2016-11-09
CN106095673B true CN106095673B (zh) 2018-12-14

Family

ID=57228490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610398669.XA Active CN106095673B (zh) 2016-06-07 2016-06-07 基于web接口的自动化测试方法及系统

Country Status (1)

Country Link
CN (1) CN106095673B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070735B (zh) * 2016-12-30 2018-04-20 上海壹账通金融科技有限公司 异步接口测试的方法、测试终端及系统
CN108427632B (zh) * 2017-02-14 2021-12-31 腾讯科技(深圳)有限公司 自动测试方法及装置
CN108446190B (zh) * 2017-02-16 2021-08-17 杭州海康威视数字技术股份有限公司 接口测试方法及装置
CN106933745A (zh) * 2017-03-30 2017-07-07 携程计算机技术(上海)有限公司 Web接口自动化测试方法和系统
CN107329861B (zh) * 2017-06-12 2020-12-22 奇安信科技集团股份有限公司 一种多接口测试方法及装置
CN108038125B (zh) * 2017-11-07 2021-06-01 平安科技(深圳)有限公司 基金系统测试值的自动对比方法、装置、设备及存储介质
CN108153670B (zh) * 2017-11-30 2021-07-30 北京奇艺世纪科技有限公司 一种接口测试方法、装置及电子设备
CN108197022A (zh) * 2017-12-28 2018-06-22 深圳Tcl新技术有限公司 软件自动化测试方法、系统及计算机可读存储介质
CN108388514B (zh) * 2018-02-24 2021-02-23 平安科技(深圳)有限公司 接口自动化测试方法、装置、设备及计算机可读存储介质
CN108446223B (zh) * 2018-03-06 2021-07-27 吉旗(成都)科技有限公司 一种基于动态编译的业务场景自动化测试方法
CN110209566B (zh) * 2018-04-08 2021-09-28 腾讯科技(深圳)有限公司 一种对软件的测试方法及装置
CN108628746A (zh) * 2018-05-04 2018-10-09 艺龙网信息技术(北京)有限公司 接口自动化测试方法与系统
CN109240909A (zh) * 2018-08-03 2019-01-18 北京马上慧科技术有限公司 一种基于注册中心的数据文件验证方法
CN110908888B (zh) * 2018-09-17 2023-06-30 百度在线网络技术(北京)有限公司 服务器测试方法及装置
CN109324973A (zh) * 2018-09-30 2019-02-12 中电科(德阳广汉)特种飞机系统工程有限公司 一种软件测试方法、装置、设备及计算机可读存储介质
CN111400162B (zh) * 2019-01-02 2023-04-25 阿里巴巴集团控股有限公司 一种测试方法及测试系统
CN112416745A (zh) * 2020-01-21 2021-02-26 上海哔哩哔哩科技有限公司 一种测试控制系统、方法及设备
CN114268569B (zh) * 2020-09-16 2023-10-31 中盈优创资讯科技有限公司 一种可配置的网络运维验收测试方法及装置
CN112699022A (zh) * 2020-12-24 2021-04-23 山东鲁能软件技术有限公司 一种实时高效自动化契约测试的方法及系统
CN113407454B (zh) * 2021-06-29 2022-08-05 山东派盟网络科技有限公司 一种全面测试的方法、装置以及设备
CN117493162A (zh) * 2023-12-19 2024-02-02 易方达基金管理有限公司 一种接口测试的数据校验方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012857A (zh) * 2009-09-08 2011-04-13 中国工商银行股份有限公司 一种对Web页面进行自动化测试的装置及方法
CN102420714A (zh) * 2011-08-29 2012-04-18 展讯通信(上海)有限公司 测试管理方法、测试管理系统总控制中心及测试管理系统
CN103530231A (zh) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 一种基于业务流程控制的应用程序测试方法及系统
CN104834595A (zh) * 2015-02-15 2015-08-12 网易(杭州)网络有限公司 一种可视化自动测试方法及系统
CN105260297A (zh) * 2015-09-14 2016-01-20 上海斐讯数据通信技术有限公司 一种测试数据管理系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949792B2 (en) * 2009-08-18 2015-02-03 Adobe Systems Incorporated Methods and systems for data service development

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012857A (zh) * 2009-09-08 2011-04-13 中国工商银行股份有限公司 一种对Web页面进行自动化测试的装置及方法
CN102420714A (zh) * 2011-08-29 2012-04-18 展讯通信(上海)有限公司 测试管理方法、测试管理系统总控制中心及测试管理系统
CN103530231A (zh) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 一种基于业务流程控制的应用程序测试方法及系统
CN104834595A (zh) * 2015-02-15 2015-08-12 网易(杭州)网络有限公司 一种可视化自动测试方法及系统
CN105260297A (zh) * 2015-09-14 2016-01-20 上海斐讯数据通信技术有限公司 一种测试数据管理系统及方法

Also Published As

Publication number Publication date
CN106095673A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
CN106095673B (zh) 基于web接口的自动化测试方法及系统
Ferreira et al. Hyper-heuristic based product selection for software product line testing
Billington et al. PROTEAN: a high-level Petri net tool for the specification and verification of communication protocols
CN104636254B (zh) 生成测试用例的方法和装置、测试方法和设备
US7386521B2 (en) Automatic test program generation using extended conditional constraint satisfaction
CN104268079B (zh) 一种pos应用程序测试的方法及系统
CN104536881B (zh) 基于自然语言分析的众测错误报告优先级排序方法
CN109062780A (zh) 自动化测试用例的开发方法及终端设备
CN109254912A (zh) 一种自动化测试的方法及装置
CN110221975A (zh) 创建接口用例自动化测试脚本的方法及装置
CN114722281B (zh) 基于用户画像及用户选课行为的培训课程配置方法、装置
Ibarra et al. On spiking neural P systems
CN105302709B (zh) 测试数据生成方法及设备
JP2016510442A (ja) トランスフォーム生成システム
CN109542780A (zh) 自然语言处理应用的测试方法、测试设备及存储介质
CN109559239A (zh) 投诉处理建议生成方法、装置、电子设备、存储介质
CN105739481B (zh) 工控软件的测试方法、装置及系统
CN105279065B (zh) 在云测试平台中统计测试结果的方法及装置
CN110007662A (zh) 自主保障技术验证系统全飞行器健康评估与管理地面推理平台
Guana et al. Improving software product line configuration: A quality attribute-driven approach
CN109299002A (zh) 测试报告的生成方法、计算机可读存储介质及终端设备
CN109857654A (zh) 一种自动生成测试用例的时序流程图的方法、装置及系统
Carmo et al. Performance/availability modeling with the TANGRAM-II modeling environment
US20090259454A1 (en) Automatic test program generation using extended conditional constraint satisfaction
US8341610B2 (en) Method and apparatus for authoring and optimizing flowcharts

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant