第一次写博客呀,莫名开心有木有,俗话说好记性不如烂笔头,学东西一定要自己动手实践,因为经常都是我以为的并不是我以为的,操作过才知道原来如此。。。开始正题,这个东西其实挺简单的,不过还是花了大概3个小时,踩的坑有点多
文中有任何问题都可以喷,求轻喷***
一、打开jmeter程序
打开jmeter,我用的是jmeter3.4
二、在jmeter外的文件中管理用例
管理用例在excel中管理接口测试用例,模板如下,写完后记得要另存为.csv格式,不然是读取不了的(.txt和.dat也可以读取,但是不方便查看,最好是.csv)。 ps:坑1,直接用.xlsx格式,出来一堆乱码
第一行的变量名可选择写在这里,或在CSV Data Set Config配置中写,二选一 PS:变量名不要用中文
这里的变量还可以根据实际的接口功能增加,比如是否连接数据库,尽量能满足不同类型的接口
三、jmeter设置
1.新建线程组
有3个线程属性需要我们去设置,分别是
线程数,即同时启动的线程的数量,一般在压力测试的时候需要根据实际情况改动,在这里用例比较少,默认为1;
Ramp-Up Period(in seconds),启动时间,所有线程需要在这个时间内启动完成;
循环次数,就是用例运行多少次。
2.新建信息头管理器,没有会报错
3.新建CSV Data Set Config
重点来了,csv参数化主要就是在这里完成的,
参数说明:
Filename: 文件的完整路径,包括文件名和类型
File encoding:文件编码,好像不写也可以,开始写了utf-8报错了
Variable Names(comma-delimited):储存参数的变量名,如果在.csv文件中有写变量名就不需要写了,在这里写的话需要将每个变量名用“,”隔开
Delimiter(use '\t' for tab): 分隔多个参数的分隔符
Allow quoted data?:是否有引用数据,ps:如果参数中有逗号或双引号,要选为“true”
Recycle on EOF ?:文件读取完后是否继续读取
Stop thread on EOF ?:文件读取完后是否停止线程
4.添加http请求,ps:在这之前可以添加http协议控制器,jmeter3.4好似就不用了
在请求中,基本上都是参数化了的,格式为“${参数}”,
这样的话,我们只需要将所有的用例放在同一个.csv文件中,写一个http请求页面就能运行所有的用例(不要骗自己,把用例都放在excel里面还是不够灵活的,更好的自动化还要持续学习,比如python编程序实现)
5.增加响应断言
用来对比预期结果与实际输出是否一致,这个目前只实现了查询的接口,其他类型的还要研究...欢迎指导
6.添加查看结果树,查看输出,展示下最后结果
中间有两个结果红色的,响应数据是正确的,但是由于我把响应断言的内容改了,所以还是不会通过测试
问题跟进:接下来会把其他不同类型的接口加进来,把jmeter中添加的各种东西的参数意思弄清楚♫♪♬♩♫
自动化二:读取csv参数化文件(get请求+连接数据库)见下篇