QQ群:

GitHub:https://github.com/yjlch1016/dapi

一、接口关联思路:

在接口测试中,

很多场景下,

上一个接口的出参要作为下一个接口的入参,

即上一个接口的响应结果中的值要作为下一个接口的请求数据,

在JMeter里面,

这叫做关联。

看了网上的开源项目,

有的花了很大篇幅介绍测试报告等,

但是那些都是辅助模块,

不是重点,

接口测试的重点是怎么组织测试用例(基本流、备选流),

没有讲清楚怎么做接口关联。

有些是把需要传参的接口先执行一遍,

然后再传递给后面的接口,

这样做会造成接口重复执行,

不算是很友好的解决方案。

之前我的想法是单独再建一张一对多的表,

用于存放提取的数据,

但是那样做会造成数据的冗余。

现在的做法是先re.findall(正则表达式模板, 某个接口的实际结果)提取出来,

作为全局变量,

然后再replace(old, new)把正则表达式提取的值替换进去。

二、页面配置:

1、在需要向后传参的接口里面开启正则表达式提取器(默认不开启),

输入变量名(随便取),

输入正则表达式((.+?)表示匹配小括号里面的数据,小括号左右都不为空或者空格);

2、在需要动态入参的接口里面输入${变量名},这跟JMeter里面的设置方法是一样样儿的。

三、查看传参是否成功:

可以看到响应代码与实际结果都是对的,说明这个参数的值传递成功了!

dapi 基于Django的轻量级测试平台三 接口关联的更多相关文章

  1. dapi 基于Django的轻量级测试平台一 设计思想

    GitHub:https://github.com/yjlch1016/dapi 一.项目命名: dapi:即Django+API测试的缩写 二.设计思想: 模拟性能测试工具JMeter的思路, 实现 ...

  2. dapi 基于Django的轻量级测试平台七 怎样部署到生产环境

    QQ群: GitHub:https://github.com/yjlch1016/dapi Nginx+uWSGI 前置条件:以下所有操作均在root账号下面进行如果不是root用户请注意权限问题因为 ...

  3. dapi 基于Django的轻量级测试平台八 Docker部署

    QQ群: GitHub:https://github.com/yjlch1016/dapi 采用Docker+Supervisor+Nginx+uWSGI+Django 一.Dockerfile文件: ...

  4. dapi 基于Django的轻量级测试平台六 怎样使用压测功能

    QQ群: GitHub:https://github.com/yjlch1016/dapi JMeter非GUI模式下: jmeter -n -t jmx脚本 -l jtl文件 -e -o 测试报告目 ...

  5. dapi 基于Django的轻量级测试平台四 任务设置

    QQ群: GitHub:https://github.com/yjlch1016/dapi 一.间隔时间: 二.定时时间: 三.任务设置: 四.任务结果:

  6. dapi 基于Django的轻量级测试平台二 前端页面

    QQ群: GitHub:https://github.com/yjlch1016/dapi 一.登录页login.html: 二.首页home.html: 三.产品线列表页product.html: ...

  7. dapi 基于Django的轻量级测试平台五 测试报告

    QQ群: GitHub:https://github.com/yjlch1016/dapi 一.柱状图 二.饼状图

  8. dmock 基于Django的轻量级Mock平台

    GitHub:https://github.com/yjlch1016/dmock # dmock 基于Django的轻量级Mock平台 dmock即Django+Mock的缩写 一.思路: mock ...

  9. [2018-03-06] 基于Django的轻量级CMS Mezzanine搭建笔记

    一丶什么是Mezzanine? 它是基于django的内容管理平台(),组成简单,可扩展性和定制性强,特别是个小型的个人博客系统.它也提供了类似wordpress的管理页面.博客发布.图片展示等功能, ...

随机推荐

  1. hzoi欢乐时刻(持续更新)

    %%NC哥 %%Dybala %%cbx吐露(bei ji can)真相 %%skyh×2 不愿透露姓名的群众无意间发现惊人秘密, skyh默默坦白真相, 这究竟是人性的沦丧还是道德的泯灭? %%kx ...

  2. CodeChef MAXDTREE(DP套DP)

    题意 ​ 链接:https://www.codechef.com/problems/MAXDTREE ​ 给定一个 \(n\) 个节点的树,其中 \(1\) 为根节点,每个点有点权,我们定义" ...

  3. vue系列--vue是如何实现绑定事件

    一.前言 vuejs中的事件绑定,使用<v-on:事件名 = 函数名>来完成的,这里函数名是定义在Vue实例中的methods对象中的,Vue实例可以直接访问其中的方法. 二.事件绑定方式 ...

  4. What programming language is best for a bioinformatics beginner?

    probably Unix Shell scripts, Perl, or Python and R can be the best options. ---------- 1-python 2-R ...

  5. 用欧拉计划学习Rust编程(第13~16题)

    最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,所以先补一下Rust的基础知识.学习了一段时间,发现Rust的学习曲线非常陡峭,不过仍有快速入门的办法. 学习任何一项技能最怕没有 ...

  6. vertica 中位数函数 MEDIAN 的使用

    中位数函数:MEDIAN 使用表达式:MEDIAN ( expression ) OVER ( [ window‑partition‑clause ] ) 准备测试数据: ), name ), sal ...

  7. snap应用多版本卸载

    Ubuntu18.04新增了几个内置软件使用Snap格式.同样的沙箱式处理方式,除了Canonical主推的Snap,还有Fedora的Flatpak和AppImage.一般正常使用没问题,就是第一次 ...

  8. 【leetcode】字母异位词分组

    给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan&quo ...

  9. 集合类源码(四)Collection之BlockingQueue(ArrayBlockingQueue, DelayQueue, LinkedBlockingQueue)

    ArrayBlockingQueue 功能 全名 public class ArrayBlockingQueue<E> extends AbstractQueue<E> imp ...

  10. 谈谈 Callable 任务是怎么运行的?它的执行结果又是怎么获取的?

    谈谈 Callable 任务是怎么运行的?它的执行结果又是怎么获取的? 向线程池提交Callable任务,会创建一个新线程(执行任务的线程)去执行这个Callable任务,但是通过Future#get ...