【三】Jmeter接口自动化测试系列之Http接口自动化实战
作者:大虫
本文介绍 Jmeter 工具的 http 接口 自动化测试 实战!
为了通用性,就拿知乎 网站作为实战例子吧!
必备技能:http接口基础知识、抓包,本文不做详细介绍,不会的可以先百度恶补!
首先,我们把 知乎登录的包抓下来:
我们抓一下 获取

Jmeter 对应脚本如下:

获取发现栏目脚本:

使用正则表达提取器,提取栏目内容(what?不会正则表达式?找百度)

使用 foreach 控制器将提取结果合并到一个字符串


打印结果:

运行结果:

在进行http 接口测试的时候,通常需要注意一下几点:
- cookie的处理,正常流程,可以用 HTTP Cookie 管理器 管理器操作!
- 特殊流程,如果需要自定义cookie ,可以通过 HTTP信息头管理器 里面添加cookie 字段来处理!
- Content-Type 非常重要,如果调用接口报错,排查其他没有问题的情况下,十有八九就是这个Content-Type 格式不对造成的!
- 在进行性能测试时,http接口的超时时间一定要设置一个默认值,不然在Jmeter进行分布式测试时,远程server端经常无法关闭,需要手动重启,当时为了这个还写了一个远程重启Jmeter server 的软件,糗大了!
- 利用Jmeter 进行接口自动化测试时,可以利用Beanshell 处理数据、业务规则校验,使用Jdbc 请求 和 正则表达式来提取数据库数据和网页数据,从而进行自动化流程和数据核对!
- 更高级的方法,可以将Jmeter 布置到 服务器上,然后通过Jenkins 来进行调用,还可以自己写一些文件插件(Excel ),生成比对结果!
示例脚本下载地址:http://files.cnblogs.com/files/artoftest/3.zip
下一篇我们介绍 结合 http请求、beanshell、jdbc请求、正则表达式提取器,来实现自动化数据流程和数据核对,感兴趣的朋友可以关注,谢谢!
【三】Jmeter接口自动化测试系列之Http接口自动化实战的更多相关文章
- 【二】Jmeter接口自动化测试系列之函数使用及扩展
上一篇文章我们了解了Jmeter的参数化的集中方法,虽然方法不是很多,但已经足够使用! 本篇文章,介绍一下Jmeter自带函数的使用和 函数扩展,来满足测试工作中的各种需求! Jmeter自带函数 点 ...
- 【一】Jmeter接口自动化测试系列之参数化方法
Jmeter作为虽然作为一款和LoadRunner相媲美的性能测试工具,但参数化功能实在不咋地,这里我大概总结了一下Jmeter的参数化方法! 至于参数化的用途,我这里就不多说了,做测试的都明白吧!本 ...
- Jmeter接口自动化测试系列之函数使用及扩展
介绍一下Jmeter自带函数的使用和 函数扩展,来满足测试工作中的各种需求! Jmeter自带函数 点击函数帮助助手图标,弹出函数助手框,可以选择各种各样的函数 举例: _Random 获取随机数,可 ...
- 接口自动化测试持续集成--Soapui接口功能测试参数化
按照自动化测试分层实现的原理,每一层的脚本实现都要进行参数化,自动化的目标就是要实现脚本代码与测试数据分离. 当测试数据进行调整的时候不会对脚本的实现带来震荡,从而提高脚本的稳定性与灵活度,降低脚本的 ...
- 接口自动化测试持续集成--Soapui接口功能测试断言
断言也就是判断实际结果与预期结果是否相等,如果相等测试通过,否则测试失败,自动化测试不管是UI,Services还有unit都需要做断言. 一.添加断言步骤的组件 二.设置断言 设置常用断言的三种方式 ...
- 接口自动化测试持续集成--Soapui接口功能测试持续集成
Soapui接口功能测试持续集成,需要先安装好maven和jenkins,maven和jenkins安装和系统环境配置比较简单,在这里不做叙述. 1.Soapui保存的工程文件 soapui工程保 ...
- 接口自动化测试持续集成--Soapui接口功能测试数据传递
做接口测试经常会遇到如下两种情况需要处理数据传递 接口间的数据依赖,A接口请求的参数需要用到B接口的返回值 接口请求通常要用到鉴权的接口获取Token,Token通常会跟其他接口构成一对多的关系,这种 ...
- 自动化测试系列:Selenium UI自动化解决iframe定位问题
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6735116.html 一个阴雨霏霏 ...
- Appium python自动化测试系列之滑动函数封装实战(八)
8.1 什么是函数的封装 教科书上函数的封装太官方,我们这里暂且将函数的封装就是为了偷懒把一些有共性的功能或者一些经常用的功能以及模块放在一起,方便我们以后再其他地方调用.这个只是个人的理解所以大家懂 ...
随机推荐
- Linux命令 shutdown
1. 简介 shutdown是用来让计算机处于暂停,关机,重启的指令 2.语法 shutdown [krhHPc] [时间] [警告信息] 时间的格式: hh:mm 表示多长时间以后执行 ...
- LOJ #103. 子串查找 (Hash)
题意 给定两个字符串 \(A\) 和 \(B\),求 \(B\) 在 \(A\) 中的出现次数. 思路 这是一道 \(KMP\) 的模板题. 不过 \(Hash\) 是个好东西,可以用 \(Hash\ ...
- HBase版本进化史及大版本特性
HBase 2.0 新特性介绍 2018年4月30日HBase发布了2.0的Release版本.HBase的2.0版本承载了太多的Features,共包含4551个Issues,可以说是迄今最大的一个 ...
- docker安装及使用
一.简介 说起docker,大多数人第一时间想起来的应该有虚拟化.云计算,这三者有什么区别呢? 对比: 我们所熟知的虚拟化有KVM.xen.Hyper-V等,这些虚拟化虚拟出来的服务器会产生一个新的操 ...
- SpringData 完全入门指南
SpringData 笔记 1. 配置项目 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> < ...
- PHP操作XML方法之 XML Expat Parser
XML Expat Parser 简介 此PHP扩展实现了使用PHP支持JamesClark编写的expat.此工具包可解析(但不能验证)XML文档.它支持PHP所提供的3种字符编码:US-ASCII ...
- HTML CSS的中英文对照
python 大蟒蛇 downloads 下载 install 安装 customize 自定义 path 环境变量:路径 optional 可选的 feature 特性特点 documentatio ...
- LeetCode Array Easy 88. Merge Sorted Array
Description Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted ar ...
- OC开发系列-内存管理
概述 移动设备的内存极其有限,每个app所有占用的内存是有限的.当app所占用的内存比较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间. 任何集成了NSObject的对象都需要手动进行 ...
- 【记录】eclipse / STS 设置注释模版格式/导入注释模版格式
设置注释模板的入口:Window->Preference->Java->Code Style->Code Template 将如下保存在新创建的xml文件中,导入进去 < ...