loadrunner使用java协议制作服务器接口测试脚本

最近在公司搞性能测试,发现系统级的性能测试相当于大爆炸类的测试,针对问题的定位不准确,需要针对发现问题的各个接口展开测试。

特分享loadrunner使用java协议制作的测试脚本

脚本中
vuser_init 和vuser_end为空
Action 是以下脚本


import lrapi.lr;
/*
 * LoadRunner Java script. (Build: _build_number_)
 * 
 * Script Description: 
 *                     
 */
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TFramedTransport;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
import com.zhe800.finagle.thrift.cart.*;
import java.util.ArrayList;
import java.util.List;

public class Actions {

    int i;
    private TTransport transport;
    private TProtocol protocol;
    private CartServ.Client client; //声明调用CartServ.Client的方法
    private static final String IP = "192.168.5.128";  //声明调用服务器的IP地址
    private static final Integer PORT = 12314;		//声明调用服务器的IP端口
	
    public int init() throws Throwable {

	lr.start_transaction("建立连接"); //建立连接事务

	transport = new TFramedTransport(new TSocket(IP, PORT));
	protocol = new TBinaryProtocol(transport);
	client = new CartServ.Client(protocol);
	transport.open();
                
	lr.end_transaction("建立连接", lr.AUTO);

		return 0;
    }// end of init

    public int action() throws Throwable {

	lr.rendezvous("create cart 1");
	lr.start_transaction("加入购物车1");

	Item item = new Item();			//添加商品信息
        item.setProductId("<shangpinID>"); 	//添加商品ID <span style="font-family: Arial, Helvetica, sans-serif;"><shangpinID> 为参数化内容,以后< >均为参数化。</span>

	item.setSkuNum("<shangpinSKU>");	//添加商品SKU
	item.setCount(1);			//商品数量
	item.setPrice("0.60");			//商品价格
	client.addItem("<userID>",item,1);	//用户userkey

	lr.end_transaction("加入购物车1", lr.AUTO);
        
	lr.rendezvous("create cart 2");
	lr.start_transaction("加入购物车2");

	Item item1 = new Item();		//添加商品信息
        item1.setProductId("<shangpinID2>"); 	//添加商品ID
	item1.setSkuNum("<shangpinSKU2>");	//添加商品SKU
	item1.setCount(1);			//商品数量
	item1.setPrice("0.60");			//商品价格						// 
	client.addItem("<userID>",item1,1);	//用户userkey
					
	lr.end_transaction("加入购物车2", lr.AUTO);

	lr.rendezvous("delete cart 1");
	lr.start_transaction("删除购物车1");

	List<CartKey> list = new ArrayList<CartKey>();
	CartKey cartKey = new CartKey();
	cartKey.setProductId("<shangpinID>"); 	//删除商品ID
	cartKey.setSkuNum("<shangpinSKU>");
	list.add(cartKey);
	client.deleteItem("<userID>",list,1);		//删除用户userid

	lr.end_transaction("删除购物车1", lr.AUTO);

        
	lr.rendezvous("delete cart 2");
	lr.start_transaction("删除购物车2");

	List<CartKey> list1 = new ArrayList<CartKey>();
	CartKey cartKey1 = new CartKey();
	cartKey1.setProductId("<shangpinID2>"); 	//删除商品ID
	cartKey1.setSkuNum("<shangpinSKU2>");
	list1.add(cartKey1);			//添加商品信息到list
	client.deleteItem("<userID>",list1,1);		//删除用户userid

	lr.end_transaction("删除购物车2", lr.AUTO);

	return 0;
    }// end of action


    public int end() throws Throwable {
            
	lr.start_transaction("关闭");

	transport.close();
                
	lr.end_transaction("关闭", lr.AUTO);

	return 0;
	}
}


分享回放日志

Virtual User Script started at : 2014-09-24 12:03:42
Starting action vuser_init.
Notify: Transaction "建立连接" started.
Notify: Transaction "建立连接" ended with "Pass" status (Duration: 0.1459).
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Actions.
Rendezvous create cart 1
Notify: Transaction "加入购物车1" started.
Notify: Transaction "加入购物车1" ended with "Pass" status (Duration: 0.0385).
Rendezvous create cart 2
Notify: Transaction "加入购物车2" started.
Notify: Transaction "加入购物车2" ended with "Pass" status (Duration: 0.0346).
Rendezvous delete cart 1
Notify: Transaction "删除购物车1" started.
Notify: Transaction "删除购物车1" ended with "Pass" status (Duration: 0.0273).
Rendezvous delete cart 2
Notify: Transaction "删除购物车2" started.
Notify: Transaction "删除购物车2" ended with "Pass" status (Duration: 0.0194).
Ending action Actions.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Notify: Transaction "关闭" started.
Notify: Transaction "关闭" ended with "Pass" status (Duration: 0.0047).
Ending action vuser_end.
Vuser Terminated.


测试脚本参见:

http://download.csdn.net/detail/shen1936/7967329

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值