一、接口类型及数据传递的格式
接口类型:
1、HTTP接口:通过GET或POST来获取数据,在数据处理上效率比较高
2、WebServer接口:通过SOAP协议来获取数据,比起http来说处理更加复杂的数据类型
数据格式传送类型:
主要有两种:json、XML
接口学习案例
1、汇聚数据: https://www.juhe.cn/
2、老黄历:get/Postq请求
3、QQ在线状态判断:soap请求
 
soapUI介绍
1、soapUI介绍WebServer的xml请求格式
2、soapUI的http和webserver接口类型的区别?
 
二、接口测试工具的选用
工具介绍:
  • Firefox插件:httprequester
  • Chrome插件:postman
  • soapUI
  • Jmeter
  • 代码
1、火狐,接口测试工具:httprequester
特点:插件类工具
 
2、chrome 接口测试工具:PostMan
特点:插件类的工具
3、soapUI可做http、webserver测试
关键技能:简洁简单
4、Jmeter 可测试接口,也可以测试性能压力、小型的压力测试
关键技能:参数化(三种方式)/重复请求
 
使用工具的目的:模拟客户端向接口发送数据
接口测试原理:模拟客户终端向服务器发送报文请求,服务器接收请求报文后对相应的报文做处理并向客户返回应答,客户端接收到应答的一个过程
 
关键是学习测试的方法,测试工具是作为辅助测试!!
三、JMeter工具使用详解
常用测试元件
1、测试计划
默认
 
2、线程组
并发数(相当于用户数)、并发时间
用途:压力测试
3、采样器-Sampler
用途:常用的HTTP接口请求、Soap请求 、JDBC请求
主要:3种主要的请求方式,需熟练
3.1 HTTP请求实例
1. 框架搭建
(1)使用方法:线程组-》添加-》sampler-》HTTP请求
 
(2)HTTP请求的配置,配置完成后,进行接口测试
(3)添加察看结果树,对测试结果进行查看
 
3.2 JDBC请求实例
1.框架搭建:
(1)添加线程组
(2)线程组->添加Sampler->JDBC Request
(3)添加配置元件:JDBC Connection Configuration,并要配置
  • 配置变量名Variable Name
  • 配置Database URL
  • 配置JDBC Driver class
  • 配置用户名和密码
配置变量名Variable Name:
1、Variable Name中的变量名和Sampler的JDBC Request变量名保持一致
2、Variable Nam决定JDBC取样器的配置,就是在JDBC request的时候确定去哪个绑定的配置
配置Database URL:
1、填写本地数据库,3306端口,数据库名称为
2、与部署在Tomcat,web服务器上的jdbc.properties配置文件中的URL一致,即可
配置JDBC Driver class:
1、填写JDBC连接时使用的驱动类
2、与部署在Tomcat,web服务器上的jdbc.properties配置文件中的driver一致,即可
配置用户名和密码:
1、填写与web服务器进行数据交互的mysql库的用户名和密码
2、余与部署在Tomcat,web服务器上的jdbc.properties配置文件中的username,password一致,即可
jdbc.properties配置文件内容:
#HYEC dataSource 1
jdbc.driver=com.mysql.jdbc.Driver 用于配置JDBC Driver class
jdbc.url=jdbc:mysql://192.168.43.129:3306/future?useUnicode=true&characterEncoding=utf-8 配置Database URL
jdbc.username=root
jdbc.password=123456
cpool.minPoolSize=5
cpool.maxPoolSize=50
cpool.maxIdleTime=7200
cpool.maxIdleTimeExcessConnections=1800
cpool.acquireIncrement=5
cpool.autoCommitOnClose=true
cpool.checkoutTimeout=5000
api.root=register
2.在JDBC取样器中编写SQL脚本
3.添加察看结果树,察看请求返回的结果
4.注意事项
在测试计划下添加,jdbc jar包
3.2 Soap请求实例
1.框架搭建
(1)添加线程组
(2)线程组->添加Sampler->Soap/XML-RPC Request
(3)结果SoapUI工具配置URL 和 Action
  • 配置URL
  • 配置SOAPAction
配置URL
1、填写SOAP接口测试请求的URL
配置Action
1、使用SoapUI,New Soap Project项目
2、发送Request请求后,查看服务器返回的Raw数据
3、Action中填写的路径和服务器中返回的Action一致,即可
2.添加察看结果树,察看请求返回的结果
 
四、参数化的三种方式
1、什么是参数化?
把参数变量,进行参数值设定
好处:
  • 数据可以进行多变
  • 通过变量引用,可以达到数据的随机性
  • 数据的批量设置
注意:
  • 进行参数化,就需要进行变量引用,变量引用的方法:${变量名}
2、参数化的方式
方式一:用户定义的变量
1、新建一个线程组,添加->配置元件->用户定义的变量,进行参数变量名添加,并可以对其赋值
2、在取样器中,可以进行变量引用
方式二:_Random、_RandomString函数
1、运行时需要禁用用户定义的变量
2、选项->函数助手对话框->进入函数助手
 
方式三:CSV Data参数化
1、使用添加--配置元件--CSV Data Set Config
2、创建txt文件,文件中的每个变量值,用英文逗号,隔开
表示有4个变量值:188、abc123456、25、5000
3、Variable Names填写参数变量名,用户将txt文件的值赋值到该变量名,变量名和变量名用英文逗号隔开
 
解决中文乱码的问题
1、请求方式改成post
2、编码改成utf-8
3、对变量名勾选编码
 
五、总结:
1、使用Jmeter进行接口测试时,对每一个接口参数模块需要测试到的值作为CSV参数化。
2、每个进程组作为成一个接口参数模块,使用进程数的个数,模拟用户使用测试到的参数值进行模拟测试
3、CSV参数保存的文件名,命名为模块名_接口名_参数名_...._参数值个数.txt
4、要点技巧:一个一个接口,用线程组分开

接口测试及接口Jmeter工具介绍的更多相关文章

  1. Jmeter接口测试(二)工具介绍

    一.Jmeter文件目录介绍 ◆ bin:可执行文件目录 Bin 目录文件 jmeter.bat:windows 的启动文件 jmeter.log:日志文件 jmeter.sh:linux 的启动文件 ...

  2. Jmeter系列(2)- Jmeter工具介绍、Jmeter安装目录介绍、Jmeter面板介绍

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Jmeter支持哪些测试场景? Jme ...

  3. jmeter工具初探

    jmeter工具初探 一.jmeter工具介绍 1.一种免费的java开源工具,可以进行二次开发 2.运行环境:java运行环境,需要安装JDK,配置JAVAHOME 环境变量 3.下载jmeter: ...

  4. python接口自动化(四)--接口测试工具介绍(详解)

    简介 “工欲善其事必先利其器”,通过前边几篇文章的介绍,大家大致对接口有了进一步的认识.那么接下来让我们看看接口测试的工具有哪些. 目前,市场上有很多支持接口测试的工具.利用工具进行接口测试,能够提供 ...

  5. Jmeter接口测试 2=> Jmeter工具的介绍

    第一节 接口测试流程 参数化:EXCEl文件参数化.数据库参数化.直接代码中配置.配置文件 预处理请求(前置处理):对请求的参数进行预处理.准备,如加密数据.组织测试数据 发起请求:httpclien ...

  6. Jmeter工具做接口测试

    一.安装Jmeter 1.安装JDK ①下载jdk,到官网下载jdk,地址:http://jmeter.apache.org/download_jmeter.cgi ② 安装jdk(Oracle官网下 ...

  7. Jmeter工具进行一个完整的接口测试

    Jmeter工具进行一个完整的接口测试 1.创建一个线程组 通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户.   2.输入线程组名字 3.添加一个cookie ...

  8. 学习axios必知必会(1)~axios基本介绍、axios配置、json-server接口模拟工具

    一.axios基本介绍 1.axios(前端最流行的 ajax 请求库) 特点: ① 基于 xhr + promise 的异步 ajax 请求库 ② 浏览器端/node 端都可以使用 ③ 支持请求/响 ...

  9. Jmeter工具之上传图片,上传音频文件接口

    https://www.jianshu.com/p/f23f7fe20bf3 互联网时代的来临,不同手机上安装的APP,还是PC端的应用软件或多或多都会涉及到图片的上传,那么在Jmeter工具如何模拟 ...

随机推荐

  1. WEB服务器(Tomcat)

    在小型的应用系统或有特殊需要的系统中,也可以使用一个免费的Web服务器: Tomcat,该服务器支持全部的JSP以及Servlet 规范, 下载 Tom 查看计算机上被占用端口号的情况: 使用Fpor ...

  2. 单词数 (STL set集合)

    单词数 Problem Description lily的好朋友xiaoou333近期非常空.他想了一件没有什么意义的事情.就是统计一篇文章里不同单词的总数.以下你的任务是帮助xiaoou333解决问 ...

  3. Cocos2d-x 2.2.3 使用NDK配置安卓编译环境问题之 Cannot find module with tag 'CocosDenshion/android' in import path

    1.当做安卓移植的时候遇到例如以下问题: Android NDK: jni/Android.mk: Cannot find module with tag 'CocosDenshion/android ...

  4. mysqlbinlog高速遍历搜索记录

    目标,开发者说有个数据莫名其妙加入了.可是不知道是从哪里加入的.并且应用功能里面不应该加入这种数据,为了查清楚来源,所以我就准备去binlog里面找了.可是binlog有好几个月的数,我这样一个个my ...

  5. bzj1106: [POI2007]立方体大作战tet

    比较玄幻的题目. 考虑两个不同的元素 假设位置是 a...a...b...b... 那么不需要通过交换ab来消除ab,各自弄就行 若是 a...b...b...a... 那也没必要交换,先把b消掉就好 ...

  6. 敏捷开发 —— TDD(测试驱动开发)

    测试驱动开发 TDD(Test-Driven Development)是敏捷开发的一项核心实践,同时也是一种设计技术和方法. 既然是测试驱动,便是测试,测试用例先行: 首先编写好测试用例,期待值,实际 ...

  7. HTML iframe 和 frameset 的区别

    转自:http://www.cnblogs.com/polk6/archive/2013/05/24/3097430.html HTML iframe 和 frameset 的区别 iframe 和 ...

  8. [Java]serialVersionUID的作用

    简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的 字节流中的serialVersionUID与本地相应实体(类 ...

  9. windows bat更改系统时间 & 同步internet时间

    最近刚好用到一款软件学习版,30天试用期满,但是还想继续用,不具体透露是什么软件了. 发现更改了系统时间后,这个软件就又能启动了,不过每次改来改去很麻烦,就写了段脚本 @echo off date 1 ...

  10. SqlServer数据库字典

    网上有很多SQL Server数据库字典的SQL语句,七零八落,我在工作整理了一下思路,总结SQL代码如下.数据库字典包括表结构(分2K和2005).索引和主键. 外键.约束.视图.函数.存储过程.触 ...