目前很多接口都是基于HTTP的,所以针对HTTP接口测试的了解很重要,下面就简单说明一下,一个基于Jmeter上HTTP接口测试需要的内容。

一、一个HTTP接口测试需要最基础的内容

  如下:

  简单说明:

  1、接口测试计划---是这一次测试计划的名称;

  2、HTTP信息头管理器:是这次测试中管理HTTP请求需要用到的头信息;

  3、HTTP Cookie管理器:是这次测试中管理Cookie的组件;

  4、HTTP请求默认值:是这次测试中提取出一些常用并且统一的内容,进行管理的组件;

  5、接口:是一个线程组,只是命名为”接口“,表示为接口测试的内容;

  6、控制请求次数:这是一个循环控制器,方便后续对请求次数的控制;

  7、访问百度:这是一个HTTP请求的取样器,用来实际方式请求的组件;

  8、提取信息:这里是一个后置处理器--正则表达式提取器,用来提取一些后续需要使用的响应那内容;

  9、响应断言:用来判断我们的请求是否成功;

  10、查看结构树:用来查看我们每个请求的结果、请求内容和响应内容等;

  11、聚合报告:用户查看整个请求的一个统计情况;

  在有提取的信息的时候,为了验证提取的是否正确,可以通过后置处理器中的Debug PostProcessor和BeanShell PostProcessor去查看结果。

  12、输出响应结果:是一个beanshelll postprocessor组件,可以在里面编写脚本,常用的是通过log.info将信息输出到日志中,查看。

  13、Debug  PostProcessor:可以在执行测试后,在查看结果树-每一个取样器下的Debug PostProcessor中查看

二、详细说明

1、HTTP信息头管理器

  详细说明见:https://www.cnblogs.com/smallstone2018/p/9795960.html

  可以通过抓包工具,获取请求需要的信息头,然后复制,在管理器中点击“Add from clipboard”,插入相应的信息头,如下图:

2、HTTP Cookie管理器

  详细说明见:https://www.cnblogs.com/smallstone2018/p/9795960.html

  设置为自动获取,不配置其他信息。

3、HTTP请求默认值

  详细说明见:https://www.cnblogs.com/smallstone2018/p/9795960.html

  根据需要针对相应的进行设置,如下图:

4、线程组

  详细说明见:https://www.cnblogs.com/smallstone2018/p/9776731.html

  根据需要,做以下配置:

5、循环控制器

  详细说明见:https://www.cnblogs.com/smallstone2018/p/9795971.html

  根据需要,做以下配置:

6、HTTP请求

  根据需求,配置如下:

  其他需要信息,使用HTTP请求默认值管理器中的值。

7、响应断言

  设置判断响应是否正常,配置如下:

8、提取信息

  详细说明见:https://www.cnblogs.com/smallstone2018/p/9799734.html

  使用后置处理器-正则表达式提取器,提取响应信息中的数据。

  如下图:

  为了确认提取的信息是否正确,可以使用正则表达式工具验证,也可以通过Jmeter自带的一些组件去验证,这里主要介绍BeanShell PostProcessor和Debug PostProcessor。

  (1、BeanShell PostProcessor

  在beanshell中,编写脚本,将信息输出到日志,查看是否正确

  在日志信息中,可以输出相应的结果,查看结果是否是自己想要的。

  (2、Debug PostProcessor

  在执行脚本后,进入查看结果树中,查看相应的取样器下的Debug PostProcesssor信息,如下图:

9、查看结果

  查看结果树的详细说明见:https://www.cnblogs.com/smallstone2018/p/9799714.html

  因为响应断言中的判断条件失败,所以导致请求失败。

  修改响应断言,查看结果:

Jmeter之完整的HTTP接口测试的更多相关文章

  1. 【NO.9】jmeter - 一个完整的接口测试的脚本

    使用Jmeter对一个接口地址或者一个页面地址执行N次请求,下面来说说怎么建立一个测试脚本(也称为”测试计划”). 1.    运行Jmeter.bat 双击"Jmeter.bat"文件,稍等片刻后J ...

  2. jenkins+ant+jmeter搭建持续集成的接口测试平台

    一.jemter接口脚本的编写步骤如下: 1. 编写接口请求 通过录制或者查看接口文档,编写接口请求,进行调试,确保接口调试通过,对于http的请求来说,就是正确的填写域名,查询字符串,查询参数等信息 ...

  3. 【NO.10】Jmeter - 一个完整的录制脚本的过程

    上1篇介绍了"使用Jmeter对一个接口地址或者一个页面地址执行N次请求",也就是你自己干了一件从"零"开始的事情. 那么这1篇介绍"如何使用Jmeter录制'访问一个接口地址或者一个页面地址'的脚本 ...

  4. Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  5. 【转】Jenkins+Ant+Jmeter搭建持续集成的接口测试平台

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  6. 使用Jmeter进行简单的http接口测试

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

  7. JMeter如何和Charles进行接口测试

    什么是接口测试,接口测试到底如何开展,我相信任何一个软件测试人员都会有这样的疑问, 这里我以接口测试自动化平台的登录接口进行讲解. 一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测 ...

  8. SoapUI、Jmeter、Postman三种接口测试工具的比较分析

    前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下吧.各位如果要转载,请一定注明来源,最好在评论中告知博主一声,感谢.本报告从多个方面对接口测试的三款常用工具 ...

  9. JMeter一次简单的接口测试(转载)

    转载自 http://www.cnblogs.com/yangxia-test 本次接口测试:根据ws查询所有商品的具体的信息.检查商品是否返回成功. 1.  准备测试数据 查询数据库中产品表已上架商 ...

随机推荐

  1. 在Python中使用protobuf2.6.1 string format utf-8 and unicode error

    版本信息: protobuf: v2.6.1 python: 2.7 关于在Python中使用protobuf时 string格式字段的编码问题 在python中编码格式多采用utf-8格式.而pro ...

  2. Dva框架从初识到上手

    引言 最近工作需要用dva框架,同事帮我培训了一下,有一点点认识,在此总结. 当然,以后对dva可能会了解更透彻,文章会不断更新的.   初识 开始看架构代码,没有看文档的时候,不知道里面的几个关键字 ...

  3. Houdini:也许是你未曾听过的最振奋人心的 CSS 进化

    原文链接:Houdini: Maybe The Most Exciting Development In CSS You’ve Never Heard Of更多译文将陆续推出,欢迎点赞+收藏+关注我的 ...

  4. jquery遍历标签中自定义的属性方法

    在开发中我们有时会对html标签添加属性,如何遍历处理 <ul> <li name="li1" sortid="nav_1">aaaaa ...

  5. ifconfig-push

    ifconfig-push中的每一对IP地址表示虚拟客户端和服务器的IP端点.它们必须从连续的/30子网网段中获取(这里是/30表示xxx.xxx.xxx.xxx/30,即子网掩码位数为30),以便于 ...

  6. mybatis返回自增主键问题踩坑

    1 <insert id="insert" keyProperty="id" useGeneratedKeys="true"
 par ...

  7. nginx的配置和基本参数说明

    16 117 118 119 120 121 122 123 #运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes  1;   #全局错误日 ...

  8. 作用域变量 var

    var没有块级作用域,定义后在当前闭包中都可以访问,如果变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改. 变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改: console. ...

  9. Git提交代码的正确姿势

    按此步骤基本没问题,中间有conflict,需要手动解决. 1.git stash 2.git pull 3.git stash pop 4.git add --xxx 5.git commit -m ...

  10. KCF跟踪算法

    参考:https://www.cnblogs.com/YiXiaoZhou/p/5925019.html 参考:https://blog.csdn.net/shenxiaolu1984/article ...