LoadRunner測試J2ME的Socket程式
LoadRunner有Windows Sockets協議用於支援Socket程式的測試指令碼開發,但是有時候會錄製不了或錄製不全Socket指令碼,而且Socket指令碼的修改和引數化等方面都比較困難。
以J2ME Wireless Toolkit 2.0附帶的NetworkDemo程式中的Socket Demo為例,用LoadRunner錄製下來的指令碼如下所示:
/*********************************************************************
* Created by Mercury Interactive Windows Sockets Recorder
*
* Created on: Wed Feb 24 13:35:17
*********************************************************************/
#include "lrs.h"
Action()
{
lrs_create_socket("socket0", "TCP", "LocalHost=0", "Backlog=50", LrsLastArg);
lrs_create_socket("socket1", "TCP", "LocalHost=2663", "Backlog=50", LrsLastArg);
lrs_create_socket("socket2", "TCP", "RemoteHost=192.168.1.100:57328", LrsLastArg);
lrs_send("socket2", "buf0", LrsLastArg);
lrs_receive("socket2", "buf1", LrsLastArg);
lrs_close_socket("socket2");
lr_think_time(13);
lrs_create_socket("socket3", "TCP", "LocalHost=0", "Backlog=50", LrsLastArg);
lrs_create_socket("socket4", "TCP", "LocalHost=2669", "Backlog=50", LrsLastArg);
lrs_create_socket("socket5", "TCP", "LocalHost=0", "Backlog=50", LrsLastArg);
lrs_create_socket("socket6", "TCP", "LocalHost=2670", "Backlog=50", LrsLastArg);
lrs_create_socket("socket7", "TCP", "RemoteHost=192.168.1.100:57328", LrsLastArg);
lrs_send("socket7", "buf2", LrsLastArg);
lrs_receive("socket7", "buf3", LrsLastArg);
lrs_close_socket("socket7");
lrs_create_socket("socket8", "TCP", "RemoteHost=192.168.1.100:57328", LrsLastArg);
lrs_send("socket8", "buf4", LrsLastArg);
lrs_receive("socket8", "buf5", LrsLastArg);
lrs_send("socket8", "buf6", LrsLastArg);
lrs_receive("socket8", "buf7", LrsLastArg);
lrs_send("socket8", "buf8", LrsLastArg);
lrs_create_socket("socket9", "TCP", "LocalHost=0", "Backlog=50", LrsLastArg);
lrs_create_socket("socket10", "TCP", "LocalHost=2675", "Backlog=50", LrsLastArg);
/*
* 傳送訊息
*/
return 0;
}
傳送和接收的Socket包資料可以在data.ws檔案中找到,Socket Demo的客戶端傳送訊息的操作並沒有錄製下來。
轉變一下思路,可以採用Java Vuser來開發Java的Socket指令碼,直接連線Socket Demo的伺服器端併傳送訊息:
/*
* LoadRunner Java script. (Build: 3020)
*
* Script Description:
*
*/
import lrapi.lr;
import java.io.*;
import java.net.*;
public class Actions
{
Socket socket;
BufferedReader in;
PrintWriter out;
public int init() throws Throwable {
try
{
socket = new Socket("127.0.0.1", 5000);
}
catch (IOException e){}
return 0;
}//end of init
public int action() throws Throwable {
try
{
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//lr.output_message(in.readLine());
out = new PrintWriter(socket.getOutputStream(),true);
out.println("World!");
//lr.output_message(in.readLine());
}
catch (IOException e){}
return 0;
}//end of action
public int end() throws Throwable {
try
{
out.close();
in.close();
socket.close();
}
catch (IOException e){}
return 0;
}//end of end
}
相關文章
- 用LoadRunner編寫socket應用的測試指令碼指令碼
- Qt socket測試QT
- LoadRunner測試Google SuggestGo
- LoadRunner測試WebService的3種方式Web
- LoadRunner測試結果分析(1)
- JN專案-效能測試loadrunner
- 軟體測試學習教程——LoadRunner實現介面測試
- LoadRunner效能測試工具---(三)測試結果樣例分析
- loadrunner 資料庫測試指令碼資料庫指令碼
- LoadRunner效能測試工具---(一)使用流程
- LoadRunner常見測試結果分析
- LoadRunner:壓力測試前的分析準備工作
- 效能自動化測試工具Loadrunner篇
- LoadRunner長連線效能測試指令碼指令碼
- 效能測試工具LoadRunner知識點總結
- loadrunner負載測試例項(含步驟)負載
- LoadRunner 測試結果分析圖 概要解釋
- 效能測試工具LoadRunner你所不知道的內幕
- 介面測試之基於LoadRunner的一個簡單示例
- 如何學習效能測試?LoadRunner小技巧集錦
- 初試python的socket程式設計--ftpPython程式設計FTP
- websphere ejb壓力測試下,鎖socket的問題Web
- lib庫實現loadrunner驅動mysql效能測試MySql
- LoadRunner JAVA Vuser協議開發效能測試指令碼Java協議指令碼
- 效能測試常用工具對比:Jmeter與LoadRunner的異同JMeter
- 軟體測試工具LoadRunner結果分析中的響應時間
- 使用LoadRunner執行專案效能測試之實操指南
- loadrunner 新手必看《自動化測試工具介紹LR篇》
- 基於Loadrunner平臺Socket協議的JavaVuser(多執行緒)協議Java執行緒
- 效能測試學習筆記:Loadrunner如何進行引數化?筆記
- 精通軟體效能測試與LoadRunner最佳實戰 連載十
- 利用LoadRunner進行效能測試和結果分析(連載一)
- 利用LoadRunner進行效能測試和結果分析(連載二
- 測試程式
- falseShare的測試程式False
- 測試你的前端程式碼:視覺化測試前端視覺化
- 軟體測試學習教程——HP Loadrunner12.50安裝教程
- 使用LoadRunner進行壓力測試時如何選擇要錄製的協議?協議