一、接口基础

1、为什么要单独测试接口?

1. 程序是分开开发的,前端还没有开发,后端已经开发完了,可以提前进入测试 2. 接口直接返回的数据------越底层发现bug,修复成本是越低的 3. 接口测试能模拟功能测试不能测到的异常情况,例如修改订单金额

2、get请求和post请求

两者的区别:

get请求向服务端获取数据的 ,post请求向服务端发送数据

get传参写在url或cookie中 ,post将数据放在body中

get请求没有请求体,只有请求头,post有请求头和请求体

get有长度限制(x)现在没有限制了

post请求更安全(x)抓包都能抓到,都不安全

3、http状态码 2xx 请求成功 常见的200 3xx 重定向 4xx 客户端发送的请求语法错误 5xx 服务端问题

4、cookie和session

cookie 存在用户本地的一个键值对 key-value

seesion 存在服务端的一个键值对

cookie和seesion 同一个值比对,比对相等允许操作

二、postman接口实例

1.get类型 

 可以直接在浏览器中进行测试,?后写参数,&拼参数

2.post类型

请求选择post,添加参数即可

3.入参是jason类型

选择Body-raw-JSON(application/json),直接将jason串复制进来

4.请求头加cookie

在Headers中添加cookie的key和value

5.请求头加refer

6.上传文件

body-form-data-File-选择文件即可

三、 jmeter基础

1.添加http请求

  sep1测试计划-添加-Threads-线程组

sep2 线程组-添加-Sample-http请求

sep3 添加域名、端口号、协议、请求方法、路径、编码格式、参数

参数为文件 Files Upload --添加--文件名称:文件的绝对路径,或直接把文件放在jmeter的bin路径下,直接添加文件名,参数名称:参数名

sep4添加断言(相当于LR中的检查点) 请求-添加-断言-响应断言---断言内容请求response中的值

sep5 添加监听查看请求结果  线程组、请求-添加-监听器-察看结果树

sep6 根据需要添加配置原件(例如cookie或http信息头)

2.参数化、关联

 参数化-----服务器或程序校验输入值的唯一性需要参数化,例如新加用户,手机后不能重复添加

方法一:添加-配置元件-CSV Data Set Config

 参数化文件首行不用写参数名,引用参数时 -----${参数名}

方法二:使用函数助手

选项---函数助手 常用的time取到秒级可以用做唯一性的参数的取值,random生成一个取值范围,任意取其中的一个值

方法三:配置原件-----用户定义的变量,一 一写出来

关联----服务器返回动态码,为了通过服务器的验证,使用关联,例如,添加金币,需要服务器返回动态的记录用户登录状态的sign串

方法一:正则表达式

添加-后置处理器-正则表达式提取器

 正则表达式,需要看从哪个请求返回,就去那个请求的返回集中找,找到后复制该动态值以及左右边界,动态值替换为正则表达式即可

方法二 jason path(需要安装插件)$.login_info.sign  代表返回jason串中,取真个jason下面的login_info节点下面的sign的值

 3.jmeter操作数据库

sep1测试计划加载java连接mysql的jar包

sep2 添加JDBC Connection Configuration   线程组-添加-配置元件-JDBC Connection Configuration

Variable Name 可以任意添写

database url:jdbc:mysql://ip:端口号/库名?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true    注:characterEncoding=UTF-8保证新增修改数据库中文不乱码,allowMultiQueries=true 允许同一个请求同时写增删改查操作

JDBC driver Class:com.mysql.jdbc.Driver  固定写法

username:数据路用户名 Password 数据库密码

sep3 添加 jdbc request   线程组-添加-Sample-JDBC Request

Variable Name 一定要和JDBC Connection Configuration中Variable Name已知,否则报错

Query Type 选Callables Statement 可以同时写增删改查

4.jmeter解决乱码

在jmeter.properties 这个文件里面

找到sampleresult.default.encoding=xx

后面xx改成utf-8,然后取消注释

解决jmeterbody里面中文显示不出来 找到 JSyntaxTextArea 然后把注释取消就行了,以js开头的

解决请求参数中午乱码 请求页面

content encoding 填写utf-8

解决数据库操作中文乱码

database url后添加characterEncoding=UTF-8

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

文章链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。