1.启动jmeter。

我们可以找到Jmeter/bin 目录下的jmeter-server这个脚本,运行即可。

  • 在下图打开的Jmeter 页面中,右键“测试计划” -> “添加” -> "Threads(Users)" -> “线程组”, 建立线程组。然后添加HTTP请求,
  • 右键“线程组” -> “添加” -> “Sample” -> “HTTP请求”, 输入“服务器名称或IP”,对应的端口号,http默认端口号80,可以不写。

以下请求为GET, 所有“方法”那选择“GET”, 输入对应的路径,添加参数及值。

  • 右键“线程组” -> “添加” -> “监听器” -> “察看结果数”, 添加“察看结果数”, 以察看运行后的结果,如果所示。

2.jmeter-http接口脚本添加header

以获取学生信息接口为列,如下图添加header;添加完成以后,在http信息头页面填写名称:Referer,值:服务器的域名;

运行之后可以看到结果成功;

3. jmeter-http接口添加cookie;

以金币充值接口(gold_add)为例,建立一个HTTP请求改名“金币充值”,选取请求方式POST, 输入对应的host, path以及同请求一起发送的参数和值。

由于此接口有权限验证,需要admin用户才可以做操作,需要添加cookie, 因此需要添加"HTTP Cookie 管理器"以传递Cookie。

添加"HTTP Cookie 管理器" 方法如下图所示, 右键“金币充值” -> “添加” -> “配置元件” -> "HTTP Cookie 管理器"

设置Cookie 的名称(即username 的值),填写域;

最后可以通过“察看结果树”的响应数据查看结果。

4.“用户定义的变量”的应用

以获取学生信息接口(stu_info) 为例,添加一个“用户定义的变量”,设置变量"host" 以及值,这样在获取学生信息接口(stu_info)就可以通过"${host}"取得“服务器名称或IP”的值。

5. “CSVDataSet Config”和“函数助手对话框”的使用

以注册接口为列,该接口有3个参数:username;pwd;cpwd,在本地创建一个txt文件,添加username和pwd 以及cpwd的值,对脚本设置6个线程或者循环6次,以注册这6个用户;例如:

然后右键“线程组” -> “添加” -> “配置元件” -> "CSV Data Set Config",如果仅应用于“增加学生”接口的话,可以直接在“增加学生”接口下面创建"CSV Data Set Config"。

然后在下图页面中,Filename填写之前建立的TXT文件的路径,这里是win10系统,存在权限问题,直接将TXT文件放在jmeter的bin目录下面直接读取,所以这里的Filename路径直接填写TXT的文件名即可:uesrname.txt, 在"Variable Names" 输入"username" 和"pwd",以逗号隔开,为避免插入的数据乱码;

由于"CSV Data Set Config"中的变量名为username和pwd,因此在"注册”接口的"Parameters" 中将值分别替换为${username}, ${pwd}和${pwd}。运行之后循环6次注册6个用户;

以上注册时,也可以使用函数助手随机生成进行注册用户,在选项里找到函数助手,然后选择—Random,输入最小值1,最大值999,点击“生成”之后函数字符串;复制此函数字符串;

在"CSV Data Set Config"中的变量名为username替换为xuezhi${__Random(1,999,)},运行之后注册的用户名是以xuezhi开头然后加上随机生成的数字组成注册的用户名,pwd和cpwd的值还是取的username.txt文件中pwd的值,同理,pwd的值也可以按照此方式随机获取;

6.应用"jp@gc - JSON Path Extractor" 来实现

右键“登陆” -> “后置处理器 -> "jp@gc - JSON Path Extractor"

通过“察看结果数”得到Response 的结果后, 将“JSONPath Expression” 输入"$.login_info.sign", 设置变量"sign2", 给金币充值接口(gold_add)用

因此需要在“HTTP Cookie 管理器”中将${username}的值输入${sign2},代替之前手动输入的那一串码。

今天就写到这里吧,很晚了,下次继续。如有错误,欢迎指出!

最新文章

  1. 15.linux按键驱动程序(二)
  2. [Access] C# 通过 COM 组件访问 Access 文件
  3. signal(SIGPIPE, SIG_IGN)
  4. discuz特殊主题插件开发步骤和犯的愚蠢错误
  5. maven profile实现多环境打包
  6. 得于吾师傅的js知识 js类,单写模板,和私有保护的方法
  7. Tuple初探
  8. Android Xfermode 实战 实现圆形、圆角图片
  9. Delphi xe7并行编程快速入门(三篇)
  10. 【20171028早】ubuntu 16.04 LTS 安装php遇到的问题
  11. tp5命名空间
  12. JavaScript之父谈JavaScript
  13. Django(博客系统):基于pycharm如何一个django工程下创建多个app
  14. 调用链监控 CAT 之 URL埋点实践
  15. unity 如何在botton AddListen中传递参数调用函数
  16. std::bind 的使用说明
  17. JSJ——java基本概念一
  18. python 基础篇
  19. JavaWeb——tomcat manager 403 Access Denied .You are not authorized to view this page.
  20. Intel x86_64 Architecture Background 1

热门文章

  1. error:cannot load file (code:5555h);bootauto.ini
  2. Team Foundation Server 2015使用教程【9】:tfs用户账号切换
  3. 有限状态机FSM和层次状态机HSM
  4. python 练习题3
  5. hibernate配置文件模板
  6. nmap基本命令使用
  7. Batch Normalization批量归一化
  8. pyinstaller打包py脚本Warning:lib not found等相关问题
  9. 关于有向图走“无限次”后求概率/期望的口胡/【题解】HNCPC2019H 有向图
  10. Python PyInstaller安装和使用教程