如何从接口测试提升为接口自动化大咖?_postman

 

“阅读本文大概需要 15 分钟,文末有福利”

 

在前面几期我们已经把什么是接口测试讲完了,相信看过那一篇文章的小伙伴已经了解了什么是接口,什么是接口测试,为什么要做接口测试?以及它的底层原理与如何实现。

那么我们今天再来深入了解一下如何从接口测试提升为接口自动化大咖?

 

我们先来了解一下常见的接口类型

 

一、根据协议区分

 

1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUl.jmeter、loadrunner等;

 

2、 http接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter.、loadrunner等;

 

http接口与Webservice接口的区别:

 

1.使用的协议有点区别webservice用的soap协议

http用的是http协议

 

2.传输数据的报文格式不一样: webservice用的xm1格式

http用的比较多的是htm1格式,json格式,xm1格式web端一般用的都是html格式,App端用的都是json格式

 

3.共同点都需要用到工具去进行测试

常用的接口测试工具:soapui , Meter,postman

 

二、按照功能区分

 

  • 同步接口

     

同步接口我们可以理解,你们去买票,你付款,相当你发送一个请求,那么你回立马要求他给你一张票,给你一张票相当于返回数据,那么同步接口有实时性,你发送请求,需要他在有限的时间内立马返回数据,没返回数据就交易失败,回报错,那么售票员回反馈交易失败的原因

 

总结:

1、同步接口实时交互的

 

2、同步接口有时间限制,超过有限时间,就回报错timeout

 

  • 异步接口

     

异步接口可以理解为,你找黄牛买票,你给钱给到黄牛,把你的要求和联系方式告诉黄牛,黄牛告诉你收到信息和钱了,这个时候你不要等他返回了,你就可以干其他的事情去了,OK黄牛也接很多人的单子,他把单子放在这里,然后按照名单上面的数据一个一个去完成,完成了,他就会打电话告诉你,你票买到了,那么这个就是异步接口

案例:我们进程去提交订单,他返回订单ID给我们,我们通过订单查看结果,这个订单有没有完成,比如我们经常遇到界面显示在处理中。。。。


总结:

1、异步接口交互不是实时的

2、异步接口你需要实时去查询,通过调用另一个接口查看结果,或者你给他们一个回调的地址,他做完之后通过这个地址返回信息给你

 

接口测试重点

 

1、根据什么去测试接接口,怎么做接口测试

接口就是我们对接的一个入口,你通过我这个入口使用我们的功能,比如你通过我电脑的USB接口,你可以使用和usb相关的功能


2、首先熟悉接口功能,根据功能去设计测试

那么你测试这个接口,你必须知道这个接口实现什么样的功能,比如这个是一个登录接口,还是一个查询接口的接口,还是什么功能的接口,那么你理解功能了,那就好办,首先根据功能去做测试场景设计,比如登录,那么功能就是通过用户名和密码,正确的登录成功,错误的登录失败,那么你就要测试这两个场景。


3、根据请求数据要求去设计测试

那么你刚刚测试登录接口,你知道输入两个数据,用户名和密码,也就是说,你知道这个功能要输入两个数据,假如需要验证吗,是不是要测试三个数据,那么你测试接口,那么你必须知道这个接口请求参数有几个,每个参数要求(这个数据必填,长度,格式,类型等,比如我们以前玩游戏机,投入游戏币,那么有些人就投如铁块,硬币,本来投入1块,我投入5毛钱等等,其实你就知道他的要求,然后设计符合要求的场景,和不符合要求的场景验证他的功能

 

4、返回数据是否要测试呢

 

大部分作为检查,根据不同的要求有些需要测试设计

 

总结:接口测试重点是测试这个功能,这个功能测试设计是重点,然后是根据请求数据要求,前提你必须熟悉这个功能,和这个接口请求数据要求

 

 

接口文档包含哪些内容

 

  • 接口名字

  • 描述(描述清楚接口的功能)

  • url

  • 请求方式

  • 传入参数

  • 返回值

 

为什么企业热衷接口测试

 

1、当我们项目前端没有开发出来时候,后端已经完成,我们可以先测试接口,测试可以前移

 

2、接口是后端提供的,后端基本是算法和业务逻辑实现,提前测试发现的bug,且bug都是比较严重的,更能保证软件质量,提前发现业务逻辑和算法问题,更能提前发现风险,修改的代价比较小点,后期发现bug修改代码比较大

 

现在主流接口测试工具

 

  • jmeter

    主要做接口功能和接口性能,接口自动化

     

  • postman

    主要实现接口功能和接口自动化

     

  • aipfox

    主要实现接口功能和接口自动化,性能

     

  • soapui

    主要接口功能,正对webservice协议接口效率比较高

 

 

为什么接口需要通过工具去执行测试?

 

接口是直接通过接口地址调用,直接把请求数据放在协议里面,把数据直接发送到后端服务,因为你是直接测试后台服务,没有前端界面,那么接口工具就做一个可以输入数据的地方,方便编辑请求数据,方便查看返回结果没有工具,你只能通过代码去设计发送请求,所以工具提高我们测试效率,选择工具测试是我们比较理想的选择

 

如何从接口测试提升为接口自动化大咖?_robot framework_02

ROBOT实现接口自动化 VS python自动化

 

1、Robot Framework是为“测试”而生,他的目标人群是测试工程师,它的目标和使命注定了Robot Framework必须要简单/简洁/亲民/易懂,

而这些Robot Framework都做到了,这使得Robot Framework推出之后,得以快速发展传播。

 

他生态链里面的测试库有的功能,他都支持,常用的UI、APP、接口自动化,包括连接数据库,操作linux等,都能实现。只要能开发测试库,

或者安装官方的测试库就可以实现特定的自动化,因为这是一个自动化平台

 

2、RF好处:有界面易操作,有丰富的第三方库,比如我们做web自动化调用的就是seleniu2library库

 

os android, httprequset,swing data,自己到官网上面去看下

效率来说,高很多,我们只要熟悉第三方库的关键字,就可以写好自动化化,不需要我们自己去封装

 

3、RF框架可以很好的组织用例,左边有个目录树支持中文,层次和结构非常清晰,直观,方便、易使用:比如你调试一个用例,写代码去调试,还要屏蔽其他的用例@unittest.skip('skip is upper.'),RF框架,你想运行哪一个,你就勾选哪—个,编写效率高,方便组织用例

 

RF框架里面的报告非常详细,报错在那一步报错,都非常清晰,成功多少,错误了多少,都比较直观

 

如何从接口测试提升为接口自动化大咖?_python_03

如何从接口测试提升为接口自动化大咖?_面试_04

如何从接口测试提升为接口自动化大咖?_postman_05

 

 

如何从接口测试提升为接口自动化大咖?_python_06

如何从接口测试提升为接口自动化大咖?_jmeter_07

本文分享自微信公众号 - 程序员一凡(gh_6cafb826630a)。
如有侵权,请删除。