zoukankan      html  css  js  c++  java
  • LR十五:Query类型_JDBC的方法_JAVA方法_Loadrunner脚本

    数据库查询压力测试脚本

    jdbc_java_查询类型接口测试

     1 package com.test;
     2 
     3 
     4 import java.sql.Connection;
     5 import java.sql.DriverManager;
     6 import java.sql.PreparedStatement;
     7 import java.sql.ResultSet;
     8 
     9 public class Jdbc_Query {    
    10     // 定义全局变量
    11     String username = "root";
    12     String password = "123456";
    13     String url = "jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8";
    14     String sql = "select * from itcast_role where id = ?";
    15     PreparedStatement ps;
    16     Connection conn;
    17     public int init() throws Throwable {
    18         //1、注册mysql驱动
    19         Class.forName("com.mysql.jdbc.Driver");
    20         //2、通过url、用户名、密码建立mysql连接,返回一个Connection对象
    21         conn = DriverManager.getConnection(url, username, password);
    22         //3、对sql进行预编译,返回一个已经编译过的sql对象PreparedStatement
    23         ps = conn.prepareStatement(sql);
    24         return 0;
    25     }//end of init
    26 
    27     public int action() throws Throwable {
    28                 
    29         //4、执行sql语句之前,先对sql中不确定的数据进行赋值
    30         ps.setInt(1, 1);
    31         //5、执行sql语句,返回受影响的行数      
    32         //(executeUpdate 增删改)(executeQuery 查询单独用这个,返回结果集的对象,这个对象叫ResultSet,然后取个变量名叫set)
    33         ResultSet set = ps.executeQuery();
    34         // 只有结果集中有数据,就认为查询成功 set.next()       next方法
    35         while (set.next()){
    36             String name = set.getString("name");
    37             String desc = set.getString("description");
    38             System.out.println("name"+name + ",desc"+desc);
    39         }
    40         return 0;
    41     }
    42 
    43 
    44     public int end() throws Throwable {
    45         //6、关闭mysql连接
    46         conn.close();
    47         return 0;
    48     }//end of end
    49     
    50     //执行前需要申明一下 谁调用谁处理
    51     public static void main(String[] args) throws Throwable {
    52         // 模拟lr一下执行
    53         Jdbc_Query Query = new Jdbc_Query();
    54         Query.init();
    55         Query.action();
    56         Query.end();
    57 
    58     }
    59 
    60 }
    jdbc_java_query

     loadrunner_jdbc_查询的方法

     1 /*
     2  * LoadRunner Java script. (Build: _build_number_)
     3  * 
     4  * Script Description: 
     5  *                     
     6  */
     7 
     8 import lrapi.lr;
     9 import java.sql.Connection;
    10 import java.sql.DriverManager;
    11 import java.sql.PreparedStatement;
    12 import java.sql.ResultSet;
    13 
    14 
    15 public class Actions
    16 {
    17 
    18     // 定义全局变量
    19     String username = "root";
    20     String password = "123456";
    21     String url = "jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8";
    22     String sql = "select * from itcast_role where id = ?";
    23     PreparedStatement ps;
    24     Connection conn;
    25     public int init() throws Throwable {
    26         //1、注册mysql驱动
    27         Class.forName("com.mysql.jdbc.Driver");
    28         //2、通过url、用户名、密码建立mysql连接,返回一个Connection对象
    29         conn = DriverManager.getConnection(url, username, password);
    30         //3、对sql进行预编译,返回一个已经编译过的sql对象PreparedStatement
    31         ps = conn.prepareStatement(sql);
    32         return 0;
    33     }//end of init
    34 
    35     public int action() throws Throwable {
    36             
    37     lr.start_transaction("query");
    38 
    39                 
    40         //4、执行sql语句之前,先对sql中不确定的数据进行赋值
    41         ps.setInt(1, Integer.parseInt("<num>"));
    42         //5、执行sql语句,返回受影响的行数      
    43         //(executeUpdate 增删改)(executeQuery 查询单独用这个,返回结果集的对象,这个对象叫ResultSet,然后取个变量名叫set)
    44         ResultSet set = ps.executeQuery();
    45         // 只有结果集中有数据,就认为查询成功 set.next()       next方法
    46                 
    47         if (set.next()) {
    48             
    49             lr.end_transaction("query", lr.PASS);
    50     
    51         }else{
    52             
    53             lr.end_transaction("query", lr.FAIL);
    54     
    55         }
    56 
    57         return 0;
    58     }
    59 
    60 
    61 
    62     public int end() throws Throwable {
    63         //6、关闭mysql连接
    64         conn.close();
    65         return 0;
    66     }//end of end
    67     
    68 
    69 }
    loadrunner_jdbc_query

     loadrunner运行日志

     1 Virtual User Script started at : 2019-03-30 20:18:47
     2 Starting action vuser_init.
     3 Ending action vuser_init.
     4 Running Vuser...
     5 Starting iteration 1.
     6 Starting action Actions.
     7 Notify: Transaction "query" started.
     8 Notify: Parameter Substitution: parameter "num" =  "15"
     9 Notify: Transaction "query" ended with "Pass" status (Duration: 0.0197).
    10 Ending action Actions.
    11 Ending iteration 1.
    12 Starting iteration 2.
    13 Starting action Actions.
    14 Notify: Transaction "query" started.
    15 Notify: Parameter Substitution: parameter "num" =  "6"
    16 Failed to get file name and line of the script for failed transaction "query".
    17 Notify: Transaction "query" ended with "Fail" status (Duration: 0.0123).
    18 Ending action Actions.
    19 Ending iteration 2.
    20 Starting iteration 3.
    21 Starting action Actions.
    22 Notify: Transaction "query" started.
    23 Notify: Parameter Substitution: parameter "num" =  "18"
    24 Notify: Transaction "query" ended with "Pass" status (Duration: 0.0132).
    25 Ending action Actions.
    26 Ending iteration 3.
    27 Starting iteration 4.
    28 Starting action Actions.
    29 Notify: Transaction "query" started.
    30 Notify: Parameter Substitution: parameter "num" =  "15"
    31 Notify: Transaction "query" ended with "Pass" status (Duration: 0.0124).
    32 Ending action Actions.
    33 Ending iteration 4.
    34 Starting iteration 5.
    35 Starting action Actions.
    36 Notify: Transaction "query" started.
    37 Notify: Parameter Substitution: parameter "num" =  "20"
    38 Notify: Transaction "query" ended with "Pass" status (Duration: 0.0130).
    39 Ending action Actions.
    40 Ending iteration 5.
    41 Starting iteration 6.
    42 Starting action Actions.
    43 Notify: Transaction "query" started.
    44 Notify: Parameter Substitution: parameter "num" =  "11"
    45 Notify: Transaction "query" ended with "Pass" status (Duration: 0.0127).
    46 Ending action Actions.
    47 Ending iteration 6.
    48 Starting iteration 7.
    49 Starting action Actions.
    50 Notify: Transaction "query" started.
    51 Notify: Parameter Substitution: parameter "num" =  "12"
    52 Notify: Transaction "query" ended with "Pass" status (Duration: 0.0121).
    53 Ending action Actions.
    54 Ending iteration 7.
    55 Starting iteration 8.
    56 Starting action Actions.
    57 Notify: Transaction "query" started.
    58 Notify: Parameter Substitution: parameter "num" =  "7"
    59 Failed to get file name and line of the script for failed transaction "query".
    60 Notify: Transaction "query" ended with "Fail" status (Duration: 0.0124).
    61 Ending action Actions.
    62 Ending iteration 8.
    63 Starting iteration 9.
    64 Starting action Actions.
    65 Notify: Transaction "query" started.
    66 Notify: Parameter Substitution: parameter "num" =  "12"
    67 Notify: Transaction "query" ended with "Pass" status (Duration: 0.0137).
    68 Ending action Actions.
    69 Ending iteration 9.
    70 Starting iteration 10.
    71 Starting action Actions.
    72 Notify: Transaction "query" started.
    73 Notify: Parameter Substitution: parameter "num" =  "6"
    74 Failed to get file name and line of the script for failed transaction "query".
    75 Notify: Transaction "query" ended with "Fail" status (Duration: 0.0129).
    76 Ending action Actions.
    77 Ending iteration 10.
    78 Ending Vuser...
    79 Starting action vuser_end.
    80 Ending action vuser_end.
    81 Vuser Terminated.
    log

     跳转到 ------- Update 数据库增删改 压测方法             https://www.cnblogs.com/zhenyu1/p/10620524.html

  • 相关阅读:
    去掉移动端页面 input, textarea, button, a 标签获取焦点时显示的黑影
    屏蔽敏感词的正则表达式
    flex弹性布局详解
    解决微信小程序手机请求数据不返回的问题
    基于Express框架开发接口
    window平台下MongoDB安装和环境搭建
    搭建基于Express框架运行环境
    详解闭包(推荐)
    解决浏览器兼容ES6特性
    ES6之promise的使用
  • 原文地址:https://www.cnblogs.com/zhenyu1/p/10628822.html
Copyright © 2011-2022 走看看