一 接口测试基础
内部接口通常由研发自测
外部接口主要由测试负责
因为开发进度的不一样 ,通常接口测试先于功能测试.
一、越早发现BUG,修复成本越低。
越底层发现BUG,修复成本越低。
2.先后端研发是两拨人,通常先进行接口测试,而后再进行功能测试。
3.接口测试能够覆盖更多的异常测试场景。
4.接口测试就是功能测试,省去了前端UI的验证
接口测试的必要性:
一、能够发现不少在页面上操做发现不了的bug
二、检查系统的异常处理能力
三、检查系统的安全性、稳定性
四、前端随便变,接口测好了,后端不用变
5.get请求直接在浏览器中调用便可,不用借助其余工具
向服务端获取数据
post请求:
向服务端发送数据
区别:
GET请求和POST请求的区别:
☆ 一、GET使用URL或Cookie传参。而POST将数据放在BODY中。
二、GET的URL会有长度上的限制,则POST的数据则能够很是大。
如今浏览器技术已基本成熟,get和post都无数据大小限制
三、POST比GET安全,由于数据在地址栏上不可见。
都不安全
四、通常get请求用来获取数据,post请求用来发送数据。
没有严格定义哪一种方法进行哪一种操做数据方式
6.接口返回信息以json形式展现,json是一种通用的数据类型全部的语言均可以识别处理。
7.HTTP状态码
一、200 2开头的都表示这个请求发送成功,最多见的就是200,就表明这个请求是ok的,服务器也返回了。
二、300 3开头的表明重定向,最多见的是302,把这个请求重定向到别的地方了,
三、400 400表明客户端发送的请求有语法错误,401表明访问的页面没有受权,403表示没有权限访问这个页面,404表明没有这个页面
四、500 5开头的表明服务器有异常,500表明服务器内部异常,504表明服务器端超时,没返回结果前端
8.接口测试用例设计:java
1.经过性验证
2.参数组合
3.接口安全验证:绕过验证、绕过身份受权、参数是否加密、密码安全规则
4.异常验证mysql
二 .jmeter
一款跨平台,使用简单的压力测试,接口测试工具。
线程组:线程数 -->并发数
上传文件的时候要填写绝对路径 不写绝对路径 默认是在Jmeter的bin目录下查找上传的文件
当响应数据或响应页面没有设置编码时,jmeter会按照jmeter.properties文件中,sampleresult.default.encoding设置的格式解析 默认ISO-8859-1,解析中文确定出错。
线程组 HTTP请求 查看结果树 配置元件-HTTPcookie管理器 配置元件-HTTP消息头管理器 断言-响应断言
配置元件 - CSV DATA SET CONFIG 用来参数化参数
后置处理器 - json path postprocessor 用来关联接口
配置元件 - JDBC Connection Configuration 用来配置数据库连接地址、数据库驱动
Sampler - JDBC request 用来填写执行的SQL语句
断言:接口执行正确时,没法查看断言结果。当接口失败时,可查看断言。
数据参数化中文乱码解决方法:
1.读文件时,查看结果数中【请求】页签中文乱码 CSV DATA SET CONFIG 中的 file encoding 填写 utf-8
cookie 存在用户本地的键值对
key value
session 存在服务端的一个键值对
正则表达式: "sign": "(.*)",
Jmeter 操做数据库:
引入JAR包 :测试计划
直接把“mysql-connector-java-5.1.7-bin.jar”放在Jmeter目录下的 \lib\ext 这个目录下 貌似测试计划里就不用再导入驱动了正则表达式