使用语法:JavaScript
结构:
测试工具主要包括三部分
- 在发起请求之前运行的Pre-request,预处理数据,作用:在发送请求前编辑请求数据,比如用户名或时间戳
- 对响应后的数据运行的Test,检查数据并做断言,作用:对响应的数据检查和断言,例如检查状态码、检查响应串、验证JSON、检查header、限制应答时间
- 批量运行所有请求的Collection Runner,批量执行接口测试
基本流程:
- 确认接口信息
- 对单个接口进行调试
- 输入URL地址
- 输入参数
- 获取响应数据,并对数据进行检查和断言处理
- 保存响应数据到环境变量:比如校验信息csrf令牌,cooking值,token值
- 预编译模块处理Pre-request:比如时间戳
- 最后对接口进行批量测试:Collection Runner
如果要使用自动化测试,需要购买9.99美金的Jetpacks,暂时不想购买的话可以试一下
Team版Postman。现在是可以免费试用的,不但拥有Jetpacks的功能,还能与其他账户同步Collection。
全局变量:仅有一组
环境变量:可有多组,就有点像局部变量,用户自定义,当与全局变量重名时,可覆盖全局变量,
postman接口实例
1.get类型
可以直接在浏览器中进行测试,?后写参数,&拼参数
2.post类型
请求选择post,添加参数即可
3.入参是jason类型
选择Body-raw-JSON(application/json),直接将jason串复制进来
4.请求头加cookie
在Headers中添加cookie的key和value
5.请求头加refer
6.上传文件
body-form-data-File-选择文件即可
jmeter基础
1.添加http请求
sep1测试计划-添加-Threads-线程组
sep2 线程组-添加-Sample-http请求
sep3 添加域名、端口号、协议、请求方法、路径、编码格式、参数
参数为文件 Files Upload --添加--文件名称:文件的绝对路径,或直接把文件放在jmeter的bin路径下,直接添加文件名,参数名称:参数名
sep4添加断言(相当于LR中的检查点) 请求-添加-断言-响应断言---断言内容请求response中的值
sep5 添加监听查看请求结果 线程组、请求-添加-监听器-察看结果树
sep6 根据需要添加配置原件(例如cookie或http信息头)
2.参数化、关联
参数化-----服务器或程序校验输入值的唯一性需要参数化,例如新加用户,手机后不能重复添加
方法一:添加-配置元件-CSV Data Set Config
参数化文件首行不用写参数名,引用参数时 -----${参数名}
方法二:使用函数助手
选项---函数助手 常用的time取到秒级可以用做唯一性的参数的取值,random生成一个取值范围,任意取其中的一个值
方法三:配置原件-----用户定义的变量,一 一写出来
关联----服务器返回动态码,为了通过服务器的验证,使用关联,例如,添加金币,需要服务器返回动态的记录用户登录状态的sign串
方法一:正则表达式
添加-后置处理器-正则表达式提取器
正则表达式,需要看从哪个请求返回,就去那个请求的返回集中找,找到后复制该动态值以及左右边界,动态值替换为正则表达式即可
方法二 jason path(需要安装插件)$.login_info.sign 代表返回jason串中,取真个jason下面的login_info节点下面的sign的值
3.jmeter操作数据库
sep1测试计划加载java连接mysql的jar包
sep2 添加JDBC Connection Configuration 线程组-添加-配置元件-JDBC Connection Configuration
Variable Name 可以任意添写
database url:jdbc:mysql://ip:端口号/库名?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true 注:characterEncoding=UTF-8保证新增修改数据库中文不乱码,allowMultiQueries=true 允许同一个请求同时写增删改查操作
JDBC driver Class:com.mysql.jdbc.Driver 固定写法
username:数据路用户名 Password 数据库密码
sep3 添加 jdbc request 线程组-添加-Sample-JDBC Request
Variable Name 一定要和JDBC Connection Configuration中Variable Name已知,否则报错
Query Type 选Callables Statement 可以同时写增删改查
4.jmeter解决乱码
在jmeter.properties 这个文件里面
找到sampleresult.default.encoding=xx
后面xx改成utf-8,然后取消注释
解决jmeterbody里面中文显示不出来
找到 JSyntaxTextArea
然后把注释取消就行了,以js开头的
解决请求参数中午乱码 请求页面
content encoding 填写utf-8
解决数据库操作中文乱码
database url后添加characterEncoding=UTF-8
随机推荐
- Rainbond 对接 Istio 原理讲解和代码实现分析
一.背景 现有的 ServiceMesh 框架有很多,如 Istio.linkerd等.对于用户而言,在测试环境下,需要达到的效果是快.开箱即用.但在生产环境下,可能又有熔断.延时注入等需求.那么单一 ...
- Redis OM .NET Redis对象映射框架
Redis OM Redis OM 是 Redis 官方推出的对象映射框架,即:Object Mapping.让开发人员更简单.方便的操作 Redis 数据.Redis 存储的数据抽象为对象映射,支持 ...
- update sql时,常记错同时更新多个参数用and,正确是用逗号
记录一下,经常记错的一个点,在update多个参数时,多个参数之间用and连接,这个时候,语句就会报错了 其实,正确的是用逗号隔开, 使用SQL中的update更新多个字段值,set后面的条件要用逗号 ...
- JDK_win10环境下安装JDK8时点击下一步没反应的解决办法
问题现象 打开JDK8,点击下一步就没后续了... 解决方法 百度了一下"win10安装jdk8点下一步无响应" . 按照博客中说的操作试了下...安装成功了... 只想说...什 ...
- Pytest_参数化(10)
pytest参数化有两种方式: mark的parametrize标记:@pytest.mark.parametrize(变量名,变量值),其中变量值类型为列表.元组或其它可迭代对象. fixture的 ...
- 详解nohup /dev/null 2>&1 含义的使用
https://www.jb51.net/article/169837.htm 这篇文章主要介绍了详解nohup /dev/null 2>&1 含义的使用,文中通过示例代码介绍的非常详细 ...
- 去掉所有包含this或is的行
题目描述 写一个 bash脚本以实现一个需求,去掉输入中含有this的语句,把不含this的语句输出 示例: 假设输入如下: that is your bag is this your bag? to ...
- Go语言系列之依赖管理
依赖管理 为什么需要依赖管理? 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面.这就导致了同一个库只能保存一个版本的代码.如果不同的项目依赖同一个第三方的库的不同版本,应该怎么解 ...
- 自定义异步爬虫架构 - AsyncSpider
作者:张亚飞 山西医科大学在读研究生 1. 并发编程 Python中实现并发编程的三种方案:多线程.多进程和异步I/O.并发编程的好处在于可以提升程序的执行效率以及改善用户体验:坏处在于并发的程序不容 ...
- 新增访客数量MR统计之NewInstallUserMapper相关准备
关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)云盘目录说明:tools目录是安装包res 目录是每一个课件对应的代码和资源等doc 目录是一 ...