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
相关文章推荐
- loadrunner使用JavaVuser协议测试API接口性能
- LoadRunner系列之—-03 用Java Vuser协议编写接口测试脚本
- LoadRunner JAVA Vuser协议开发性能测试脚本 1
- loadrunner使用java 实现MQ协议发收脚本
- 用LoadRunner JavaVuser进行接口压力测试--编写脚本篇
- 使用LoadRunner 编写JAVA 测试脚本
- 脚本——使用LoadRunner进行HTTP接口测试
- 使用loadrunner javavuser协议开发脚本实战
- 使用loadrunner编写dubbo接口的性能测试脚本
- 使用loadrunner Java Vuser协议进行性能测试时场景中报Error: Compilation process failed.解决方法
- 【Loadrunner】Web协议脚本转换为Java Vuser脚本
- 使用LoadRunner录制脚本时如何选择合适的协议?
- 使用loadrunner进行服务器性能测试(winsocket)
- loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
- 使用LoadRunner录制脚本时如何选择合适的协议?
- Loadrunner录制使用ajax性能测试脚本方法
- LoadRunner 基于安全协议的https的页面测试脚本
- 【loadrunner使用篇】LR调用QTP脚本来实现性能测试(一次现场特殊需求的解决方案)
- LoadRunner-ANSI C 脚本的常规 API 函数(其中包括所有协议,但 Java、VB 和 GUI 除外)
- 使用Eclipse编写LoadRunner测试脚本