码迷,mamicode.com
首页 > 其他好文 > 详细

LoadRunner脚本编写

时间:2016-08-18 00:49:51      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

一.脚本编写

案例一

Action()
{
	//请求1
	web_custom_request("WebTours", //可以自定义
	"URL=http://127.0.0.1:1080/WebTours/", //Get请求的地址
	"Method=GET", //方式GET
	"Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源
	"RecContentType=text/html", //录制时响应报头文本类型
	"Snapshot=t1.inf", //录制快照保存到t1.inf中
	"Mode=HTTP", //录制的模式HTTP
	LAST);
	//请求2
	web_custom_request("header.html", //可以自定义
	"URL=http://127.0.0.1:1080/WebTours/header.html", //Get请求的地址
	"Method=GET", //方式GET
	"Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源
	"RecContentType=text/html", //录制时响应报头文本类型
	"Snapshot=t2.inf", //录制快照保存到t2.inf中
	"Mode=HTTP", //录制的模式HTTP
	LAST);

	//请求3
	web_custom_request("signOff=true", //可以自定义
	"URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", //Get请求的地址
	"Method=GET", //方式GET
	"Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源
	"RecContentType=text/html", //录制时响应报头文本类型
	"Snapshot=t3.inf", //录制快照保存到t3.inf中
	"Mode=HTTP", //录制的模式HTTP
	LAST);
	//关联函数
	web_reg_save_param_ex("Paramname=userSession",
	"LB=name=userSession value=",
	"RB=>",
	LAST);

	//请求4
	web_custom_request("in=home", //可以自定义
	"URL=http://127.0.0.1:1080/WebTours/nav.pl?in=home", //Get请求的地址
	"Method=POST", //方式GET
	"Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源
	"RecContentType=text/html", //录制时响应报头文本类型
	"Snapshot=t4.inf", //录制快照保存到t4.inf中
	"Mode=HTTP", //录制的模式HTTP
	LAST);

	//请求5
	web_custom_request("home.html", //可以自定义
	"URL=http://127.0.0.1:1080/WebTours/home.html", //Get请求的地址
	"Method=GET", //方式GET
	"Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源
	"RecContentType=text/html", //录制时响应报头文本类型
	"Snapshot=t5.inf", //录制快照保存到t5.inf中
	"Mode=HTTP", //录制的模式HTTP
	LAST);
    
	lr_start_transaction("登录");

	//POST
	web_custom_request("login.pl", //可以自定义
	"URL=http://127.0.0.1:1080/WebTours/login.pl", //Get请求的地址
	"Method=POST", //方式GET
	"Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源
	"RecContentType=text/html", //录制时响应报头文本类型
	"Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", //请求的页面,在URL写明后,该属性无效可省略
	"Snapshot=t6.inf", //录制快照保存到t6.inf中
	"Mode=HTTP", //录制的模式HTTP
        "Body=userSession={userSession}&username=test001&password=123456",
	LAST);


	//请求7
	web_custom_request("in=home", //可以自定义
	"URL=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", //Get请求的地址
	"Method=GET", //方式GET
	"Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源
	"RecContentType=text/html", //录制时响应报头文本类型
	"Snapshot=t7.inf", //录制快照保存到t7.inf中
	"Mode=HTTP", //录制的模式HTTP
	LAST);

	//检查点
	web_reg_find("Text=Welcome, <b>test001</b>,",
                   "Savecount=登录计数",
                   LAST);

	//请求8
	web_custom_request("tro=true", //可以自定义
	"URL=http://127.0.0.1:1080/WebTours/login.pl?intro=true", //Get请求的地址
	"Method=GET", //方式GET
	"Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源
	"RecContentType=text/html", //录制时响应报头文本类型
	"Snapshot=t8.inf", //录制快照保存到t8.inf中
	"Mode=HTTP", //录制的模式HTTP
	LAST);
//判断登录成功与否   if(atoi(lr_eval_string("{登录计数}")) >0){ lr_end_transaction("登录", LR_PASS);   }else{ lr_end_transaction("登录", LR_FAIL);    } //请求9 web_custom_request("signOff=1", //可以自定义 "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=1", //Get请求的地址 "Method=GET", //方式GET "Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源 "RecContentType=text/html", //录制时响应报头文本类型 "Snapshot=t9.inf", //录制快照保存到t9.inf中 "Mode=HTTP", //录制的模式HTTP LAST); //请求10 web_custom_request("in=home", //可以自定义 "URL=http://127.0.0.1:1080/WebTours/nav.pl?in=home", //Get请求的地址 "Method=GET", //方式GET "Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源 "RecContentType=text/html", //录制时响应报头文本类型 "Snapshot=t10.inf", //录制快照保存到t10.inf中 "Mode=HTTP", //录制的模式HTTP LAST);
//请求11 web_custom_request("home.html", //可以自定义 "URL=http://127.0.0.1:1080/WebTours/home.html", //Get请求的地址 "Method=GET", //方式GET "Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源 "RecContentType=text/html", //录制时响应报头文本类型 "Snapshot=t11.inf", //录制快照保存到t11.inf中 "Mode=HTTP", //录制的模式HTTP LAST); return 0; }

案例二

Action()
{
//请求1
    web_url("WebTours", 
    "URL=http://127.0.0.1:1080/WebTours/", 
    //"TargetFrame=", 
    //"TargetBrowser=Mercury Technologies", 
    "Resource=0", 
    "RecContentType=text/html", 
    "Snapshot=t1.inf", 
    "Mode=HTTP", 
    LAST );
//请求2
  web_url("header.html", 
    "URL=http://127.0.0.1:1080/WebTours/header.html", 
    //"TargetFrame=", 
    //"TargetBrowser=Mercury Technologies", 
    "Resource=0", 
    "RecContentType=text/html", 
    "Snapshot=t2.inf", 
    "Mode=HTTP", 
    LAST );
//请求3   web_url("welcome.pl?signOff=true", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", //"TargetFrame=", //"TargetBrowser=Mercury Technologies", "Resource=0", "RecContentType=text/html", "Snapshot=t3.inf", "Mode=HTTP", LAST ); //插入关联函数<input type=hidden name=userSession value=119191.457108141zVDAQVApfHfDzHifptzDtf>   web_reg_save_param_ex("Paramname=userSession",   "LB=name=userSession value=",   "RB=>",   LAST);
//请求4   web_url("in=home", "URL=http://127.0.0.1:1080/WebTours/nav.pl?in=home", //"TargetFrame=", //"TargetBrowser=Mercury Technologies", "Resource=0", "RecContentType=text/html", "Snapshot=t4.inf", "Mode=HTTP", LAST ); //请求5    web_url("home.html", "URL=http://127.0.0.1:1080/WebTours/home.html", //"TargetFrame=", //"TargetBrowser=Mercury Technologies", "Resource=0", "RecContentType=text/html", "Snapshot=t5.inf", "Mode=HTTP", LAST );   lr_start_transaction("登录"); //post提交
   web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t6.inf", "Mode=HTTP", ITEMDATA, "Name=username", "Value=test001", ENDITEM, "Name=password", "Value=123456", ENDITEM, "Name=userSession", "Value={userSession}", ENDITEM, LAST );
//请求7   web_url("nav.pl?page=menu&in=home", "URL=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", //"TargetFrame=", //"TargetBrowser=Mercury Technologies", "Resource=0", "RecContentType=text/html", "Snapshot=t7.inf", "Mode=HTTP", LAST ); //检查点 Welcome, <b>test001</b>, web_reg_find("Text=Welcome, <b>test001</b>,", "Savecount=登录计数", LAST); //请求8   web_url("login.pl?intro=true", "URL=http://127.0.0.1:1080/WebTours/login.pl?intro=true", //"TargetFrame=", //"TargetBrowser=Mercury Technologies", "Resource=0", "RecContentType=text/html", "Snapshot=t8.inf", "Mode=HTTP", LAST );
//判断登录成功与否 if(atoi(lr_eval_string("{登录计数}")) >0){ lr_end_transaction("登录", LR_PASS); }else{ lr_end_transaction("登录", LR_FAIL); } //lr_end_transaction("登录", LR_AUTO); //请求9   web_url("welcome.pl?signOff=1", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=1", //"TargetFrame=", //"TargetBrowser=Mercury Technologies", "Resource=0", "RecContentType=text/html", "Snapshot=t9.inf", "Mode=HTTP", LAST ); //请求10   web_url("nav.pl?in=home", "URL=http://127.0.0.1:1080/WebTours/nav.pl?in=home", //"TargetFrame=", //"TargetBrowser=Mercury Technologies", "Resource=0", "RecContentType=text/html", "Snapshot=t10.inf", "Mode=HTTP", LAST ); //请求11   web_url("home.html", "URL=http://127.0.0.1:1080/WebTours/home.html", //"TargetFrame=", //"TargetBrowser=Mercury Technologies", "Resource=0", "RecContentType=text/html", "Snapshot=t11.inf", "Mode=HTTP", LAST ); return 0; }

  

二.登录脚本编写流程

  编写方式:录制和手写(下面记录手写方式)

  需要工具:httpwatch 或者是 fiddler

具体流程:

  执行一次登录,将请求通过抓包工具记录下来

  筛选请求:如果没有特别要求,图片等格式需求可以忽略

  将get请求写入脚本

  将post请求写入脚本  

  

  寻找检查点——登录成功的网页>查看源码>复制成功登录判断点

  插入检查点函数——放到请求登录成功网页的前面()

 web_reg_find("Text=Welcome, <b>test001</b>,",
                 "Savecount=登录计数",
                 LAST); 

  插入关联函数从服务器获得的动态参数

  位置:放在第一次出现session值的网页前

web_reg_save_param_ex("Paramname=userSession",
		    "LB=name=userSession value=",
		     "RB=>",
		      LAST); 

  添加if语句判断事务是否成功

  (必须先有一个开始事物

  (将结束事物替换为判断条件

if(atoi(lr_eval_string("{登录计数}")) >0){
            lr_end_transaction("登录", LR_PASS);
    }else{
            lr_end_transaction("登录", LR_FAIL);
    }

三.执行

工具——〉创建controler场景 如果出现错误检查是否注册码失效,或者用管理员运行LR

开启windows服务 ——〉services.msc——〉Remote Registry改为手动,然后启动

场景——〉集合(没有亮的话,回脚本界面 插入——〉集合 ,场景界面点击路径再重加载脚本 )

运行——〉可用图——〉windonws资源图——〉右键添加度量——〉添加——〉输入自己电脑的ip

四.分析结果

 未完待续。。

LoadRunner脚本编写

标签:

原文地址:http://www.cnblogs.com/maoxianfei/p/5777430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!