zoukankan      html  css  js  c++  java
  • 通过jmeter读取csv的case来实现接口自动化

    一、环境准备:

    1.环境:jdk:1.8+,jmeter:4.2+,

    2.csv: 按照以下这种方式编写case或者自定义其他的,准备好case

    二、注意要点:

    1.想实现数据参数化,可以直接csv中使用函数来操作,如下随机生成名字的函数可直接调用 

    {"projectName":"${__eval(${__RandomString(25,1234567890qwertyuiopasdfghjklzxcvbnm,projectName)})}",

    2.参数关联,在jmeter里提取到数据后在csv直接写变量名即可:${projectIds}

    三、jmeter的配置:

    1).创建线程组,

    2).csv的配置

    3).接口分组或存在参数关联想抓取

    简单控制器可按业务分模块

    if逻辑控制器可实现读取指定的行列数据( if+csv标签)

    四、踩过的坑:

    1.请求数据读不进去,或都进去后格式不对,参照 2).csv的配置

    2.参数化问题搞了很久,__eval 函数很好用

    3.参数关联,没法分开读取指定的csv内容,参照 3).接口分组或存在参数关联想抓取

    五、实现测试结果回写到csv,生成执行后的case文件

    使用Java语言提前编辑好写入excel的程序,然后打包为jar包放置jmeter的lib目录下,再在jmetere中使用beanshell里导入程方法并进行调用

     

    六、参数化优化补充:

    1.对于要自动生成的字段,先在jemeter中使用beanshell 取样器中使用java进行参数化,然后在csv中直接使用${projectName}传参

    为实现一个参数全局变量,使用仅一次控制器放置在所有请求的最前面

    欢迎留言评论,共同探讨
  • 相关阅读:
    【收集】13款Linux系统有
    【收集】13款Linux系统有
    献给母亲节的沙画,致此生最爱——母亲!
    ACM2136
    WTF is The BlockChain?
    Java 多线程(上)
    Kubernetes集群部署DNS插件
    Vue组件
    写在APIO2016之前
    5G-NR物理信道与调制-下行链路v1.1.0
  • 原文地址:https://www.cnblogs.com/tangzhu/p/13344861.html
Copyright © 2011-2022 走看看