学习使用Jmeter做压力测试(一)--压力测试基本概念
中只是new一个Test_DB_crud类,形成了Test_DB_crud对Test_DB_Control的依赖关系。
[java] view plain copy
package d706;
/*
*程序界面
*按钮事件
*/
public class Test_DB_gui extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
public static String SQLTEXT = null; // 界面输入的sql文本
private JScrollPane js = null;
private JPanel jp1 = null;
private JTextArea ta = null;
private JButton jb = new JButton();
public Test_DB_gui(){
this.setTitle("sqlExecV1.0");
ta = new JTextArea();
ta.setText("");
js = new JScrollPane(ta);
jp1 = new JPanel();
jp1.setLayout(new BorderLayout());
jp1.add(js,BorderLayout.CENTER);
jb = new JButton();
jb.setText("执行");
jb.addActionListener(this); // 添加监听
jp1.add(jb,BorderLayout.SOUTH);
this.getContentPane().add(jp1);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(400,200,700,500);
this.setVisible(true);
jb.addActionListener(new ActionListener(){ // 按钮事件
public void actionPerformed(ActionEvent e) { // 匿名内部类的形式实现按钮事件
SQLTEXT = ta.getText(); // 将要执行的SQL设置成静态的
Multi_process mp = new Multi_process(SQLTEXT); // 在构造实例时,传入sql
mp.run(); // 运行程序
//System.out.println( mp.SQLTEXT +"***"); // 控制台输出
}
});
}
public void actionPerformed(ActionEvent e) {
// 实现 ActionListener 接口,需要实现的方法
}
public void run() { // 运行方法
Test_DB_gui np = new Test_DB_gui();
System.out.println( np.getTitle() );
}
}
[java] view plain copy
public class Multi_process {
/*
*多线程
*/
public static String SQLTEXT = null; // 待处理的sql语句
public Multi_process(String sql){
SQLTEXT = sql; // sql语句以参数的形式,在构造实例的时候传入
}
public void run(){
Test_DB_Insert td1 = new Test_DB_Insert(SQLTEXT); // 创建实例
// Test_DB_Insert td2 = new Test_DB_Insert(SQLTEXT);
Thread t1 = td1; // 创建线程
// Thread t2 = td2;
t1.start(); // 启动线程
// t2.start();
// Test_DB_Insert t3 = new Test_DB_Insert();
// Test_DB_Insert t4 = new Test_DB_Insert();
// t3.run();
// t4.run();
}
}
[java] view plain copy
public class Test_Exec {
/*
* 程序入口
*/
public static void main(String[] args){
Test_DB_gui np = new Test_DB_gui();
np.run();
}
}
在Linux下执行,需打成jar包,通过shell脚本执行。以下是sqlexec的startup.sh执行脚本.
[plain] view plain copy
#!/bin/sh
#
#Author: bruce
#Version: sqlExecv1.0
#Date:2013-11-20
#
read -p "please input jar file path:" jarpath
java -jar "$jarpath"
echo "running sqlExec."
注:
突然想到测试数据的一个问题。即造出来的数据应该更接近真实,而不是都一样。所以想利用配置文件的方式,在配置文件中写好SQL,程序读取执行配置文件并动态生成SQL,完成插入测试数据。这样解决了测试数据不够真实,可能影响测试结果的问题。