一.首先打开Jmeter
1.快捷按钮:win+r会弹出快捷运行弹框,输入cmd后点击回车2.弹出控制窗口,输入Jmeter,然后回车3.首次进入Jmeter,页面显示空白页且默认英文4.可以切换语言 【Options-Choose Language-Chinese】5.打开的空白页面会默认新建【测试计划】, 可以给测试计划重新命名6.然后新建【线程组】7.同样重新命名,然后在登录线程组中新建【请求】8.给请求输入对应的接口信息8.1.填写接口信息9.右键新建【查看结果树】,来查看请求结果10.运行成功后,可以看到返回过来的响应结果11.可以添加【断言】来判断结果是否达到预期11.1.输入需要断言的值msg12.添加的断言还需要添加【断言结果】,来查看断言的结果12.1.断言结果的内容显示13.需要从获取验证码的信息,然后传入登录接口中才能登录成功13.1.因此需要提取验证码中的code及uuid,所以需要右键添加【提取器】13.2.这样便提取验证码接口中的code及uuid信息出来13.3.由于验证码过于复杂,浪费的时间太久。所以另辟蹊径,向开发要redis软件来帮助做验证码接口的测试13.4.打开redis软件13.5.token信息13.6.此处刷新13.7.需要接口中的uuid需要与redis对应14.登录接口数据15.右键新建登录【请求】15.1.输入对应的请求信息15.2.同样给登录接口添加【结果树】及【断言】、【断言结果】16.当登录接口请求成功后,需要提取里面的token,右键添加【Json提取器】17.获取用户信息接口17.1.获取用户信息需要拿到登录接口的token数据(一般情况要测系统内的模块 都是要登录后才能可以,所以把token可以设置为全局变量)17.2.右键添加【http信息头管理器】18.接口信息18.1.接口信息中,有个请求头部数据信息,是需要发起请求的时候填入的所有token放入http信息头管理器里19.【注意】:接口中去请求头的参数放入【http信息管理器】中,请求体的参数放入请求的消息体数据处20.同样可以去添加【查看结果树】及【断言】去看发起请求后返回的数据20.1.也可以添加整个登录线程组的【查看结果树】,这样就可以看到线程组中所有请求的是否成功及返回的响应数据二.全局配置补充
1.可以添加【http请求默认值】三.升级版本
1.由于每次请求token都会更换,然后需要多次去redis中查看token及code非常的不方便,所以可以在Jmeter中配置,自动去获取更新的token及code2.需要用到的文件:这个包是用来连接redies的3.这个文件已经上传至资源,需要的自己拿,需要把这个包放入Jmeter的lib中 commons-pools是Jmeter自带的4.Jmeter需要引用jar包5.这样Jmeter就用安装插件的一个功能6.然后我们去安装redies插件7.回到Jmeter:在登录验证码接口中提取uuid8.添加【BeanShell取样器】,讲uuid设置未全局变量,同样可以通过【函数助手】生成9.然后把设置好的全局变量放入【用户定义的变量】中去,这样其他接口就能引用到里面的值10.然后再通过连接redies去获取最新的codeimportredis.clients.jedis.Jedis;importjava.util.ArrayList;importorg.apache.commons.lang3.StringUtils;String host="47.92.37.7";//服务器地址intport=6379;//端口号 String password="";//redis密码intindex=0;//redis db,默认为0String key="captcha_codes:${__property(uuid)}";//key值,需要读取数据的键值 Jedis jedis=new Jedis(host,port);if(StringUtils.isNotBlank(password)){jedis.auth(password);}jedis.select(index);//选择redis db String value=jedis.get(key);//通过key值获取对应value log.info("value:"+value);vars.put("code",value);//将获取的value值保存到jmeter变量code中11.然后再把提取到的code及uuid传入登录接口中12.这样可直接获取redies的值,可多次运行四.【题外话】