接口测试入门学习-jmeter

在接口测试第一课中,学习了postman和jmeter两种工具。个人觉得postman界面简洁合理,入手较快,可以做一些简单的接口测试,但jmeter功能更强大。在这篇文章中,主要对jmeter的操作进行一个记录。
1、安装和配置环境变量
jmeter安装包一般不需要特地进行安装,只需要将安装包解压后放在平时安装软件的目录下即可。接下来需要安装jdk并配置环境变量。
a,jdk环境变量配置
右键计算机属性->高级系统设置->系统属性->高级->环境变量->添加如下的系统变量:
变量名:JAVA_HOME
变量值:D:\Program Files\Java\jdk1.8.0_92(jdk安装路径)
变量名:path(该变量一般是已存在的,直接在前方添加变量值即可)
变量值:;%JAVA_HOME%\bin;
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.不能漏)
b,jmeter环境变量配置
变量名:JMETER_HOME
变量值:C:\Program Files\apache-jmeter-2.11
变量名:CLASSPATH
变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
创建完成之后点击“确定”即可。
2、使用jmeter及前期准备
找到jmeter的安装文件,打开文件夹“bin”,找到一个叫“jmeter.bat”的文件,双击打开,如果环境变量配置没问题,即可顺利打开jmeter。


上图就是jmeter的初始界面。
在使用jmeter的过程中,可能会出现乱码的情况。此时打开“bin”目录下的文件“jmeter.properties”,找到字段“sampleresult.default.encoding”
,将前面的注释符“#”去掉,字段等号后方的数据修改为“utf-8”即可。
3、创建HTTP请求并完成基础测试
首先右键测试计划,选择添加-threads-线程组。线程组添加成功后,再右键线程组,选择添加-sample-HTTP请求。
image.png

image.png

image.png

这样即可进入测试配置界面。
利用URL填写好“服务器名称或IP”&“路径”后,根据文档提供的信息,填写端口号、协议,选择请求方式。这样基础的配置就完成了,接下来再根据入参格式进行参数的添加或输入。当然也会有需要添加信息头,Cookie的情况。
a,当测试时只需要配置基础的入参
image.png

该接口请求方式是get,这个根据文档说明的配置就好。图中的服务器名称是一个自定义参数,当在测试中需要多次使用到该地址时,可以先配置一个自定义参数,以后直接调用该参数即可。用户参数在“配置原件”中,只要右键后选择添加可以看到“配置原件”,就都可以在该级别下定义参数,点击选择配置原件-用户自定义参数。就可以看到如下图的界面。
image.png

选择添加,输入参数名称和参数代表的数据即可。在不同级别下添加的用户自定义函数所能生效的范围也不一样。
在请求参数只是简单的参数对应数值时,只需要在请求配置界面的下方,默认的“parameters”模块,点击添加,输入参数和对应的数据即可。
配置完进行请求时,点击界面上方的运行按钮即可。
image.png

运行后需要查看测试结果,在jmeter中需要利用“察看结果树”的功能来展示请求结果。
image.png

image.png

上图可以看到这个请求是成功了的,请求结果也可能是错误的。如果请求结果错误且按照测试计划该请求应该成功时,可以根据请求、响应数据等检查错误原因。
b,需要添加headers的请求
在配置原件中,选择“HTTP信息头管理器”,为该测试任务添加文档中要求的信息头数据即可。
image.png

进入界面后,点击添加,按照文档提供的信息输入信息头的key和value即可。
image.png

c,需要添加cookie的请求
和信息头的处理类型,在配置原件中选择“HTTP cookie管理器”即可。
image.png

然后根据文档信息,填写cookie的key和value。还需要填写域数据,这个和请求配置中的服务器名称一致即可。
image.png

d,输入参数为json格式
image.png

只需要在输入参数的位置选择“body data”,再在输入框中填入json格式的请求参数即可,一般文档中会有例句。
e,文件上传
image.png

在输入参数的位置,选择“Files Upload”,点击“添加”可以直接输入文件路径,点击“浏览”可以查找到文件后选择即可。
注:系统为win8或者win10的jmeter用户,测试时最好将需要上传的文件放在jmeter安装包的bin目录下,否则可能会报错。
注:如果文件已经放在了安装包的bin目录下,就只需要如图中所示填写文件名即可。
4、参数化
a,用户自定义的变量
在第3点中已经提到过。
b,函数生成器
如果需要生成一个随机的数据,可以利用函数助手。
image.png

image.png

选择功能时一般使用图中的两种功能。第一种可以生成某个范围内的随机一个数字,第二种可以生成随机的一个时间。
image.png

填写最小值和最大值,点击“生成”即可产生一个函数,可以直接使用。
image.png

填写想要的时间格式,生成函数,在使用时该函数会生成一个随机的这样格式的时间数据。
d,文件参数化
如果在同一个测试任务中,需要输入不同的数据进行测试,可以先将这些数据储存在文件中,然后在填写入参值时直接使用这些文件。在配置好线程组的请求次数后,会再每次请求时自动调用数据。
image.png

首先添加“CSV Data Set Config”这个配置元件。
image.png

filename直接填写文件名称即可(该文件放在jmeter安装包的bin目录下);
variable names是该文件的变量名,随意定义即可;
delimiter是文件中数据的分隔符,比如要传入登录名和密码两个参数,在文档中就需要记录两个参数,这两个参数键以某个符号进行分隔,默认为英文逗号。
每次输入的数据换行保存。
image.png

使用方式如下图:
image.png

5、链接数据库并操作
链接数据库一般需要一些插件,在网上都可以下载。链接MySQL数据库时需要插件“mysql-connector-java-5.1.7-bin.jar”,将其复制到jmeter安装目录下的bin目录下。
然后在测试计划中添加该插件。
image.png

接下来就可以进行数据库链接了。首先需要添加“JDBC Connection Configuration”这个配置元件。
image.png

image.png

上图中variable name是必填的,随便定义一个变量名即可。
上图中database url有固定格式:
jdbc:mysql://host:port/{dbname}?allowmultiqueries=true
Jdbc driver class则是驱动,不同数据库驱动不同,mysql为:
com.mysql.jdbc.Driver
然后输入账号密码即可完成链接配置。
接下来可以对数据库进行增删改查等操作了。先添加一个“jdbc request”配置元件。
image.png

image.png

上图中variable name直接输入数据库链接中配置的变量名即可。
然后在query type中选择上图中那一项,这样所有的MySQL语句才能运行。接下来输入MySQL命令语句,点击运行即可。当然运行结果还是在“察看结果树”中观察。
6、文件下载
一般的HTTP请求只能找到该图片,但是下载图片需要保存,此时就需要先配置“BeanShell Sampler”,在sample下选择即可。
image.png

然后需要编写保存的程序语言,是Java格式的。
import java.io.*;

byte[] result = prev.getResponseData();
String file_name = "C:\Users\john\Desktop\picture.jpg";//该路径需要改为自己想要保存图片的地址
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();
接下来再配置HTTP请求。


image.png

接下来点击运行,顺利成功的话该图片就会保存在桌面上了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容