学习地址:

https://ke.qq.com/webcourse/index.html#course_id=89002&term_id=100088372&taid=153459181575082&vid=b14059766iy

主要学习内容:

一、jmeter的下载、解压及启动

1、下载地址:http://jmeter.apache.org/

点击左侧download,选择2.1.3的zip版本,提示需要Java 6或更高版本(具体java安装请自行解决,之前的博客中讲过这个)

2、下载之后,直接解压,进入到bin目录下,看到两个文件夹,分别是examples和templates,其中examples中有功能测试+性能测试的例子,往下找会看到jmeter.bat和jmeter.sh,windows环境下运行jmeter.bat即可,linux环境下运行jmeter.sh

3、双击jmeter.bat之后,就会打开界面

二、TCP取样器的学习

1、TCP取样器的建立:

测试计划——右键添加线程组——在线程组上右键添加Sampler,选择TCP取样器,之后就会出现一个TCP取样器的选项,点击之后修改名称,如修改成apache tcp测试

2、在浏览器中输入jmeter.apache.org,并按下F12把web端调试工具调起来,network选项,选择最左侧的jmeter.apache.org,点击Request headers,就能看到获取的内容,为了更好的看到请求和响应的数据,可以用tcpmon工具来监听tcp请求,具体操作如下:

下载tcpmon之后,解压,在build文件夹中,能够看到tcpmon.bat文件,

直接双击就可以看到tcpmon的运行界面:

点击Admin,在对应的位置分别输入如下值:

之后点击Add,就能看到最顶端的菜单栏右边多了一项:Port 80,点击切换到这个tab下,在浏览器中输入:localhost:80(因为监听的是80端口,如果Listen Port是8080端口,那就需要输入localhost:8080),输入之后点击enter,能够看到浏览器中的响应结果:

上面的textview的大框中显示的是:请求内容,下面的是响应结果,把上面的内容直接拷贝电脑jmeter的tcp取样器的“要发送的文本”的框中

将以上内容直接复制到TCP取样器的“要发送的文本”中,填写“”服务器名称或IP”为:jmeter.apache.org,端口填写80,具体见下方图片:

3、线程组右键——添加监听器,选择“察看结果树”

4、点击绿色的运行按钮,等待结果出来后,点击“察看结果树”

然后以上只是最基本的流程和操作,如果对于测试结果进行验证,还需要增加断言,后续补充。

三、http请求的学习(添加一个对360智能摄像机的“获取我的摄像机列表”的接口的测试)

抓包的环境配置:

在电脑端连接一个WiFi之后,通过cmd获取到该主机的IP地址,然后确定一下Fiddler里面的端口号,在手机端就可以也连接这个WiFi,然后在具体的WiFi信息的HTTP代理处设置手动代理,然后将电脑端的IP地址和Fiddler的端口号都输入进入,比如:

1、我的电脑端的IP如下,cmd中输入ipconfig:

因为是直接用网线连接的路由器,这里就是:192.168.36.228

然后手机端直接设置HTTP代理:

服务器: 192.168.36.228

端口: 8888(备注:这里如果不做修改,Fiddler默认端口都是8888,如果修改了,请自行查询后填写正确即可)

一个真实的例子可以来分享一下,后期附图。

1、360智能摄像机需要获取摄像机列表页的信息,接口是:/app/getIpcList,host:q.jia.360.cn,这些信息都可以通过fiddler抓包看出来,走的是POST请求

这里就能够看到:POST请求,接口是:/app/getIpcList,host:q.jia.360.cn,然后还有一堆cookie信息

2、在jmeter中建立线程组,添加Sampler--http请求,添加“察看结果树”,添加“HTTP Cookie 管理器”,这些cookie信息也可以从fiddler中抓到,设置Q、T、qid、sid的值、域、路径

截图如下所示:

这里有一个问题,就是域和路径分别是从哪里获取的呢?还是默认有什么设置呢?

3、http请求中修改名称,填写“服务器名称或IP”,协议选https,方法选POST(这个方法也是从fiddler中抓到的),POST请求需要添加下面的body data,填写内容从fiddler的request的TextView中直接复制过来就行

如果这里是GET请求,就需要设置Parameter,一会看一个这个例子吧。

4、直接运行,就能得到一堆内容,选择以json形式展现,就能看到如下图所示的结果:

这里有一个问题,就是比如title显示的unicode值如何转换成中文显示出来?

【接口测试】jmeter的使用的更多相关文章

  1. 接口测试Jmeter+Fiddler组合

    接口测试Jmeter+Fiddler组合 在使用完Jmeter在做接口测试之后,个人感觉Jmeter比loadrunner好用,原因是界面操作更加直观,不必像loadrunner在写接口请求函数的时候 ...

  2. http接口测试——Jmeter接口测试实例讲解

    摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助     一.测试需求描述 1. ...

  3. 接口测试-jmeter

    一.jmeter下载安装 1)安装jdk(见博文<windows上安装jdk>) 2)在jmeter官网下载  http://jmeter.apache.org/download_jmet ...

  4. JMeter接口测试-JMeter+ant实现接口自动化测试

    前言 小伙伴们,用python做接口自动化是不是写代码比较繁琐,而且没有python代码基础的小伙伴根本无从下手对吧!今天我们来学习一下如何使用JMeter工具实现接口自动化测试. 1.安装JDK,配 ...

  5. (转)http接口测试——Jmeter接口测试实例讲解

    http://my.oschina.net/hellotest/blog/512482

  6. 多测师讲解接口测试 —jmeter接数据库(004)_高级讲师肖sir

    1.连接数据库jar包 2. 3. jdbc:mysql://192.168.153.131:3306/baoan?zeroDateTimeBehavior=convertToNull&all ...

  7. jmeter接口测试实战-创建用户

    jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...

  8. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  9. Jmeter接口测试实战-数据传递

    Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...

  10. Jmeter 接口测试实战-有趣的cookie

    Jmeter 接口测试实战-有趣的cookie 场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都 ...

随机推荐

  1. 黑马程序员_ Objective-c 面向对象笔记详解

    1)类,对象,方法 类 类名: 1) 类名的第一个字母必须是大写 2) 不能有下划线 3) 多个英文单词,用驼峰标识 类的声明和实现 类的声明 @interface 类名 : NSObject { @ ...

  2. C++设计模式-Flyweight享元模式

    Flyweight享元模式 作用:运用共享技术有效地支持大量细粒度的对象. 内部状态intrinsic和外部状态extrinsic: 1)Flyweight模式中,最重要的是将对象分解成intrins ...

  3. Java中的内部类(回调)

    一.内部类的主要作用如下: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 3. 内部类所 ...

  4. Javascript中的Promise

    Promise定义 Promise是CommonJs的规范之一,包含resolve,reject,done,fail,then等方法,能够帮助我们控制代码的流程,避免函数的多层嵌套.异步在web开发中 ...

  5. STL容器适配器 stack, queue

    stack是一种后进先出(last in first out)的数据结构.它只有一个出口,如图所示.stack允许新增元素,删除元素,取得最顶端元素.但除了最顶端外,没有其他任何地方可以存储stack ...

  6. 使用python+pychram进行API测试(接口测试)初级STEP 1

    花了一天时间安装了解了下最基本的python+pychram进行API测试,下面这个可以指导自己以后入门:基本的开发级别还需要学习 1.python下载地址:https://www.python.or ...

  7. [CSS]多浏览器兼容的垂直居中,兼容多个IE

    相信你都是在兼容垂直居中而烦恼,翻阅多个网站总是找不到理想的方法而苦恼,来到这里你的问题解决了!如果对你有帮助请点个赞,谢谢. 多兼容垂直居中,在IE6-9亲自测试并通过 <!doctype h ...

  8. Ajax方法封装

    打算自己封装一个ajax方法,再不用jq库的情况下,直接引用: ajax作用:数据交互,在不刷新页面的情况下,发送请求,获取数据: 首页第一步常见一个ajax对象:XMLHttpRequest,之后会 ...

  9. dev_set_draw的fill和margin模式

    注意:分别观察两张填充模式,一种是内部填充,一种是边缘填充.还有一种缺省的填充. Name dev_set_draw — Define the region fill mode. Signature ...

  10. RichEdit 追加 RTF

    下面实现追加RTF 到 RichEdit 的功能其本质是:EM_STREAMIN 消息,详细查看 MSDN//--------------------------------------------- ...