學習使用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("執(zhí)行");
jb.addActionListener(this); // 添加監(jiān)聽
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) { // 匿名內部類的形式實現(xiàn)按鈕事件
SQLTEXT = ta.getText(); // 將要執(zhí)行的SQL設置成靜態(tài)的
Multi_process mp = new Multi_process(SQLTEXT); // 在構造實例時,傳入sql
mp.run(); // 運行程序
//System.out.println( mp.SQLTEXT +"***"); // 控制臺輸出
}
});
}
public void actionPerformed(ActionEvent e) {
// 實現(xiàn) ActionListener 接口,需要實現(xiàn)的方法
}
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); // 創(chuàng)建實例
// Test_DB_Insert td2 = new Test_DB_Insert(SQLTEXT);
Thread t1 = td1; // 創(chuàng)建線程
// 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下執(zhí)行,需打成jar包,通過shell腳本執(zhí)行。以下是sqlexec的startup.sh執(zhí)行腳本.
[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,程序讀取執(zhí)行配置文件并動態(tài)生成SQL,完成插入測試數據。這樣解決了測試數據不夠真實,可能影響測試結果的問題。