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系统中的文件 ...
随机推荐
- css3 移动端页面全屏旋转,横屏显示。
css3旋转模拟手机横屏. 当手机不能自动旋转时,或有特殊需求.用css3 transform,实现横屏展示. 注意: 相关样式注意横屏的显示. touch的手势方向没有变,依旧是原来方向,若有相关插 ...
- shell 0学习
例一:列出/home 文件夹下的所有文件和目录的详细资料,可以使用如下命令: ls -a -l /home ls -al /home 例二:列出当前目录中所有以”d”开头的文件目录的详细内容,可 ...
- ajax动态给select赋值
<select name="elements" id="ele" style="width: 145px;"> ...
- CTeX里面CTRL-Space和中文输入法的冲突问题解决
我使用的是windows xp,相信下面的方法也能应用到win7等windows系统上. 我希望在CTex套件的WinEdt 6.0里使用模板自动插入内容时,想快速从上到下遍历” * “并修改. 通过 ...
- RTT之柿饼UI
console.log("strings")//向单片机通过串口发送日志提示信息 this.setData({label1: { value : "Hello RT-Th ...
- apache服务器启动出错
启动本地xampp的服务器时,报错如下所示: 错误提示很明确: 就是指我们希望使用的端口被占用,由于xampp默认使用的端口是80(http协议).443(https协议),也就是说这两个端口被其他的 ...
- firefox插件-自动化测试工具-selenium IDE
教程:http://www.yiibai.com/selenium/selenium_download_ide.html 下载地址:https://addons.mozilla.org/en-US/f ...
- 搭建mysql集群,使用Percona XtraDB Cluster搭建
Percona XtraDB Cluster提供的特性有:1.同步复制,事务要么在所有节点提交或不提交.2.多主复制,可以在任意节点进行写操作.3.在从服务器上并行应用事件,真正意义上的并行复制.4. ...
- oracle expdp impdp 数据泵方式
一.不管导入还有导出都要先创建目录 1.登录plsql sqlplus/nolog conn sys/dbwork@orcl 2.创建目录 create directory my_dir as 'd: ...
- js动态控制导航栏样式
导航栏一般做为母版页,为了使增加用户体验,往往在用户进入某个页面给予导航栏相应的样式,这里可以用js动态添加 <div class="box_left fl"> < ...