• Jmeter取数据库数据进行参数传递


    Jmeter取数据库数据进行参数传递

    https://www.jianshu.com/p/256be580bb14?utm_campaign=maleskine&utm_content=note&utm_medium=pc_all_hots&utm_source=recommendation

    1.背景

    所有的练习,都是访问的禅道系统(自己在服务器上搭建)。本次练习的主题是:从数据库中获取所有的用户名和密码,然后将参数传递给登录请求,进行登录。
    需要了解的知识点:

    1.数据库的连接及变量设置
    2.循环控制器
    3.配置元件Count(计数器)
    4.__BeanShell()函数及基本的脚本编写
    5.__V()函数的使用(用于两个变量的拼接)

    2.Jmeter连接Mysql数据库

    1.参考文档:http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration

     
    1jmeter连接mysql数据库.png

    Q:Database URL为什么添加了一串后缀呢?【?characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull】
    A:因为在我的sql语句查询出的结果中,包含了时间格式的数据时,会出现错乱,故加上这个后缀。

    2.在JDBC Request中添加sql语句,设置后面要引用的变量名。

     
    图片.png

    3.查询结果如图:

     
    图片.png

    3.取数据库数据进行参数化

    在登录时,计划通过读取数据库的数据进行参数化,将上面的11条数据都传递下去。
    1.方式一:采用__BeanShell函数获取值,其中index是通过添加计数器count获取的;

    ${__BeanShell(vars.getObject("result").get(${__intSum(${index},-1)}).get("account"))}
    ${__BeanShell(vars.getObject("result").get(${__intSum(${index},-1)}).get("password"))}

     
    图片.png

    2.方式二:采用__V函数拼接2个变量。2个变量的拼接,以下4种方式都是错误的:

    1.${account_index}
    2.${account_${index}}
    3.${account}_${index}
    4.${__V(${account} _${index})}

    正确的方式如下:

    ${__V(account _${index})}

     
    图片.png

    3.结果如图:

     
    图片.png


    作者:乐大爷L
    链接:https://www.jianshu.com/p/256be580bb14
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    Tomcat:基于HTTP协议的Connector配置
    Tomcat:云环境下的Tomcat设计思路——Tomcat的多实例安装
    Tomcat:基于Apache+Tomcat的集群搭建
    Java Security:keytool工具使用说明
    Java Security:Java加密框架(JCA)简要说明
    Java Security:公钥私钥、数字签名、消息摘要是什么
    Java Se:Java Security
    Tomcat源码解读:ClassLoader的设计
    Java Se:自定义ClassLoader
    Java Se: Logging 框架说明
  • 原文地址:https://www.cnblogs.com/beiank/p/9030792.html
Copyright © 2020-2023  润新知