jemter实战
业务流梳理,需要实现的内容,含jdbc和正则表达式,和取值
1. 登录用户
2. 获取一个未分配的订单,判断是否是未分配
3. 获取配货单号
4. 分配配货单
5. 查询已分配的配货单
6. 查询包裹出库记录
1.登录操作
开启fillder抓包,手工登录页面 wms系统,获取登录的接口

会发现一个登录操作,有很多接口,为什么会这么多,要根据业务去分析,而我们现在业务登录是需要去认证中心去认证,所以会这么多,在获取请求时你不知道哪些接口有用,你可以全部写上,在挨个调试,实战登录,详细步骤不赘述,百度一大把,目前截图下来的是需要注意,
1.新增线程组

新增线程组后,注意 添加cookie管理器(管理上下传递的cookie) 和缺省默认值(如果在http请求中忘记写入了url地址时,会默认调用缺省默认值)

在新增一个http请求,用于你发送请求

在新建一个用户自定义变量,主要用于后期自己定义变量使用

因为熟悉业务流,清楚登录的接口,目前这个项目只需要用到两个接口就可以模拟登录
1.正常的提交用户名和密码进行登录
2.在验证中心获取验证的信息后,登录

用户名和密码,为都已经设置为变量,变量配置为:


在添加一个查看结果树,用于查看返回的响应结果,以及返回过来的返回码
注:针对我的每一个请求,每次接口的请求都会做验证点,验证请求的数据是否正确,因为返回200只代表我们请求没有问题,但是不能确定我们请求逻辑是否正确,是否为我们需要的,所以断言是很有必要的
而你如何知道你要断言的内容:1.有接口文档的返回内容进行断言 2.通过页面操作,抓包的返回内容,选取一些有代表性的验证点
如:登录成功后,在登录页面,会显示登录成功的用户,所以登录的断言如下:
断言添加

断言内容如下:

查看结果树,如果不确定是否断言成功,可以去响应文本中查看
2.获取未分配配货单
同样,在页面上操作功能,获取配货单的接口,页面如下

接口请求

模拟请求:

把订单号像用户名和密码一样,设置为变量,改动订单号时,只需改动变量值就可以,改变后如下:



断言成功,查看结果树

3.获取配货单号(正则使用)
在查询未分配数据时,需要从数据中获取页面上的配货单号,方便一个接口操作使用,配货单号在响应数据中有返回,所以我们通过正则获取配货单号,
正则表达式:

如何写你的正则表达式,根据你返回的请求查看,如下响应数据返回的的内容:

1. 查询数据库中分配的id(数据库连接)
要分配配货单是需要先查询分配的id才可以,所以也就是为什么上一步要获取内部单号,
1.添加jdbc

2 .配置jdbc


Jdbc request配置
以下注意,名称要与配置jdbC名称一致,在写sql时我使用了上一个正则的变量,在cariable name中我有定义了一个变量id,用于下一个job使用

请求数据:
请求的url

请求的响应数据

对比结果是否与数据库相同,相同说明正则提前数据正确,sql语句正确

4.分配配货单
页面操作内容,通过fillder抓包获取接口
请求如下:

请求如下
注意 id这里获取不能直接用id,目测是因为从数据库中返回的是一个list,而list获取数据时,要遍历或者指明获取第几个,所以这里使用时,也需要指明要使用第几个数据 需要指明获取的的第几个

断言数据:
在页面操作配货单时会提示分配成功

所以断言的内容就为:返回数据包含分配成功

5.查询已分配配货单
抓包获取接口
查询都是,判断返回数据是否有自己的内容,断言数据,有数据就显示有几个数据,没有数据就不会显示记录,所以断言如下:

到此为止登录后对未分配的订单进行分配操作,并在已分配列表中可以进行展示
6.查询包裹出库记录
我们还可以通过获取内部单号,

使用正则提取

我在使用退件重发的其中一条接口进行验证获取的内部单号

返回和请求

jemter实战的更多相关文章
- Jemter+Badboy实战经验一(Badboy录制及基础功能)
1. 使用工具: Apache Jemeter:http://jmeter.apache.org/download_jmeter.cgi (免费官网下载地址) BadBoy: http://www ...
- jmeter接口测试-调用java的jar包-csv参数化请求-BeanShellPreProcessor生成验签作为请求验证参数-中文乱码----实战
背景及思路: 需求:要做 创建新卡 接口的测试,要求: 1. 不需要每次手动修改请求参数. 方案:文中先用excle将数据准备好,导出为csv格式,再用jmeter的csv请求进行参数化 2. 卡号需 ...
- SSH实战 · 唯唯乐购项目(上)
前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...
- GitHub实战系列汇总篇
基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- 给缺少Python项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
- asp.net core 实战之 redis 负载均衡和"高可用"实现
1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的"高可用"实现, 呵呵双引号的"高可用"并不是 ...
- Linux实战教学笔记08:Linux 文件的属性(上半部分)
第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...
随机推荐
- Go语言基础之4--流程控制
一.if else语句 1.1 基本语法1 语法1: if condition { //do something } 语法2: if condition { //do something } else ...
- nginx 资源重定向
背景:有时候我一些资源(.js .css etc.)等不想访问我本地的,我想重定向到其他 URL 解决:直接修改 nginx 的配置文件 conf,添加下面的代码 #avoid processing ...
- Select语句完整的执行顺序
Select语句完整的执行顺序:1.from子句组装来自不同数据源的数据:2.where子句基于指定的条件对记录行进行筛选:3.group by子句将数据划分为多个分组:4.使用聚集函数进行计算:5. ...
- javascript中typeof与instanceof的区别
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: typeof typeof 是一个一元运算,放在一个运算数之前 ...
- 使用summernote编辑器上传图片,重写onImageUpload
JS部分:$('.summernote').summernote({ height: 200,//高度 tabsize: 2,//页面上的summernote编辑框的个数 lang: 'zh-CN', ...
- nginx 访问路径配置
比如: http://127.0.0.1/ 对应的物理路径 c:/a/b/c 比如:http://127.0.0.1/eec 访问的地址对应的物理路径: d:/a/b/c #user nobody; ...
- fuser解决The requested resource is busy
AIX 下出现umount busy | 处理 2011-08-17 17:22:57| 分类: AIX|字号 订阅如果一个文件系统打开了一个文件,那么必须在卸载之前将该文件关闭.例如:# umo ...
- (转)Linux命令之md5sum
Linux命令之md5sum 原文:https://www.cnblogs.com/zhuxiaohou110908/p/5786893.html 1. 背景 在网络传输.设备之间转存.复制大文件等 ...
- #define\const\inline的区别与联系
总结: const用于代替#define一个固定的值,inline用于代替#define一个函数.是#define的升级版,为了消除#define的缺陷. 参考内容:http://www.cnblog ...
- macOS 使用软件(外加装逼特效)
macOS 使用软件(外加装逼特效) Backgroud 和 火萤: 动态桌面壁纸 iTools Pro: macOS 版本的爱思助手 MEGAsync: 网盘工具 Microsoft Remote ...