接口测试实例操作

  1. 环境准备
需要配置安装两个软件 jdk jmeter
  1. Jdk、jmeter环境变量配置
右键计算机属性->高级系统设置->高级->环境变量->添加如下的系统变量:
1)变量名:【JAVA_HOME】
变量值:【D:\Program Files\Java\jdk1.8.0_92】【jdk安装路径】
2)变量名:【path】
变量值:【\;%JAVA_HOME%\bin;】
3)变量名:【CLASSPATH】
变量值:【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;】【.不能漏】
4)变量名:【JMETER_HOME】
变量值:【D:\工作\apache-jmeter-2.13】【jmeter安装路径】
5)变量名:【CLASSPATH】
变量值:【.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;】
  1. Jdk验证
运行cmd->输入java -version->显示java版本就表示jdk安装成功,如下图

  1. Jmeter运行
进入jmeter安装环境下的bin目录,点击运行bat文件



2、添加JDBC Connection Configuration

1、具体操作:测试计划——添加——配置元件——JDBC Connection Configuration

2、具体值填写:
  1. Variable Name:变量名,字母即可,尽量不要有中文,或者空格(转义的时候可能会消失)
  2. Max Number of connections: 数据库最大连接数,默认值
  3. Pool Timeout:数据库连接超时,默认值
  4. Idle Cleanup Interval:数据库空闲清理的间隔时间,默认值
  5. Auto Commit:自动提交。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置)
  6. Transaction Isolation:事务间隔级别设置,主要有如下几个选项:(对JMX加解密) 
TRANSACTION_REPEATABLE_READ事务重复读、TRANSACTION_READ_COMMITTED事务已提交读 、TRANSACTION_SERIALIZABLE事务序列化 、TRANSACTION_READ_UNCOMMITTED事务未提交读、
TRANSACTION_NODE  事务节点 
DEFAULT默认
  1. Keep-Alive: 是否保持连接
  2. Max Connection age (ms):最大连接时长,超过时长的会被拒绝
  3. Validation Query:验证查询,检验连接是否有效(数据库重启后之前的连接都失效,需要验证查询)
  4. Database URL:开头固定(jdbc:mysql://)+数据库地址:端口号+/” +对应的数据库+可忽略部分(?zeroDateTimeBehavior=convertToNull)jdbc:mysql://djopenpf.dbt.djdns.cn:3601/dbwww58com_open_platform?zeroDateTimeBehavior=convertToNull
  5. JDBC Driver Classs:JDBC的类,值固定为com.mysql.jdbc.Driver
  6. Username:对应数据库用户名
  7. Password:对应的数据库密码

3、添加HTTP信息头管理器

    1、具体操作:测试计划——添加——配置元件——HTTP信息头管理器

    2、具体值填写:
  1. 名称:Content-Type指定请求内容类型;Authorization绕过登录验证
  2. 值:application/json对应Content-Type;Bearer ${token}

4、添加线程组

1、具体操作:测试计划——添加——Threads(Users)——线程组
2、具体值填写
1)线程数:决定jmeter启动多少线程
2)Ramp-up Period:决定多长时间启动所有线程,一般设置ramp-up=线程数
3)循环次数:每个线程的循环次数
4)Delay Thread creation until needed:延迟创建线程,直到该线程开始采样,即之后的任何线程组延迟和加速时间为线程本身。这样可以支持更多的线程,但不会有太多是同时处于活动状态。
5)调度器:选中调度器后,需要输入启动和结束时间。当测试启动时,如果必须JMeter会等待启动时间到达。在每个周期结束,JMeter检验结束时间是否到达,如果是,运行停止,如果不是测试被允许继续,直到迭代限制到达。另外你可以使用启动延迟和持续时间文本域。注意启动延迟会覆盖启动时间,持续时间会覆盖结束时间。

4.1 添加HTTP请求

          1、具体操作:线程组——添加——Sampler——HTTP请求

    2、具体值填写:
  1. 服务器名称或者IP:根据RD给的接口文档里的URL,如:http://10.37.18.69:5810//ms/v1/h5/order,进行拆分,前面的10.37.18.69或者是域名直接即为所填值。
  2. 端口号:如果服务器名称或者IP值为域名,此处不填;如果服务器名称或者IP为IP+端口号,上述例子中的端口号5810即为所填值。
  3. Implementation:实现,HttpClient4
  4. 方法:根据RD给出的接口文档值填写。
  5. Content encoding:HTTP协议的响应报文头,UTF-8(防止乱码)
  6. Parameters/Body Data:具体值根据RD给出的接口文档所填,Body Data中的值,最好通过在线json验证http://www.bejson.com/验证一下                        

4.1.1 添加响应断言

          1、具体操作:线程组——添加——断言——响应断言            
                                                                                                                   
  2 、具体值填写
  1. 应用范围:大多数勾选“main sample only”;当类似于ajax可以触发多个服务器请求,勾选sub-sample;重定向请求,并且勾选了“跟随重定向”俩个请求都是sub-sample之后的请求是main sample only;
  2. 响应字段:普通http响应勾选响应文本;一切Apache Tika支持服务器响应,包括文本响应,还支持PDF,Office,Auto,Video formats选择Document(Text);对url进行重定向的断言选择url样本;http响应代码,此时需要勾选“ignore status”选择响应代码;
  3. 模式匹配规则:包括(返回结果包括你制定的内容,支持正则匹配),匹配(相当于equals,正则匹配,必须完全匹配),Equals(返回结果与制定断言完全一致),Substring(与包括相似,不支持正则字符串),否(取反)。

    

4.2 添加JDBC Request
1、具体操作:线程组——添加——Sampler——JDBC Request

2、具体值填写
  1. Variable Name:JDBC Connection Configuration 中的Variable Name值。
  2. Query Type:根据所需要的功能选择,后面填写的sql语句和具体情况相关。

4.3 添加察看结果数

          1、具体操作:线程组——添加——监听器——查看结果树
         
    2、具体操作
    点击如图所示绿色按钮,开始运行

3、具体值对应
  1. HTTP请求:HTTP中的响应数据中的message字段值为success,证明成功,如果错误,可以看取样器结果提示,根据提示判断
  2. JDBC Request:响应数据中的结果即为查询结果,有结果出来则为成功,如果错误看提示即可。



常见以及解决方法:

1、常见错误码定义:


2、错误case1:

当HTTP请求报错,错误类型 Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp,解决方法:JDBC Connection Configuration找出Database URL后面加一个?zeroDateTimeBehavior=convertToNull。即可


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值