loadrunner访问https后端服务
2016-07-20 10:14
573 查看
项目中,需要对提供https服务的esb进行压力测试。测试的同事们都采用loadrunner进行压力测试,但之测过http的,没有测过https的。
自己拿来研究了一下,发现能够使用,给大家分享一下。
esb 提供 https + post 服务,loadrunner脚本编写如下:
Action()
{
lr_rendezvous("提交");
lr_start_transaction("Commit");
web_reg_save_param("RespCode",
"LB=RespCode\":\"",
"RB=\",\"RespDesc",
"Search=Body",
"Notfound=error", LAST);
/*录入证书信息*/
web_set_certificate_ex("CertFilePath=C:/Users/Neusoft/Desktop/证书/root.pem",
"CertFormat=PEM",
"KeyFilePath=C:/Users/Neusoft/Desktop/证书/client.pem",
"KeyFormat=PEM",
"Password=1234567",
"CertIndex=1",
LAST);
/* 选择相应的注册到IE中的CA证书 */
web_set_certificate( "1" );
web_custom_request("commonProcessor!commonMethod.action_15",
"URL=https://api.potevioservicebus.cn:8243/potevio/services/balanceQuery",
"Method=POST",
"Resource=0",
"RecContentType=application/json",
/*"Referer={url}/potevio/ptscindex/index.jsp?title=CRM&appname=crm#",
"Snapshot=t35.inf",
"Mode=HTML", */
"EncType=application/json",
"Body={\"StreamNo\":\"{SystemId}{date}{Seq}\",\"SystemId\":\"{SystemId}\",\"ReqTime\":\"{date}\", \"TransBody\":{ \"QueryType\":2, \"QueryValue\":\"18666666666\" }}",
LAST);
if(strcmp(lr_eval_string("{RespCode}"), "0000") == 0)
{
lr_end_transaction("Commit", LR_AUTO);
}else{
lr_end_transaction("Commit", LR_FAIL);
};
lr_output_message("收到结果:%s",lr_eval_string("{RespCode}"));
return 0;
}
随后直接F5执行,即可测试。
注:
测试脚本 可能写的不够全面,这是从测试人员的脚本中摘出来的,然后加上 ssl相关的脚本,即可正常通信。
自己拿来研究了一下,发现能够使用,给大家分享一下。
esb 提供 https + post 服务,loadrunner脚本编写如下:
Action()
{
lr_rendezvous("提交");
lr_start_transaction("Commit");
web_reg_save_param("RespCode",
"LB=RespCode\":\"",
"RB=\",\"RespDesc",
"Search=Body",
"Notfound=error", LAST);
/*录入证书信息*/
web_set_certificate_ex("CertFilePath=C:/Users/Neusoft/Desktop/证书/root.pem",
"CertFormat=PEM",
"KeyFilePath=C:/Users/Neusoft/Desktop/证书/client.pem",
"KeyFormat=PEM",
"Password=1234567",
"CertIndex=1",
LAST);
/* 选择相应的注册到IE中的CA证书 */
web_set_certificate( "1" );
web_custom_request("commonProcessor!commonMethod.action_15",
"URL=https://api.potevioservicebus.cn:8243/potevio/services/balanceQuery",
"Method=POST",
"Resource=0",
"RecContentType=application/json",
/*"Referer={url}/potevio/ptscindex/index.jsp?title=CRM&appname=crm#",
"Snapshot=t35.inf",
"Mode=HTML", */
"EncType=application/json",
"Body={\"StreamNo\":\"{SystemId}{date}{Seq}\",\"SystemId\":\"{SystemId}\",\"ReqTime\":\"{date}\", \"TransBody\":{ \"QueryType\":2, \"QueryValue\":\"18666666666\" }}",
LAST);
if(strcmp(lr_eval_string("{RespCode}"), "0000") == 0)
{
lr_end_transaction("Commit", LR_AUTO);
}else{
lr_end_transaction("Commit", LR_FAIL);
};
lr_output_message("收到结果:%s",lr_eval_string("{RespCode}"));
return 0;
}
随后直接F5执行,即可测试。
注:
测试脚本 可能写的不够全面,这是从测试人员的脚本中摘出来的,然后加上 ssl相关的脚本,即可正常通信。
相关文章推荐
- Linux实现https方式访问站点
- HTTPS科普扫盲帖
- C#模拟http 发送post或get请求的简单实例
- 在Ajax中使用get和post所遇到的问题及解决办法
- MySQL压力测试方法 如何使用mysqlslap测试MySQL的压力?
- POST与GET方法的区别简要分析
- 简单谈谈GET和POST有什么区别
- C#使用post发送和接收数据的方法
- HTTPS的七个误解
- PHP响应post请求上传文件的方法
- VB使用XMLHTTP实现Post与Get的方法
- 分享下GET和POST的真正区别
- php采用ajax数据提交post与post常见方法总结
- PHP socket 模拟POST 请求实例代码
- ajax 的post方法实例(带循环)
- C#实现的三种模拟自动登录和提交POST信息的方法
- ASP.Net Post方式获取数据流的一种简单写法
- C#中在WebClient中使用post发送数据实现方法