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系统中的文件 ...
随机推荐
- TCP/IP、Http、Https、Socket的区别
网络由下往上分为物理层.数据链路层.网络层( IP协议).传输层( TCP协议).会话层.表示层和应用层(HTTP协议) 接下来我来说说个人理解其中的TCP/IP.Http.Socket的区别 TCP ...
- 4 练习: 使用eclipse开发
1 练习: 使用eclipse开发 1.1 练习目标 本例讲述在使用eclipse如何创建groovy程序. 1.2 创建new Groovy project 本例假设你已经安装好了g ...
- LBS开发
功能:用户发送自动的位置,返回周围的厕所信息 思路:根据用户的经纬度信息,调用百度地图的api,查询周围的厕所位置并且返回! 步骤:进入百度地图官网注册账号,选择web api接入 我们先看开发者文档 ...
- axios拦截器搭配token使用
在了解到cookie.session.token的作用后学习token的使用 cookie是随着url将参数发送到后台,安全性最低,并且大小受限,不超过4kb左右,它的数据保存在客户端 session ...
- IP分片 与 TCP分段的区别 !!!!careful========以及udp中一个包大小究竟为多大合适 ==========三次握手四次挥手细节
首先声明:TCP分片应该称为TCP分段 TCP/IP详解--TCP的分段和IP的分片 分组可以发生在运输层和网络层,运输层中的TCP会分段,网络层中的IP会分片.IP层的分片更多的是为运输层的UDP服 ...
- (转)sdd for aix 安装及基本命令
总结出自多个文件(自己做的项目和网上找的资料) 原文:http://blog.csdn.net/yujin2010good/article/details/11395701 一.sddpcm安装 要安 ...
- Jenkins+Ant+Jmeter接口自动化集成测试
一.Jmeter+ant 1.首先我们默认Jmeter脚本已经录制好了,并测试通过,存在(查询模块.jmx)脚本 2.将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.j ...
- Spark生态系统
在大数据非常流行的今天,每个行业都在谈论大数据,每个公司(互联网公司,传统企业,金融行业等)都在讨论大数据.高层管理者利用大数据来进行决策:数据科学家利用大数据来进行业务创新:程序员利用大数据来完成项 ...
- windows 7下安装MySQL5.6
一. 软件下载 从MySql官网上下载响应的版本,我的是5.6.17. 二.安装过程 以管理员权限运行安装程序,收集信息. 选择安装MySql产品,如果之前有安装过,那么就选择更新了. 同意Licen ...
- 单元测试-Junit-Mockit-PowerMock
0. Junit5 1. Junit4 //手动命令行测试 java -cp /usr1/junit:/usr1/cdncms/lib/* org.junit.runner.JUnitCore com ...