學(xué)習(xí)使用Jmeter做壓力測試(一)--壓力測試基本概念
			作者:
網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:
[ 2016/6/20 14:39:41 ] 推薦標(biāo)簽:
性能測試工具 Jmeter  
			
	  中只是new一個Test_DB_crud類,形成了Test_DB_crud對Test_DB_Control的依賴關(guān)系。
	  [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) {  // 匿名內(nèi)部類的形式實現(xiàn)按鈕事件 
	  SQLTEXT = ta.getText(); // 將要執(zhí)行的SQL設(shè)置成靜態(tài)的 
	  Multi_process mp = new Multi_process(SQLTEXT); // 在構(gòu)造實例時,傳入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語句以參數(shù)的形式,在構(gòu)造實例的時候傳入 
	  } 
	  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." 
	  注:
	  突然想到測試數(shù)據(jù)的一個問題。即造出來的數(shù)據(jù)應(yīng)該更接近真實,而不是都一樣。所以想利用配置文件的方式,在配置文件中寫好SQL,程序讀取執(zhí)行配置文件并動態(tài)生成SQL,完成插入測試數(shù)據(jù)。這樣解決了測試數(shù)據(jù)不夠真實,可能影響測試結(jié)果的問題。