postman和JMeters是外部接口测试的两个工具,通过界面化的方法,来实现操作http报文携带的请求字段、VK值、json、cookie、header值及文件。本篇主要介绍JMeter。

 

测试环境:

接口文档地址:http://doc.nnzhp.cn/

用户名密码:xiaohei/******

 使用JMeter时首先创建一个线程组,在线程组上创建测试任务。

本篇涉及到的测试内容都是get/post的http请求,创建任务时,在线程组-添加-sampler上创建http请求。

点绿色三角按钮运行任务,在任务右键-添加-监听器-查看结果树,来观察请求和结果。

一、get获取学生信息

简要描述:获取学生信息接口

请求URL:http://api.nnzhp.cn/api/user/stu_info

请求方式:get

参数:

JMeter配置方法: 填写地址、端口默认80、方法GET、填写路径(不带地址)及请求参数名和参数值。

二、post+KV进行用户登录

简要描述:登录接口

请求URL:http://api.nnzhp.cn/api/user/login

请求方式:post

参数:

用户名密码:不可描述/不可描述

JMeter配置方法:

1. 填写地址、端口默认80、请求方式改为post、填写路径

2.K-V值在body中配置

3.登录成功后,服务器返回sign作为客户端的cookie值

 三、post+json添加学生信息

简要描述:添加学生信息,这个接口是用来讲入参是json类型的

请求URL:http://api.nnzhp.cn/api/user/add_stu

请求方式:post;入参是json类型

参数:

postman配置方法:

1、添加地址、端口、路径

2、在bodydate中配置json脚本,参数名加"",str参数加"',int不加"",必选项必填,结尾以“,”分隔。

 另外,如果str中有汉字,需要补充配置编码为utf-8,否则存入数据库为乱码,查不到。

四、(A)post+cookie完成充值

简要描述:学生金币充值接口,这个接口是为了讲添加cookie以及身份验证的

请求URL:http://api.nnzhp.cn/api/user/gold_add

请求方式:post

参数:

该接口有权限验证,需要admin用户才可以做操作,需要添加cookie

cookie中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign

JMeter配置方法:

1、充值操作需要依赖管理员登录的cookie,右键-添加-配置元件-http信息头管理器

2、在http信息头部管理中加入cookie参数

3、配置充值VK值信息

(B)另一种高端配置方式:

1、添加用户自定义变量,定义ip

2、添加http cookie管理器,配置管理员登录的用户名、密码

3、配置充值VK值信息

五、通过Referer value验证,获取所有学生信息

简要描述:这个接口是为了说明怎么添加header信息的

请求URL:http://api.nnzhp.cn/api/user/all_stu

请求方式:get

需要添加header信息,key为Referer value 为http://api.nnzhp.cn/

JMeern配置方法:

1、请求方式为get

2、添加header头部,添加方式与(四)中相同,配置Referer

3、Referer意义:告诉服务器我是从哪个页面链接过来的,防钓鱼网站

六、通过接口上传文件

简要描述:上传文件接口

请求URL:http://api.nnzhp.cn/api/file/file_upload

请求方式:post

参数:

JMeter配置方法:

1、可以使用自定义参数ip,请求方式为post

2、在file upload中,修改文件类型为file,浏览选择文件路径

 七:解决乱码问题

 JMeter查看结果树为乱码,解决方案:

  1、在jmeter的bin目录下找到jmeter.properties这个文件上,搜索sampleresult.default.encoding并改为sampleresult.default.encoding=utf-8,去掉注释符号#
  2、重启jmeter

body date中添加中文字符为乱码,解决方案:

  1、在jmeter的bin目录下找到jmeter.properties这个文件添加上,将jsyntaxtextarea.font.family=Hack的注释符号#去掉
  2、重启jmeter

八、JMeter参数化

Jmeter参数化的方式有三种:用户定义的变量、函数生成器、从文件中读取

1、用户定义的变量,引用方式:${定义参数名称}

2、函数生成器

1、打开函数助手对话框(插件)

2、选择调用的函数,如-random、-time等

3、配置参数,点生成生成对应函数表达式

4、将函数表达式放入对应的参数中调用

随机数-random

时间生成函数-time

3、从文件中读取

路径:填写绝对路径,如果放在bin目录下可以只写文件名

参数化名称:可以填写多个参数,在文本中以定义的符号分隔为多列

 九、断言

 断言:将返回内容与设置内容相比对,符合则在结果树中返回成功,不符合则返回失败。

比如这里配置一个包括“操作失败”内容的断言,而执行返回结果中查不到此内容,则断言失败。

与JMeter的第一次亲密接触的更多相关文章

  1. 第四章 跨平台图像显示库——SDL 第一节 与SDL第一次亲密接触

    http://blog.csdn.net/visioncat/article/details/1596576 GCC for Win32 开发环境介绍(5) 第四章 跨平台图像显示库——SDL 第一节 ...

  2. 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别

    本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beg ...

  3. 【阿里云产品公测】与云引擎ACE第一次亲密接触

    阿里云用户:林哥神话 公测当然是第一次了.这个第一次亲密接触,但话又说回来对ACE我一直都不是那感兴趣的,但是看到阿里介绍还是那般神奇,再加上200无代金券来更加给力.最后就申请了这次公测. 平时一直 ...

  4. Linux就是这个范儿之第一次亲密接触(3)

    原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 .作者信息和本声明.否则将追究法律责 1.4 返璞归真的命令行 有一种说法,现代计算机不是靠电力驱动,而是靠“鼠标”.多少应用程序的界面需 ...

  5. 我和Python的第一次亲密接触 - 零基础入门学习Python001

    我和Python的第一次亲密接触 让编程改变世界 Change the world by program 小甲鱼经常说,学习一门编程语言就是要深入其中,要把编程语言想象为你的女朋友你的情人,这样你学习 ...

  6. 第一次亲密接触MSF

    第一次亲密接触MSF Metasploit Framework介绍 Metasploit是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞,并保持频繁更新.被安全社区冠以“可以黑掉整个宇宙”之名的强 ...

  7. [OS] 多线程--第一次亲密接触CreateThread与_beginthreadex本质区别

    转自:http://blog.csdn.net/morewindows/article/details/7421759 本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_be ...

  8. Linux认知之旅【01 与Linux第一次亲密接触】!

    一.搜索LINUX,了解它的前世今生! linux很厉害,应用在很多方面,我知道有超算.IOT.树莓派. 而且好多开发人员都在用这个系统.linux作为服务器使用,常年不用重启,不宕机,很少受病毒影响 ...

  9. Linux就是这个范儿之第一次亲密接触(2)

    原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 .作者信息和本声明.否则将追究法律责 1.2 不一样的图形操作 几乎所有Linux的新用户都会认为Linux的图形界面是相当的绚丽又多彩. ...

随机推荐

  1. Nginx:Linux下安装Nginx与配置

    准备目录 [root@sijizhen ~]# mkdir /usr/local/nginx [root@sijizhen ~]# cd /usr/local/nginx/ 下载 1.Nginx,在h ...

  2. [Linux]fcntl函数文件锁概述

    概述 fcntl函数文件锁有几个比较容易忽视的地方: 1.文件锁是真的进程之间而言的,调用进程绝对不会被自己创建的锁锁住,因为F_SETLK和F_SETLKW命令总是替换调用进程现有的锁(若已存在), ...

  3. Appium 测试微信小程序 Webview

    通过微信打开debugx5.qq.com,或者直接扫下面二维码   勾选[打开TBS内核Inspector调试功能]   Chrome查看页面元素 手机连接电脑,查看是否连接成功.如下展示设备号则为连 ...

  4. vue-cli项目 build后请求本地static文件中的 json数据,路径不对,报错404处理方法

    vue-cli 项目 build  出错点: 1,build生成dist 放在tomcat上 报错,不显示内容  解决办法: config>index.js===>assetsPublic ...

  5. 烽火2640路由器命令行手册-11-IP语音配置命令

    IP语音配置命令 目  录 第1章 配置拨号对命令... 1 1.1 配置拨号对命令... 1 1.1.1 dial-peer voice. 1 1.1.2 application. 2 1.1.3 ...

  6. .net基础学java系列(二)IDE

    上一篇文章.net基础学java系列(一)视野 废话: "视野"这篇文章,管理员说它比较空洞!也许初学者看不懂表格中的大部分内容!多年的neter估计也有很多不知道的! 有.net ...

  7. kafka可视化客户端工具(Kafka Tool)的基本使用(转)

    转载地址:https://www.cnblogs.com/frankdeng/p/9452982.html 1.下载 下载地址:http://www.kafkatool.com/download.ht ...

  8. CF1093

    题解: D: 比较显然这个图得是二分图才行 然后每个二分图上的方案是$(2^a+2^b) (a,b是两种颜色的个数)$ E: 我tm就不该先写bitset的 正解和bitset都很好想 因为是个排列, ...

  9. .NET英文技术文章导读(2017-02-09)

    关键字:Docker..NET Core.Apache.ASP.NET Core.Logic App.C#7..NET Standard   使用Docker和.NET Core构建DockNetFi ...

  10. C语言--第五次作业--指针

    1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 没想到都已经学习完C语言的灵魂-指针的内容了(当然也是C里面最难学习的内容了).虽然在之前就有听学习进度比较 ...