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操作,所述测试数 ...
【技术保护点】
一种用于测试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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。