您的位置:首页 > 编程语言 > Java开发

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

2014-09-24 11:56 661 查看

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

特分享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 
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: