1.1. 接口介绍

本次测试的接口采用内网中的通讯录查询接口进行测试,接口参数如下:

1.2. 使用Jmeter进行接口测试

1.2.1. 打开Jmeter

下载好Jmeter后,双击bin目录下的jmeter.bat文件:

1.2.2. 添加线程组

在“测试计划”上鼠标右键添加-->threads(Users)-->线程组,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定“循环次数”

1.2.3. 添加Http请求默认值

组件,在上步的线程组上右键添加-->配置元件-->HTTP请求默认值

当所有的接口测试的访问域名和端口都一样时,可以使用该元件,一旦服务器地址变更,只需要修改请求默认值即可。

1.2.4. HTTP请求构造

在“线程组”右键-->添加-->samlper-->“HTTP 请求”

在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一起发送的参数列表,配置如下:

1.2.5. 测试报告配置

在“线程组”右键-->添加-->监听器->查看结果树、用表格查看结果、Summary Report三种结果的报告展示

点击运行后,即可看到运行结果,结果如下:

从上述结果返回可以看出,使用【xx】测试,返回的结果有两个,另外在返回数据展示方面,除了上述默认的Text形式外,还可以选择HTML形式,更直观,如下:

另外的表格查看结果,选取一个展示,如下

1.2.6. 输入部分参数化

在实际测试中,不可能查询值测试一个输入值,还有其他测试数据,故引入参数化的概念,让一条用例循环执行,直到所有测试数据均测试完成,如下示例:

Jmeter参数化有4种方法,本例仅介绍最普遍及简单的1个方法,csv文件导入配置

1、准备参数文件

2、配置CSV数据设置配置项:在线程组右键添加-->配置元件-->CSV Data Set Config

3、修改3.2.4中构造的HTTP请求:username修改为参数,从csv文件中引用

4、修改测试计划,使得脚本重复

5、运行后,即可看到结果如下:

1.2.7. 从响应结果提取内容,进行断言  

上述结果,永远都会执行正确,只要请求发送成功,并没有对返回结果进行断言判断,本例介绍断言设置

1、正则表达式提取内容:从响应内容中提取内容与文件提取内容进行对比,本例采用对比的结果为:员工号

在通讯录查询的HTTP请求上右键添加-->后置处理器-->正则表达式提取器,配置如下:

关于正则表达式的规则,请自行查找文档学习,此处提取返回聂荣的员工号后,以test参数引用。

2、增加断言:以提取的员工号test和csv文件中读取的员工号进行对比,判断结果是否正确

在通讯录查询的HTTP请求上右键添加-->断言-->响应断言,配置如下:

在线程组右键添加-->sampler-->Debug Sampler:用于查看正则表达式提取的内容

3、运行后,查看结果

发现第二条参数用例执行结果失败,展开后,查看响应断言的详细信息,发现test并不匹配T123451,也就是说第二个测试人员的员工号不是T123451。

接下来我们查看详细的响应数据,看看问题到底在哪里

从上图可以看出,第二个测试人员的员工号为T12345,而不是T123451,所以断言不通过。

其实,此错误是csv文档中故意设置错误的,以验证断言的正确性。

Jmeter接口测试案例实践(一)的更多相关文章

  1. Jenkins+ANT+Jmeter 接口测试的实践(转载)

    转载地址:https://testerhome.com/topics/5262 1.前言 最近感觉大家都在讲Jenkins+jmeter+ant或maven的使用,但没有说到具体怎么投入到项目使用,只 ...

  2. 对 Jenkins+ANT+Jmeter 接口测试的实践

    转载地址:https://testerhome.com/topics/5262 1.前言 最近感觉大家都在讲Jenkins+jmeter+ant或maven的使用,但没有说到具体怎么投入到项目使用,只 ...

  3. jMeter接口测试案例

  4. Jmeter接口测试加解密及Bean Shell使用案例

    Jmeter接口测试加解密及Bean Shell使用案例 https://blog.csdn.net/russ44/article/details/56009084 本文以base64加解密为例: 一 ...

  5. jmeter 创建接口测试案例

    1 怎么做接口测试? 一般情况下,由于我们项目前后调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送和接收.所以我们下面整理了一下使用Jmeter工具进行htt ...

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

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

  7. TOP100summit 2017:小米唐沐等大咖精心挑选的100个年度研发案例实践

    2017年,机器学习.大数据.人工智能等词汇成为软件研发行业的主流,大前端.DevOps.区块链等技术方式成为热点方向:2017年,智能硬件开始成为新的焦点,这一年更被称为智能音箱井喷的一年:2017 ...

  8. Jmeter接口测试(八)cookie设置

    HTTP Cookie 管理器 如果你有一个 HTTP 请求,其返回结果里包含一个 cookie,那么 使用 JmeterCookie 管理器会自动将该 cookie保存起来,而且以后所有对该网站的请 ...

  9. CSS典型案例实践

    CSS案例实践 一.层布局:定位元素重叠 在CSS中可以通过z-index属性来确定定位元素的层叠等级.需要注意的是: z-index属性只有在元素的position属性取值为relative.abs ...

随机推荐

  1. 30款jQuery常用网页焦点图banner图片切换 下载 (转)

    1.jquery 图片滚动特效制作 slide 图片类似窗帘式图片滚动 查看演示 2.jquery幻灯片插件带滚动条的圆形立体图片旋转滚动 查看演示 3.jQuery图片层叠旋转类似洗牌翻转图片幻灯片 ...

  2. 设计模式:模版模式(Template Pattern)

    android中的Activity框架,View框架中大量的on函数基本上都应用到了Template模式,掌握这一模式对于理解这些框架大有裨益. 模版模式 又叫模板方法模式,在一个方法中定义一个算法的 ...

  3. ArcMap - 使用python更新列中的值

    概述:在外文网上,很多人都问在ArcMap中如何通过SQL修改属性字段的值,我见回答的人都说通过"Field Calculator",貌似不能直接通过SQL语句. 虽然学gis开发 ...

  4. JavaScript 类、构造函数、原型

    类.构造函数.原型  :本质均为函数 利用的原理是:词法作用域,调用对象及作用域链  闭包  属性查找方式    设计和new运算符一起使用的函数叫做构造函数. 构造函数的工作:初始化一个新创建的对象 ...

  5. mysql 5.5 升级到 mysql 5.6

    目前MySQL数据库软件升级到5..26版本,主要有两种方法.一种是停机升级,即在现有环境下先停止数据库,然后升级数据库软件版本和数据库版本:另外一种是采用不停机的主从升级(master--slave ...

  6. python 操作 mysql基础补充

    前言 本篇的主要内容为整理mysql的基础内容,分享的同时方便日后查阅,同时结合python的学习整理python操作mysql的方法以及python的ORM. 一.数据库初探 在开始mysql之前先 ...

  7. Hive是什么!

    Hive是什么! 一直想抽个时间整理下最近的所学,断断续续接触hive也有半个多月了,大体上了解了很多Hive相关的知识.那么,一般对陌生事物的认知都会经历下面几个阶段: 为什么会出现?解决了什么问题 ...

  8. SwitchySharp怎样设置 ( proxy switch!的设置与使用方法)

    规则列表URL  https://autoproxy-G{过}F{滤}Wlist.googlecode.com/svn/trunk/G{过}F{滤}Wlist.txt 注:不同的代{过}{滤}理  相 ...

  9. SQL viewId 比较好看的 Id

    有时候我们希望 Id 要好看一些,比如 Id=1 -> Id=T000001 refer : http://www.kodyaz.com/t-sql/custom-sequence-string ...

  10. 系统学下POWERSHELL吧,工作当中可能用得到呢。不能像以前那样修修改改了。

    把环境,编辑器,版本这些都弄清楚,说不好还能把FCL类库弄懂个大概???:) [DateTime]::IsLeapYear(2008) $result = [DateTime]"06/21/ ...