打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
LoadRunner测试J2ME的Socket程序

LoadRunnerWindows 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来开发JavaSocket脚本,直接连接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

}

 

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
loadrunner容易使用
LR常用函数整理
loadrunner的socket脚本
小结LoadRunner的协议选择
Linux内核 TCP/IP、Socket参数调优
TCP Socket一直处于FIN
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服