• jmeter如何实现从登录接口响应数据获取cookie后保存至本地


      测试过程中,需要根据不同的场景来设置自己的jmeter脚本,比如:发送短信的业务就需要获取到用户登录后的jsessionid,那么根据这个场景,编写脚本就有不同的实现方式。第一种,登录和发短信两个接口使用关联技术,从登录的响应数据中提取到jsessionid,然后传递给发短信的接口,发短信接口在发送请求时,携带着这个jsessionid,就可以请求成功。第二种,先从登录接口中获取到用户的jsessionid,并保存到本地,然后发送短信的接口需要用到这个jsessionid,就用csv Data Set Config参数化的方式调用.。

      下面呢,我就介绍下第二种实现方法。

    一、我登录接口的用户名也是用csv Data Set Config的方式,设置的参数化。

    1、在测试计划上,点击右键-》Threads(Users)-》线程组

     2、在线程组上,点击右键,在配置元件中选择csv Data Set Config

     3、csv Data Set Config界面的设置如图:

     4、在线程组点击右键,Sampler中选择HTTP请求,在HTTP请求中填写登录的接口地址,请求方法以及请求参数等。

     5、在登录接口上点击右键,后置处理器中选择正则表达式提取器,正则表达式提取的时候,要根据具体的响应数据去写。可以再加一个Debug PostProcessor去查看,自己写的正则表达式,是否能够正确提取到jsessionid。

      6、在登录接口上点击右键,后置处理器中选择BeanShell PostProcessor,在BeanShell 中写代码实现,将正则表达式提取到的jseesionid保存到本地。

     具体代码如下:

    String path = "E:\test";// 定义一个文件夹路径
    File file = new File(path) ;
    if(!file.exists()) {
    file.mkdirs();
    } //创建文件夹
    FileWriter fstream = new FileWriter("E:\test\cookies.txt",true); //路径已存在,创建文件并追加写入数据
    BufferedWriter out = new BufferedWriter(fstream);
    out.write(vars.get("jsessionid") +" ");
    out.close();
    fstream.close();

    7、在线程组上点击右键,监听器中选择查看结果树,用来查看接口请求是否成功。

    8、点击工具栏中的启动,在自己设置的路径下查看,本地文件是否生成,数据是否正确。

     二、发送短信的接口实现脚本

     1、添加线程组,在线程组上点击右键,添加三个配置元件,分别是csv data set config,HTTP信息头管理器,HTTP Cookie 管理器。

     

    HTTP Cookie 管理器中的设置

     2、添加发送短信的http请求,具体根据接口的路径、请求方式以及请求参数等进行设置。

    3、添加监听器,查看结果树,检查请求是否正确,短信是否成功发送

     短信发送成功。

  • 相关阅读:
    SpringBoot--整合Mybatis
    SpringBoot--使用JDBC连接mysql
    使用docker创建mysql容器
    iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.17.0.2:3306 ! -i docker0: iptables: No chain/target/match by that name
    SpringBoot--配置文件
    yqq命令
    vim/vm命令后提示错误:Found a swap file by the name ".dockerfile.swp"
    推荐一个十分好看的开源博客系统
    [转]技术的热门度曲线
    逆向学习笔记(2)-这是代码还是数据
  • 原文地址:https://www.cnblogs.com/jane4321/p/13534315.html
Copyright © 2020-2023  润新知