一.接口测试也叫API测试(Application Programming Interface),应用程序编程接口.大部分系统接口都是采用http协议和soap协议来传输数据,也有https,Tuxedo协议等。
二.前后台之间的通讯协议,一般采用http协议,或者 https协议。请求方式有:get ,post,delete,put,其中最常用的就是get和post两种。
三.接口自动化测试流程:
第一步:分析需求
第二步:创建测试计划:
第三步:写测试用例 :
第四步:构造接口测试请求并执行:
可以进行接口测试的工具很多,简单介绍几个:
(loadrunner,jmeter,postman,soapui)
第五步:输出测试报告,评审测试结果
四.接口测试怎么测试的:
1、拿到接口文档熟悉:
(服务端开发人员把接口文档写出来,我们就可以拿过来熟悉):
1)每个接口对应要实现的功能是什么
2)服务器的地址、端口、接口地址(确定访问哪个接口)
3)请求方式,请求参数有哪些,参数的约束是什么(工作当中了解请求参数的各种约束)
4)熟悉响应数据:
<1>响应的字段个数是否足够(可以看需求文档中对应的功能需要显示的个数,只能多不能少)
<2>正确和错误的响应码(errcode)有哪些,对应的响应信息(message)是什么。例如 :errcode:4403 ,1,message:错误的请求信息
2、编写接口测试用例(接口测试用跟功能类似,只多了一个请求报文,响应报文)
1)考虑正常异常的请求参数的请求报文
2)考虑正常和异常请求后的响应报文(例如 :异常的错误码是什么,对应的错误信息是否正确)
3、执行测试用例:
我们是用jmeter执行测试用例,先建立一个线程组,再添加http请求,填写好请求地址,端口,和请求参数,设置参数化,添加断言等,
最后添加查看结果树再运行。
运行完后,检查接口是否通过,如果不通过,先定位下原因,如果是请求的参数有问题,修改后再进行测试 ,如果是接口本身存在bug,
就把服务器上的日志取下来,提单给开发修改。
五.JMeter测试环境怎么搭建:
1)、因为JMeter是JAVA程序开发的,所以要先安装JDK;
2)、配置JAVA环境变量,包括:JAVA_HOME,PATH,CLASSPATH;
3)、双击jmeter的bin目录里面的jmeter.bat文件,就可以启动Jmeter。
六.Jmeter关联的方式:
1.Jmeter中关联可以在需要获取数据的请求上,右键-->后置处理器 --正则表达式提取器:
2.设置正则表达式提取器:
(说明)
(1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
(2)正则表达式:
():括起来的部分就是要提取的。
.:匹配任何字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
(3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示 解析到的第1个值
(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。
3.关于正则表达式的举例说明:
1、提取单个字符串:
假如想匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取readme.txt。
正则表达式:name = "file" value = "(.+?)">。
2、提取多个字符串:
假如想匹配Web页面的如下部分:name = "file.name" value = "readme.txt">并提取file.name和readme.txt。
正则表达式:name = "(.+?)" value = "(.+?)"。
引用名称:MYREF
模板:$1$$2$
什么时候会用到使用Fiddler
1)、做安全测试,检测敏感信息是否加密,拦截篡改数据;
2)、当测试时发现缺陷,用fiddler抓包,定位该问题是前端还是后台的问题;
3)、模拟弱网环境。
接口测试的关注点(怎么验证接口是通过的)
1、接口返回的数据是否正确;
2、向系统提交的数据是否正确写入了数据库。
在进行接口的自动化测试,如果遇到token校验,你是怎么处理的?
首先需要获取token,获取token的整个思路为:
A.先进行登录
B.登录成功后
C.获取token
D.把获取的token当作下一个接口的请求参数
接口自动化做了多久呢
开发写好接口,我们拿到接口文档之后,我们就开始做着。
jenkins怎么做接口自动化?
设置定时任务去跑脚本