用于测试HTTP接口的方法和装置制造方法及图纸

技术编号:17467076 阅读:22 留言:0更新日期:2018-03-15 04:43
本申请公开了用于测试HTTP接口的方法和装置。所述方法的一具体实施方式包括:获取用户输入的针对待测试超文本传输协议HTTP接口的测试用例;将所述测试用例中的第一个测试步骤作为当前测试步骤,并执行以下HTTP接口测试步骤:将所述当前测试步骤的测试操作和测试数据封装成HTTP测试请求包并发送到所述待测试HTTP接口;判断所述待测试HTTP接口返回的响应数据是否与所述当前测试步骤的期望结果数据相同,如果不同,则生成测试失败的结果;如果相同,则进一步判断所述当前测试步骤是否是所述测试用例的最后一个步骤,如果是,则生成测试成功的结果;如果不是,则将下一测试步骤作为当前测试步骤,继续执行所述HTTP接口测试步骤。该实施方式提高了HTTP接口的测试效率。

Methods and devices used to test the HTTP interface

The present application discloses methods and devices for testing the HTTP interface. Including a specific embodiment of the method: obtain user input for test cases to test the hypertext transfer protocol HTTP interface; the first test steps of the test case as the test steps, and perform the following steps: HTTP interface testing the current test operation and test data encapsulation steps a HTTP test request packet and sent to the HTTP interface to be tested; the test response data to determine whether the HTTP interface returns with the current test steps the expected results of the same data, if different, will generate fail the test results; if the same, to judge whether the current test is the last step a step, the test case is generated if it is successful test results; if not, it will be the next step test as the test steps Continue to execute the HTTP interface test procedure. The implementation method improves the testing efficiency of the HTTP interface.

【技术实现步骤摘要】
用于测试HTTP接口的方法和装置
本申请涉及计算机
,具体涉及互联网
,尤其涉及用于测试HTTP接口的方法和装置。
技术介绍
目前网页自动化测试常用的方案是通过测试工具(例如,Selenuim)打开网页,等待指定操作的页面元素已加载后,再进行模拟用户行为操作(例如,访问、输入、点击、文件选择等操作),通过操作结果获取页面元素并判断操作结果,最终确定测试用例是否成功。然而,通过测试工具模拟浏览器操作会存在以下问题:(1)无论是在内存中静默打开还是调用用户界面打开,都会因为等待页面某个脚本代码执行而出现加载效率问题;(2)对于一些页面元素变动需要经常维护测试脚本,增加测试成本;(3)开发脚本成本较高,需要分析页面元素;(4)模块化效果差,因为测试工具是基于页面元素实现自动化,因此调用模块也必须要加载页面元素才能被使用,在使用或维护时效率低。如在访问一个多层链接时,测试工具需要一层一层去操作,类似用户手工点击进去。这对于HTTP接口验证,前面的页面操作是没有意义的。
技术实现思路
本申请的目的在于提出一种改进的用于测试HTTP接口的方法和装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种用于测试HTTP接口的方法,所述方法包括:获取用户输入的针对待测试HTTP(HyperTextTransferProtocol,超文本传输协议)接口的测试用例,所述待测试HTTP接口包括统一资源定位符URL,所述测试用例包括顺序执行的至少一个测试步骤,所述测试步骤包括测试操作、测试数据和期望结果数据,所述测试操作包括GET操作和POST操作,所述测试数据包括URL,所述测试数据的URL与所述待测试HTTP接口的URL相同;将所述测试用例中的第一个测试步骤作为当前测试步骤,并执行以下HTTP接口测试步骤:将所述当前测试步骤的测试操作和测试数据封装成HTTP测试请求包;将所述HTTP测试请求包发送到所述待测试HTTP接口;接收所述待测试HTTP接口返回的响应数据,判断所述响应数据是否与所述当前测试步骤的期望结果数据相同,如果不同,则根据所述当前测试步骤和所述响应数据,生成测试失败的结果;如果相同,则进一步判断所述当前测试步骤是否是所述测试用例的最后一个步骤,如果是,则生成测试成功的结果;如果不是,则将所述测试用例中当前测试步骤的下一测试步骤作为当前测试步骤,继续执行所述HTTP接口测试步骤。第二方面,本申请提供了一种用于测试HTTP接口装置,所述装置包括:获取单元,配置用于获取用户输入的针对待测试HTTP接口的测试用例,所述待测试HTTP接口包括统一资源定位符URL,所述测试用例包括顺序执行的至少一个测试步骤,所述测试步骤包括测试操作、测试数据和期望结果数据,所述测试操作包括GET操作和POST操作,所述测试数据包括URL,所述测试数据的URL与所述待测试HTTP接口的URL相同;执行单元,配置用于将所述测试用例中的第一个测试步骤作为当前测试步骤,并执行以下HTTP接口测试步骤:将所述当前测试步骤的测试操作和测试数据封装成HTTP测试请求包;将所述HTTP测试请求包发送到所述待测试HTTP接口;接收所述待测试HTTP接口返回的响应数据,判断所述响应数据是否与所述当前测试步骤的期望结果数据相同,如果不同,则根据所述当前测试步骤和所述响应数据,生成测试失败的结果;判断单元,配置用于如果相同,则进一步判断所述当前测试步骤是否是所述测试用例的最后一个步骤,如果是,则生成测试成功的结果;如果不是,则将所述测试用例中当前测试步骤的下一测试步骤作为当前测试步骤,继续执行所述HTTP接口测试步骤。本申请提供的用于测试HTTP接口方法和装置,通过获取用户输入的针对待测试HTTP接口的测试用例,然后对测试用例中的每个测试步骤,将该测试步骤的测试操作和测试数据封装成HTTP测试请求包,并将该HTTP测试请求包发送到待测试HTTP接口,最后根据从待测试HTTP接口接收到的响应数据,生成测试结果。即,模拟浏览器向HTTP接口发送GET或POST请求,直接提交数据给待测试HTTP接口,触发待测试HTTP接口对应功能服务做出响应,获取返回数据并判断响应是否成功,而不用等待所有页面元素都加载成功再进行模拟测试,从而实现了测试操作和测试数据的独立,加快了测试脚本开发的速度,降低了维护成本,提高了测试效率。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本中请的其它特征、目的和优点将会变得更明显:图1是本申请可以应用于其中的示例性系统架构图;图2是根据本申请的用于测试HTTP接口的方法的一个实施例的流程图;图3是根据本申请的建立测试用例的一个实施例的流程图;图4是根据本申请的用于测试HTTP接口的装置的一个实施例的结构示意图;图5是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的用于测试HTTP接口的方法或用于测试HTTP接口的装置的实施例的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户(例如,测试工程师)可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如网页测试类应用,网页浏览器应用等。终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的网页提供支持的后台网页服务器。后台网页服务器可以对接收到的网页页面请求(例如GET请求或POST请求)等数据进行分析等处理,并将处理结果(例如网页页面数据)反馈给终端设备。需要说明的是,本申请实施例所提供的用于测试HTTP接口的方法一般由终端设备101、102、103执行,相应地,用于测试HTTP接口的装置一般设置于终端设备101、102、103中。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。继续参考图2,其示出了根据本申请的用于测试HTTP接口的方法的一个实施例的流程200。所述的用于测试HTTP接口的方法,包括以下步骤:步骤201,获取用户输入的针对待测试HTTP接口的测试用例。在本实施例中,用于测试HTTP接口的方法运行于其上的电子设备(例如图1所示的终端设备101、102、103)可以本地或者远程地获取用户输入的针对待测试本文档来自技高网...
用于测试HTTP接口的方法和装置

【技术保护点】
一种用于测试HTTP接口的方法,其特征在于,所述方法包括:获取用户输入的针对待测试超文本传输协议HTTP接口的测试用例,所述待测试HTTP接口包括统一资源定位符URL,所述测试用例包括顺序执行的至少一个测试步骤,所述测试步骤包括测试操作、测试数据和期望结果数据,所述测试操作包括GET操作和POST操作,所述测试数据包括URL,所述测试数据的URL与所述待测试HTTP接口的URL相同;将所述测试用例中的第一个测试步骤作为当前测试步骤,并执行以下HTTP接口测试步骤:将所述当前测试步骤的测试操作和测试数据封装成HTTP测试请求包;将所述HTTP测试请求包发送到所述待测试HTTP接口;接收所述待测试HTTP接口返回的响应数据,判断所述响应数据是否与所述当前测试步骤的期望结果数据相同,如果不同,则根据所述当前测试步骤和所述响应数据,生成测试失败的结果;如果相同,则进一步判断所述当前测试步骤是否是所述测试用例的最后一个步骤,如果是,则生成测试成功的结果;如果不是,则将所述测试用例中当前测试步骤的下一测试步骤作为当前测试步骤,继续执行所述HTTP接口测试步骤。

【技术特征摘要】
1.一种用于测试HTTP接口的方法,其特征在于,所述方法包括:获取用户输入的针对待测试超文本传输协议HTTP接口的测试用例,所述待测试HTTP接口包括统一资源定位符URL,所述测试用例包括顺序执行的至少一个测试步骤,所述测试步骤包括测试操作、测试数据和期望结果数据,所述测试操作包括GET操作和POST操作,所述测试数据包括URL,所述测试数据的URL与所述待测试HTTP接口的URL相同;将所述测试用例中的第一个测试步骤作为当前测试步骤,并执行以下HTTP接口测试步骤:将所述当前测试步骤的测试操作和测试数据封装成HTTP测试请求包;将所述HTTP测试请求包发送到所述待测试HTTP接口;接收所述待测试HTTP接口返回的响应数据,判断所述响应数据是否与所述当前测试步骤的期望结果数据相同,如果不同,则根据所述当前测试步骤和所述响应数据,生成测试失败的结果;如果相同,则进一步判断所述当前测试步骤是否是所述测试用例的最后一个步骤,如果是,则生成测试成功的结果;如果不是,则将所述测试用例中当前测试步骤的下一测试步骤作为当前测试步骤,继续执行所述HTTP接口测试步骤。2.根据权利要求1所述的方法,其特征在于,所述GET操作对应的测试步骤的测试数据还包括以下至少一项:HTTP请求头、待获取的数据、浏览器缓存,所述POST操作对应的测试步骤的测试数据还包括以下至少一项:HTTP请求头、待提交的数据、浏览器缓存、待上传文件的存储路径信息。3.根据权利要求1所述的方法,其特征在于,所述判断所述响应数据是否与所述当前测试步骤的期望结果数据相同,包括:获取所述响应数据中的HTTP状态码;判断所述HTTP状态码是否与所述当前测试步骤的期望结果数据相同。4.根据权利要求3所述的方法,其特征在于,所述根据所述当前测试步骤和所述响应数据,生成测试失败的结果,包括:根据所述当前测试步骤和所述HTTP状态码,生成测试失败的结果。5.根据权利要求1所述的方法,其特征在于,所述方法还包括建立测试用例的步骤,所述建立测试用例的步骤包括:获取所述待测试HTTP接口的功能测试用例;将所述功能测试用例分解成至少一个步骤,所述步骤包括:输入参数信息、期望结果数据和功能类型;对所述至少一个步骤中的每个步骤,根据该步骤的功能类型和输入参数信息生成测试操作和测试数据,为该步骤生成测试步骤,将所述测试操作、所述测试数据和该步骤的期望结果数据分别作为该步骤的测试步骤的测试操作、测试数据和期望结果数据;组合所述至少一个步骤中每个步骤的测试步骤,形成测试用例。6.根据权利要求5所述的方法,其特征在于,所述根据该步骤的功能类型和输入参数信息生成测试操作和测试数据,包括:如果该步骤的功能类型为获取类型,则为该步骤生成GET类型的测试操作,如果该步骤的功能类型为提交类型,则为该步骤生成POST类型的测试操作;根据该步骤的输入参数信息生成测试数据。7....

【专利技术属性】
技术研发人员:陈显金
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1