zoukankan      html  css  js  c++  java
  • jmeter使用数据库创造批量数据

    一,对于工作中创造大量的测试数据一直比较头疼,当然你如果懂python或者java那就比较简单了,除此之外,我们如何搞定测试数据呢?

      1,使用jmeter中的csv组件读取excle表格的数据,设定循环次数就可以搞定,但是这种方法需要我们手动去excel中创造很多数据,比较麻烦

      2,可以直接操作数据库,但是如果关联表太多,也不是很方便。我们先看一下这个方法吧

    二,jmeter连接数据库

      1,先在线程组下面的配置原件中添加数据库连接

      

      2,再添加jdbc request

      

       3,准备mysql-connector-java-5.1.31.jar包,放到libext目录中,正常每次打开jmeter都要配置jdbc jar包,这样的操作使jdbc默认配置成功,只需要调用即可(这里配置完了最好重新启动一下jmeter,否则不生效)

      4,数据库连接的配置

      

       注意Dababase URL:             jdbc:mysql://192.168.3.140:3306/interface_one?useUnicode=true&characterEncoding=utf8

      在上面面板中还有个链接名称不能忘记

      

      5,JDBC request的配置

      

       查看结果树中的结果:

      

       数据库中的结果:

      

       很显然数据库中的密码必须是加密的,但是我们这里是明文,不符合规范,那怎么办呢?

      首先我们要知道密码加密的方法,一般在公司中我们去哪里获取加密的方法呢?去询问开发或者自己去拿代码(前提是你有代码拉取权限)。如果你没有权限,开发也不搭理你怎么办呢?我们可以在测试环境找到编译的好的代码包,通过反编译工具进行反编译就可以看到源码,在源码中找到加密的方法即可

      6,操作过程

        1首先提取加密方法,我们需要可以去测试环境上找到已经编译过后的class文件(这个class文件里面必须有加密方法,一般根据文件名可以识别),然后拖到JD-GUI.exe这个反编译工具中,就可以找到加密方法,接着通过idea调试没问题就复制到beanshell采样器中,如图:

        

        2调用类方法--生成加密的字符串--使用内置函数vars.put存到jmeter里面,作为jmeter的变量

        3调用变量${}

        

       7,其他操作类型

        

       使用${变量名}的方式来应用外部的变量

        先设置用户参数:

        

        再把参数应用到sql中

        

       使用”?“作为占位符,并传递参数值和参数类型

        

       那么我们如何插入大量的数据呢?

        首先我们可以使用csv创造出大量数据(如果数据量特别大,可以使用python实现造数据)。如:

        

       我这里有10条数据,我的线程数要10,如:

        

       

      这是我的执行结果

      

       去数据库查看,数据已经全部插入到数据库中了

      

     三,如何获取jdbc中数据作为下一个接口参数使用

      需要注意的几项:

      

       在JDBC Request中添加beanshll 后置处理器

       

      //从数据库返回的对象中获取值
      Object result = vars.getObject("sms_code").get(0).get("sms_code");
      vars.put("sms_code",result);

      因为数据库返回的是一个对象,所以我们要通过vars.getObject("变量").get(0).get("key")的形式来提取里面的值

      

       最终结果如下:

      

       

  • 相关阅读:
    ios xib或storyBoard的那些小方法
    ios pod库更新到1.0或1.0.1之正确修改podfile文件
    ios UILabel在storyBoard或xib中如何在每行文字不显示完就换行
    ios NSThred多线程简单使用
    Xcode升级插件失效,与添加插件不小心点击Skip Bundle解决办法
    ios app打ipa包
    极光推送碰到的问题
    ios 更新约束
    ios 缺少合规证明
    Path Sum II
  • 原文地址:https://www.cnblogs.com/hally/p/12773535.html
Copyright © 2011-2022 走看看