接口测试基础

一、接口测试

接口测试就是功能测试,比UI测试还简单;

接口就是从数据库查到数据,返回回来;

一般接口返回的是json格式字符串;json是一种通用的数据类型;

 

前端和后端

客户端、服务端

越底层发现bug修复bug成本是越低的;

 

Get与POST请求的区别

Get请求:它的请求数据是放在url里面的;

Post请求:它的请求数据是放在body里面的;

 

Cookie:存放在本地的一个键值对,即key-value

Session:存放在服务端的一个键值对;

 

二、Jmeter性能测试工具

Jmeter写脚本

1、修改jmeter查看结果树乱码问题:

在jmeter\bin目录下找到jmeter.properties文件,找到sampleresult.default.encoding这个之后在该注释行下添加如下:

sampleresult.default.encoding=utf-8

保持该文件,并重启jmeter,就可以解决jmeter返回解决乱码的问题。

 

 

2、  jmeter中发送post信息body data中包含中文信息显示乱码,解决body data中文乱码问题:

在jmeter\bin目录下找到jmeter.properties文件,找到jsyntaxtextarea.font.family=Hack这一行之后去掉#号,重启jmeter即可。

 

 

3、  在body data中显示的中文正确,但是运行之后在数据库中查看数据却是乱码,需要在请求出添加为utf-8即可。

 

 

Jmeter参数化

1、  用户定义的变量(线程组->添加配置元件->用户定义的变量)

配置元件中的用户定义的变量可以为一个全局变量,可以在其他sample中调用;如果该变量中的值有变化可以在此修改,不用在sample中单个修改;

该配置元件含义类似于配置元件中的http请求默认值,如果http请求默认值添加之后,后面的http请求中如果某些值没有填则直接使用该默认值,如果后面的http请求中如果填了某些值则优先使用后面http请求中的参数值。

 

2、  函数助手里面的:

__random(在选项->函数助手对话框中,选择__Random函数,可以生成一个随机变量参数,在后面的函数中进行调用,进行压测)

 

__time    yyyyMMddHHmmdd时间的格式(此项是24小时制的)

也可以使用__time函数生成一个随机数在其他请求中进行调用

 

Jmeter里面取到的时间戳是精确到毫秒的;

时间戳就是从计算机诞生那一天到现在过了多少秒;

3、  文件里面读取

默认不写绝对路径的话,是从jmeter的bin目录下读取文件;(此方法不建议使用,一般在没有办法的情况下才使用)

文件里面可以写多列,多列以逗号隔开,参数名也要写多个以逗号隔开;

 

Jmeter压测

并发用户数

Tps:服务端每秒处理的请求数,越大越好

响应时间:越快越好

jmeter压测可以通过聚合报告查看响应时间和tps;

如果要进行压测,则需要在线程组上配置对应的线程数、循环次数、调度时间等。

 

posted on 2018-05-20 23:54  better0903  阅读(625)  评论(0编辑  收藏  举报