300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > loadrunner订飞机票录制脚本及脚本调试

loadrunner订飞机票录制脚本及脚本调试

时间:2018-11-05 18:49:42

相关推荐

loadrunner订飞机票录制脚本及脚本调试

0.将loadrunner安装路径下的startserver.bat文件打开,就能访问http://127.0.0.1:1080/WebTours/

1.先创建一个脚本,选择web-http/html

2.点录制按钮录制,并设置相关选项。URL address 填要录制的网页,该案例填写http://127.0.0.1:1080/WebTours/ ,点击recording options,recording选择html-based script,advanced 勾选如图

3.跟着视频做遇到一个问题,回放不成功,报错找不到图片将advanced html 的script type 选择第二个即可 A script containing explict URLs only

4.添加事务(登陆、查找航班、选择航班、支付、退出)结束录制

5.回放

去查看票发现只有一张票,没有回放成功。增强脚本,使得多出一张票,回放成功。

6.增强脚本

定位到登陆事务,发现一串字符,将服务器返回给客户端的动态值关联(复制数字,在它的上一步及打开登陆界面右键选择show snapshot,按CTRL+F查找复制的那串数字,如找不到继续往上,在response栏匹配到那串数字,将那一句话复制到action登陆事务的最前面并注释,开始写关联函数如下,写完关联函数,将脚本中其他的数字串换成{session}。)

关联函数

web_reg_save_param("session","LB=name=\"userSession\" value=\"","RB=\"/>",LAST);

第一个参数可任意取,有意义即可;二三参数表示字符串的左边界和右边界,若边界中有双引号,要在前面加转义符。

7.回放脚本成功

8.将出发城市和到达城市参数化

先将出发城市和到达城市替代成参数如上,再添加数据源city.dat,

参数列表可修改的内容

parameter type 可选择导入文件的类型;

file format 中 first data 可选择从第几行开始;

select next row 可选择循环方式;本实验选择顺序循环,到达城市从第二行开始,这样出发城市和到达城市正好错开一个。

9.设置迭代次数5次

10.回放发现生成了五张票,但是五张票一模一样,参数化没有生效。

lr_start_transaction("3_SelectFlight");web_submit_data("reservations.pl_2", "Action=http://127.0.0.1:1080/cgi-bin/reservations.pl", "Method=POST", "TargetFrame=", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/cgi-bin/reservations.pl", "Snapshot=t7.inf", "Mode=HTML", ITEMDATA, "Name=outboundFlight", "Value=353;303;08/27/", ENDITEM, "Name=numPassengers", "Value=1", ENDITEM, "Name=advanceDiscount", "Value=0", ENDITEM, "Name=seatType", "Value=First", ENDITEM, "Name=seatPref", "Value=Window", ENDITEM, "Name=reserveFlights.x", "Value=55", ENDITEM, "Name=reserveFlights.y", "Value=5", ENDITEM, LAST);lr_end_transaction("3_SelectFlight",LR_AUTO);

查看选择航班的代码发现,每次选择的都是353;303;08/27/这个航班,这个值需要进行关联

11.重新回放发现,五张票显示有问题

12.查看response发现,关联的是第一个,而录脚本选择的是第四个,需要加上关联函数的另一个参数Ord

web_reg_save_param("outbound","LB=name=\"outboundFlight\" value=\"","RB=\">","Ord=4",LAST);

13.优化:将登陆操作放在init中,退出操作放在end中

14.如何在脚本中添加事务

15.回放时loadrunner都提示回放成功,但系统中出现各种各样的错误,可以在脚本中加入判断,判断脚本是否真的成功呢。

系统订票成功会提示thank you…,在支付事务中查找这个字符串,将这个字符串关联,将这串值当成一个参数保存起来,比较参数的值是不是包含了thank you .关联写在操作的上面,判断写在操作的下面。

lr_start_transaction("4_payment");//<small><B>Thank you for booking through Web Tours.</B></small>web_reg_save_param("msg","LB=<small><B>","RB=</B></small>",LAST);web_submit_data("reservations.pl_3", "Action=http://127.0.0.1:1080/cgi-bin/reservations.pl", "Method=POST", "TargetFrame=", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/cgi-bin/reservations.pl", "Snapshot=t8.inf", "Mode=HTML", ITEMDATA, "Name=firstName", "Value=huang", ENDITEM, "Name=lastName", "Value=lili", ENDITEM, "Name=address1", "Value=nanjing", ENDITEM, "Name=address2", "Value=jiangsu", ENDITEM, "Name=pass1", "Value=huang lili", ENDITEM, "Name=creditCard", "Value=56413", ENDITEM, "Name=expDate", "Value=1212", ENDITEM, "Name=oldCCOption", "Value=", ENDITEM, "Name=numPassengers", "Value=1", ENDITEM, "Name=seatType", "Value=First", ENDITEM, "Name=seatPref", "Value=Window", ENDITEM, "Name=outboundFlight", "Value={outbound}", ENDITEM, "Name=advanceDiscount", "Value=0", ENDITEM, "Name=returnFlight", "Value=", ENDITEM, "Name=JSFormSubmit", "Value=off", ENDITEM, "Name=.cgifields", "Value=saveCC", ENDITEM, "Name=buyFlights.x", "Value=79", ENDITEM, "Name=buyFlights.y", "Value=6", ENDITEM, LAST);if(strstr(lr_eval_string("{msg}"),"Thank you for booking through Web Tours.")!=NULL){lr_end_transaction("4_payment",LR_PASS);lr_output_message("订票成功,departCity:%s,arriveCity;%s",lr_eval_string("{departCity}"),lr_eval_string("{arriveCity}"));}else{lr_end_transaction("4_payment",LR_FAIL);lr_output_message("订票失败");}

16.将回放设置的日志取消,输出如下

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。