ICE接口性能太好了,用Ruby写的RoadRunner压不起来,估计改成进程方式会好很多。
用LR+DLL这个方法是很可行的。
Init
int id, scid;
char *vuser_group;
vuser_init()
{
lr_whoami(&id, &vuser_group, &scid);
srand(id*scid*time());
lr_load_dll("iceclient_stresstest.dll");
Initialize("userService:default -h 10.2.224.242 -p 10002",1);
return 0;
}
char params[1024];
int rt = 0;
char longId[32];
char nickname[32];
Action()
{
sprintf(nickname,"memUdb_%dx%dx%d",rand()%1000,rand()%1000,rand()%1000);
switch(rand()%3){
case 0:
sprintf(longId,"cntaobao%s",nickname);
break;
case 1:
sprintf(longId,"cnalichn%s",nickname);
break;
case 2:
sprintf(longId,"wangwang%s",nickname);
}
lr_save_string(nickname,"nickname");
lr_save_string(longId,"longId");
memset(params,0,1024);
strcat(params,lr_eval_string("<?xml version=\"1.0\" encoding=\"gb2312\"?>"));
strcat(params,lr_eval_string("<ICEPrx>"));
strcat(params,lr_eval_string("<Case>"));
strcat(params,lr_eval_string("<Param name=\"registerInfo\" type =\"Sequence\">"));
strcat(params,lr_eval_string("<Param name=\"content\">"));
strcat(params,lr_eval_string("<Param name=\"key\" type=\" ::std::string\">longId</Param>"));
strcat(params,lr_eval_string("<Param name=\"value\" type=\"::std::string\">{longId}</Param>"));
strcat(params,lr_eval_string("</Param>"));
strcat(params,lr_eval_string("<Param name=\"content\">"));
strcat(params,lr_eval_string("<Param name=\"key\" type=\" ::std::string\">userId</Param>"));
strcat(params,lr_eval_string("<Param name=\"value\" type=\"::std::string\"></Param>"));
strcat(params,lr_eval_string("</Param>"));
strcat(params,lr_eval_string("<Param name=\"content\">"));
strcat(params,lr_eval_string("<Param name=\"key\" type=\" ::std::string\">nickname</Param>"));
strcat(params,lr_eval_string("<Param name=\"value\" type=\"::std::string\">{nickname}</Param>"));
strcat(params,lr_eval_string("</Param>"));
strcat(params,lr_eval_string("<Param name=\"content\">"));
strcat(params,lr_eval_string("<Param name=\"key\" type=\" ::std::string\">password</Param>"));
strcat(params,lr_eval_string("<Param name=\"value\" type=\"::std::string\">111111</Param>"));
strcat(params,lr_eval_string("</Param>"));
strcat(params,lr_eval_string("<Param name=\"content\">"));
strcat(params,lr_eval_string("<Param name=\"key\" type=\" ::std::string\">email</Param>"));
strcat(params,lr_eval_string("<Param name=\"value\" type=\"::std::string\">{nickname}@alibaba.com</Param>"));
strcat(params,lr_eval_string("</Param>"));
strcat(params,lr_eval_string("</Param>"));
strcat(params,lr_eval_string("</Case>"));
strcat(params,lr_eval_string("</ICEPrx>"));
lr_start_transaction("LoadFunc");
rt = LoadFunc(params);
lr_output_message("rt = %d",rt);
if(rt == -1|| rt == -2){
lr_end_transaction("LoadFunc", LR_FAIL);
}
lr_end_transaction("LoadFunc", LR_AUTO);
return 0;
}
vuser_end()
{
return 0;
}
分享到:
相关推荐
性能测试进阶指南+LoadRunner+9.1实战
Loadrunner接口压力测试,通过调用接口,并通过对接口返回值的简单判断,来检查接口调用是否成功。
在“loadrunner+汉化软件.rar”这个压缩包中,包含了LoadRunner的汉化版本,使得中国用户可以更加便捷地理解和使用这一工具。 首先,LoadRunner 的核心概念包括虚拟用户(Vusers)、场景(Scenarios)和控制器...
基于LoadRunner+Fiddler的小程序性能测试教学设计
在某些特定情况下,可能需要利用 LoadRunner 的灵活性,调用自定义的动态链接库(DLL)来实现特定功能或扩展其能力。以下是一个关于如何在 LoadRunner 中调用 DLL 的详细步骤和相关知识点。 首先,创建 DLL 文件是...
LoadRunner11+BS压力测试_超级详细的电子教程
### 知识点:基于LoadRunner+Fiddler的小程序性能测试 #### 微信小程序的市场现状和性能测试需求 随着移动终端的普及和高速网络的发展,微信小程序作为一种便捷的移动端应用,用户使用频率日益增加。特别是在教育、...
Loadrunner 接口压力测试步骤 Loadrunner 是一款功能强大且广泛应用于软件测试的自动化测试工具。它可以模拟用户行为,进行压力测试、性能测试和功能测试,以确保软件系统的稳定性和可靠性。本文将详细介绍 ...
### 悟透LoadRunner —— 调用外部DLL的方法 #### 引言 在LoadRunner中,通过调用外部动态链接库(DLL)来扩展脚本功能是一种常见的优化手段。这种方法不仅可以帮助减少脚本运行时的内存占用,还可以促进代码重用...
【Loadrunner Webservice压力测试】 LoadRunner是一款强大的性能测试工具,尤其在Web服务(Webservice)的压力测试方面表现卓越。本文将详细介绍如何使用LoadRunner进行Webservice的压力测试,结合具体的步骤示例,...
本文将深入探讨LoadRunner如何调用外部DLL(动态链接库)进行功能扩展和性能测试。 首先,了解DLL的基本概念是必要的。DLL是一种可重用的代码库,它可以被多个程序共享,减少了内存占用并简化了软件的维护。在...
"软件测试(性能测试--loadrunner+讲稿)"这一主题主要涵盖了以下知识点: 1. **软件测试**:软件测试是为了发现并修复软件中的错误、缺陷和漏洞,以确保软件的质量、可靠性和性能。测试过程包括单元测试、集成测试...
loadrunner11.0+cJson处理json的办法,在网上查询到很多这个介绍,但是怎么也找不到cJson.dll ,于是花了不少时间自己编译了一个cJson.dll。 1、将编译出来的cjson.dll,cjson.h放到loadrunner脚本的根目录下,然后在...
【LoadRunner11+BS压力测试】是一种针对Web应用程序进行性能和负载测试的工具,它由HP(现已被Micro Focus收购)开发。本教程专为新手设计,旨在提供全面的LoadRunner11与基于浏览器(Browser/Server,简称BS)应用...
《LoadRunner与SiteScope:企业级性能测试与监控利器》 LoadRunner与SiteScope是两款在IT领域中广泛使用的工具,分别专注于应用性能测试和系统监控。本文将深入探讨这两款工具的功能、重要性以及如何下载和使用它们...
附件为loadRunner11破解DLL文件,有效破解loadRunner11
在LoadRunner测试中,调用DLL文件是一种常见的增强测试功能的方法。DLL(Dynamic Link Library)文件是Windows操作系统中的一种共享库,它包含了可被多个应用程序同时使用的代码和数据。在LoadRunner测试过程中,...
PC 机安装windows 操作系统、LoadRunner、Office 工具。 3、实验内容 (1)对选定网站进行性能测试 选择一个网站,对其进行性能测试。要求使用 LoadRunner 进行压力测试。录制用户登录系统过程。然后分别模拟 10 个...
在IT领域,LoadRunner是一款广泛使用的性能测试工具,它允许测试人员模拟大量用户并发执行任务,以检测系统在高负载下的性能。...无论是单脚本调用还是全局设置,都应确保遵循DLL的要求和LoadRunner的规则。