ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Loadrunner:脚本编写通用模板(Http协议类型)

2019-05-14 18:54:42  阅读:220  来源: 互联网

标签:传参 事务 Http tokenId Loadrunner appboss lr Referer 模板


1. 背景

对于 Http协议,Loadrunner 脚本可以使用通用模板反复粘贴,只需要修改其中的 URL 和 传参,就可以完成一整个业务

 

2. Get 类型的接口

web_custom_request(
  // 名称,最好用英文
  "Hello", 
  // 接口的 URL,建议 appboss 地址设置成变量,方便切换环境
  "URL={appboss}/app/shopBuy/detail?tokenId={tokenId}", 
  // 提交方式
  "Method=GET", 
  "TargetFrame=", 
  "Resource=1", 
  // 返回内容定义的类型
  "RecContentType=application/json", 
  "Referer=",     
  // 请求内容定义的类型        
  "EncType=application/x-www-form-urlencoded; charset=utf-8", 
  LAST);

 

3. POST 类型接口

web_submit_data(
  // 名称,最好用英文
  "Hello", 
  // 接口的 URL,建议 appboss 地址设置成变量,方便切换环境
  "Action={appboss}/app/shopBuy/detail?tokenId={tokenId}", 
  // 提交方式
  "Method=POST", 
  "TargetFrame=", 
  "Referer=1", 
  // 返回内容定义的类型
  "RecContentType=application/json", 
  "Referer=",     
  "Mode=HTML",
  ITEMDATA,
  // 请求体内容
  "Name=传参的键", "Value=传参的值", ENDITEM,
  LAST);

 

4. 添加事务

事务是用来区分不同业务的,一个接口就可以用一个事务包含起来,方便统计

// 事务开始
lr_start_transaction("事务名称");

web_submit_data(
  // 名称,最好用英文
  "Hello", 
  // 接口的 URL,建议 appboss 地址设置成变量,方便切换环境
  "Action={appboss}/app/shopBuy/detail?tokenId={tokenId}", 
  // 提交方式
  "Method=POST", 
  "TargetFrame=", 
  "Referer=1", 
  // 返回内容定义的类型
  "RecContentType=application/json", 
  "Referer=",     
  "Mode=HTML",
  ITEMDATA,
  // 请求体内容
  "Name=传参的键", "Value=传参的值", ENDITEM,
  LAST);

// 事务结束
lr_end_transaction("事务名称", LR_AUTO);

 

5. 添加断言

上面的脚本还缺少测试中最重要的一环,就是断言,判断执行的结果是否符合预期

// 事务开始
lr_start_transaction("事务名称");

// 这个需要放到Http请求前面,从结果中查找预期匹配内容
web_reg_find(
    "SaveCount=存储匹配次数的变量名",
  // 想要匹配的内容 "Text=\"errorCode\" : \"200\",\n", LAST); web_submit_data(   // 名称,最好用英文   "Hello",   // 接口的 URL,建议 appboss 地址设置成变量,方便切换环境   "Action={appboss}/app/shopBuy/detail?tokenId={tokenId}",   // 提交方式   "Method=POST",   "TargetFrame=",   "Referer=1",   // 返回内容定义的类型   "RecContentType=application/json",   "Referer=",   "Mode=HTML",   ITEMDATA,   // 请求体内容   "Name=传参的键", "Value=传参的值", ENDITEM,   LAST); // 事务结束 // 根据匹配的数量进行判断事务是否成功 if(atoi(lr_eval_string("{存储匹配次数的变量名}"))>0) { // 事务成功 lr_end_transaction("事务名称", LR_PASS); } else { // 事务失败 lr_end_transaction("事务名称", LR_FAIL); }

 

6. 添加集合点

既然是做性能,自然少不了并发用的集合点

// 集合点,需要放在事务之前
lr_rendezvous("集合点名称");

// 事务开始
lr_start_transaction("事务名称");

// 这个需要放到Http请求前面,从结果中查找预期匹配内容
web_reg_find(
    "SaveCount=存储匹配次数的变量名",
  // 想要匹配的内容
    "Text=\"errorCode\" : \"200\",\n",
    LAST);

web_submit_data(
  // 名称,最好用英文
  "Hello", 
  // 接口的 URL,建议 appboss 地址设置成变量,方便切换环境
  "Action={appboss}/app/shopBuy/detail?tokenId={tokenId}", 
  // 提交方式
  "Method=POST", 
  "TargetFrame=", 
  "Referer=1", 
  // 返回内容定义的类型
  "RecContentType=application/json", 
  "Referer=",     
  "Mode=HTML",
  ITEMDATA,
  // 请求体内容
  "Name=传参的键", "Value=传参的值", ENDITEM,
  LAST);



// 事务结束
// 根据匹配的数量进行判断事务是否成功
if(atoi(lr_eval_string("{存储匹配次数的变量名}"))>0)
    {
        // 事务成功
        lr_end_transaction("事务名称", LR_PASS);
    }
else
    {
        // 事务失败
        lr_end_transaction("事务名称", LR_FAIL);
    }    

 

标签:传参,事务,Http,tokenId,Loadrunner,appboss,lr,Referer,模板
来源: https://www.cnblogs.com/yebaofang/p/10863833.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有