新手请教loadrunner测试webservice接口问题!
本人没有玩过loadrunner工具!今天领导给分配个任务,需要测试一个webservice接口的性能,主要目的是测试接口在高并发情况下,是否存在异常。
接口URL如下:
http://11.10.12.10/resweb/service/IOSSInterfaceForCRM?wsdl
调用方法:getPnInfos
接口入参:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<uuId>ba4fd2ffba0072bfe04400237d3e0e48</uuId>
<areaCode>sq.nj.js.cn</areaCode>
<ans>
<an>
<accessNumber>18901590015</accessNumber>
<anTypeCd>103</anTypeCd>
</an>
<an>
<accessNumber>18901590027</accessNumber>
<anTypeCd>103</anTypeCd>
</an>
<an>
<accessNumber>13376084633</accessNumber>
<anTypeCd>103</anTypeCd>
</an>
<an>
<accessNumber>15380875500</accessNumber>
<anTypeCd>103</anTypeCd>
</an>
<an>
<accessNumber>18900670001</accessNumber>
<anTypeCd>103</anTypeCd>
</an>
</ans>
</root>
希望筒子里面的XDJM 给点指导!不慎感激! look this
http://bbs.51testing.com/thread-497353-1-1.html 谢谢分享 首先谢谢各位!
但是我又遇到了新的问题:
Action()
{
web_service_call( "StepName=getPnInfos_101",
"SOAPMethod=OSSInterfaceForCRMService|OSSInterfaceForCRMPort|getPnInfos",
"ResponseParam=response",
"Service=OSSInterfaceForCRMService",
"ExpectedResponse=SoapResult",
"Snapshot=t1373011791.inf",
BEGIN_ARGUMENTS,
"inXml={NewParam}",
END_ARGUMENTS,
BEGIN_RESULT,
"return=Param_return",
END_RESULT,
LAST);
//输出调用返回值
lr_log_message("result1111111112222 = %s", lr_eval_string("{Param_return}"));
return 0;
}
这个是弄的脚本,运行后,业务正常:
返回结果如下:
result1111111112222 = <?xml version="1.0" encoding="UTF-8"?>
<root><baseInfo><result>1</result><resultMsg>查询成功</resultMsg></baseInfo><resultInfo><an><anId>250312423954</anId><accessNumber>18901590015</accessNumber><anTypeCd>103</anTypeCd><pnStatusCd>170003</pnStatusCd><pnStatus>占用</pnStatus><pnPoolId>25500000063228</pnPoolId><pnPool>南京市区普通移动号池</pnPool><pnLevelId>110</pnLevelId><pnLevel>普通号</pnLevel><pnLevelDes>0</pnLevelDes></an><an><anId>250312423966</anId><accessNumber>18901590027</accessNumber><anTypeCd>103</anTypeCd><pnStatusCd>170003</pnStatusCd><pnStatus>占用</pnStatus><pnPoolId>25500000063228</pnPoolId><pnPool>南京市区普通移动号池</pnPool><pnLevelId>110</pnLevelId><pnLevel>普通号</pnLevel><pnLevelDes>0</pnLevelDes></an><an><anId>963376084633</anId><accessNumber>13376084633</accessNumber><anTypeCd>103</anTypeCd><pnStatusCd>170003</pnStatusCd><pnStatus>占用</pnStatus><pnPoolId>25500000063228</pnPoolId><pnPool>南京市区普通移动号池</pnPool><pnLevelId>111</pnLevelId><pnLevel>特号(差号)</pnLevel><pnLevelDes>0</pnLevelDes></an><an><anId>250324894194</anId><accessNumber>15380875500</accessNumber><anTypeCd>103</anTypeCd><pnStatusCd>170300</pnStatusCd><pnStatus>审批封锁</pnStatus><pnPoolId>25500000065813</pnPoolId><pnPool>南京座上客食品有限公司移动虚拟网</pnPool><pnLevelId>106</pnLevelId><pnLevel>四级</pnLevel><pnLevelDes>1500</pnLevelDes></an><an><anId>250326638040</anId><accessNumber>18900670001</accessNumber><anTypeCd>103</anTypeCd><pnStatusCd>170300</pnStatusCd><pnStatus>审批封锁</pnStatus><pnPoolId>25500000063397</pnPoolId><pnPool>军翼网省公司号池移动虚拟网</pnPool><pnLevelId>106</pnLevelId><pnLevel>四级</pnLevel><pnLevelDes>1500</pnLevelDes></an></resultInfo></root>
Ending action Action.
Ending iteration 1.
但是到了负载模块,运行一段时间,5个用户,有error信息:内容如下:
Abnormal termination, caused by mdrv process termination. 我也按照网上说的 线程转进程的方法了,但是好像不怎么好使,请大侠们指点下。
机器是笔记本: I5 得处理器,2G 内存, windows7 系统。
还有个问题:我在脚本调试时,日志是全部打印的,不知道 负载的时候,是否需要关闭,有没有影响! 还有 怎么把截图发上来,我看了运行结果:
事物都是通过的,但就是运行的场景中的error 有错误,错误都是
Abnormal termination, caused by mdrv process termination.
不知道这个错误的原因,会对我的性能结果有影响吗? 我看了场景运行结果,
事物都是通过的,但是 error 项中会出现错误:
Abnormal termination, caused by mdrv process termination.
不知道会不会对我的性能结果有影响,这样负载算不算成功呀! 执行结果,事物都是通过的!
但是error 项中有错误,具体的报错信息为:
Abnormal termination, caused by mdrv process termination.
不知道这个对性能结果有影响不,什么原因导致的! 负载压力太大你自己电脑吃不消了,记得加等待时间。 上面的问题加个等待时间解决了,谢谢LS。
但是我现在和我们的开发对于问题的定位出现分歧:
讲下具体的情况,有个问题单是,调用上面的接口,现场出现过如下的报错:
1. 系统错误; nested exception is com.linkage.bss.commons.exception.BssRuntimeException: 系统错误; nested exception is java.lang.Exception: OSS1.0 IOSSInterfaceForCRM:getPnInfos异常:Connection reset
2. 系统错误; nested exception is com.linkage.bss.commons.exception.BssRuntimeException: 系统错误; nested exception is java.lang.Exception: OSS1.0 IOSSInterfaceForCRM:getPnInfos异常:Read timed out
我的主要任务是复现这个问题,脚步上面已经录制提供了,但是如果在负载过程其有某次事物失败或者出现error,我怎么分析是不是出现上面对应的异常呢:
是后台自己看日志,还是能通过脚步获取打印出来呢?-- 注:开发和我说,上面的异常在调用接口时,可以return返回! lr_start_transaction("GETPNINFOS");
web_reg_find("Fail=Found",
"Search=All",
"SaveCount=ZTE_COUNT",
"Text=nested exception is com.linkage.bss.commons.exception.BssRuntimeException",
LAST);
web_service_call( "StepName=getPnInfos_101",
"SOAPMethod=OSSInterfaceForCRMService|OSSInterfaceForCRMPort|getPnInfos",
"ResponseParam=response",
"Service=OSSInterfaceForCRMService",
"URL=http://132.228.224.230/resweb/service/IOSSInterfaceForCRM",
"ExpectedResponse=SoapResult",
"Snapshot=t1373011791.inf",
BEGIN_ARGUMENTS,
"inXml={NewParam}",
END_ARGUMENTS,
BEGIN_RESULT,
"return=Param_return",
END_RESULT,
LAST);
//输出调用返回值
lr_log_message("result1111111112222 = %s", lr_eval_string("{Param_return}"));
// lr_end_transaction("GETPNINFOS", LR_AUTO);
if (atoi(lr_eval_string("{ZTE_COUNT}"))>0) //验证是否找到了要检查的字符串
lr_end_transaction("GETPNINFOS",LR_FAIL);
else
lr_end_transaction("GETPNINFOS",LR_PASS);
lr_think_time(3);
return 0;
后续自己修改的脚步,不知道能否解决我上面提的问题。
我现在的状态就是,开发说loadrunner负载结束后,提供的信息太少,无法确定是不是出现那个异常,他无法定位问题,这就搞的我举步维艰了,我也不知道怎么处理这个情况! lr_start_transaction("GETPNINFOS");
web_reg_find("Fail=Found",
"Search=All",
"SaveCount=ZTE_COUNT",
"Text=nested exception is com.linkage.bss.commons.exception.BssRuntimeException",
LAST);
web_service_call( "StepName=getPnInfos_101",
"SOAPMethod=OSSInterfaceForCRMService|OSSInterfaceForCRMPort|getPnInfos",
"ResponseParam=response",
"Service=OSSInterfaceForCRMService",
"URL=http://132.228.224.230/resweb/service/IOSSInterfaceForCRM",
"ExpectedResponse=SoapResult",
"Snapshot=t1373011791.inf",
BEGIN_ARGUMENTS,
"inXml={NewParam}",
END_ARGUMENTS,
BEGIN_RESULT,
"return=Param_return",
END_RESULT,
LAST);
//输出调用返回值
lr_log_message("result1111111112222 = %s", lr_eval_string("{Param_return}"));
// lr_end_transaction("GETPNINFOS", LR_AUTO);
if (atoi(lr_eval_string("{ZTE_COUNT}"))>0) //验证是否找到了要检查的字符串
lr_end_transaction("GETPNINFOS",LR_FAIL);
else
lr_end_transaction("GETPNINFOS",LR_PASS);
lr_think_time(3);
return 0;
这个是我后来调试的脚步,不知道是否正确,虽然跑下,没有报错。
现在纠结的问题是,开发他说loadrunner压力时,如果出现错误,是否可以提供详细的日志什么的,要是不能,他无法定位问题。
页:
[1]