LoadRunner测试J2ME的Socket程序
2010-02-24 14:30
239 查看
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
}
以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协议程序知识汇总
- 【LoadRunner】-socket协议性能测试方法详细图解
- 手机J2ME环境测试程序--测试手机对jsr的支持以及其他信息
- LoadRunner调用Java程序—性能测试
- loadrunner 在socket接口测试中的应用(变长包的的方式也许可以参考一下)
- 手机J2ME环境测试程序
- J2ME程序在手机上测试记录下调试信息
- 脚本——loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
- 自行控制loadrunner的socket协议性能测试 (转) 一前言 二任务的提出 三实现方案讨论 四技术要点讲解 如何开始录制一个最简单的收发数据包脚本 写日志文件 一行一行读数据包文件 字
- loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
- [socket]socketpair测试程序
- loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
- Socket编程 简易测试socket TCP程序
- LoadRunner 测试Socket接口函数说明
- J2ME中使用socket开发联网程序
- 帮忙推荐一下j2me程序真机测试手机,在线等.....
- Loadrunner编写socket性能测试脚本简述
- LoadRunner调用Java程序—性能测试
- loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
- loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写