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/2019", 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/2019这个航班,这个值需要进行关联
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.将回放设置的日志取消,输出如下
loadrunner订飞机票录制脚本及脚本调试相关推荐
- Loadrunner之-VirtualUserGenerator录制web程序脚本
LR录制 参考https://blog.csdn.net/ll_cloud/article/details/81002769 1.Ctrl+N,新建文件. 协议选择web-HTTP/HTML 2.点击 ...
- 【LoadRunner】解决LR11无法录制Chrome浏览器脚本问题
[LoadRunner]解决LR11无法录制Chrome浏览器脚本问题 参考文章: (1)[LoadRunner]解决LR11无法录制Chrome浏览器脚本问题 (2)https://www.cnbl ...
- Loadrunner 录制手机App脚本多种方法介绍
之前写过使用Loadrunner录制APP脚本的基本流程_Loadrunner_APP测试_性能测试_脚本录制_基本操作流程,但是只能用于请求单一服务器端口适用 这次主要是写的多server服务器时, ...
- Loadrunner11 录制手机App脚本多种方法介绍
总体来说,通过LR录制手机脚本的方式有三种: 1)通过代理方式录制,保证手机电脑在同一个网段: 2)通过抓包录制,在手机上安装Mobile Recorder: 3)通过安卓模拟器录制,本地安装andr ...
- Loadrunner12解决无法录制chrome及脚本为空问题
首先,得安装LR12,一般用LR12录制,由于未破解,用LR11跑并发. LR12官方文档说明里是支持chrome及火狐的,但是实际录制起来,还是有一定的问题,目前发现的问题主要有两个: (1)LR录 ...
- 使用JMeter录制手机App脚本
Apache JMeter是100%的Java桌面应用程序,用于对软件做压力测试.它最初被设计用于Web应用测试,但后来扩展到其他测试领域.现如今这款软件越来越受到测试人员的青睐,相比于LoadRun ...
- Android自动化测试之MonkeyRunner录制和回放脚本
Android自动化测试之MonkeyRunner录制和回放脚本(十一) 分类: 自动化测试 Android自动化 2013-02-22 10:57 7346人阅读 评论(2) 收藏 举报 andro ...
- Android自动化测试之MonkeyRunner MonkeyDevice MonkeyImage API使用详解 脚本编写 脚本录制回放
MonkeyRunner 系列文章 MonkeyRunner简介 MonkeyRunner 三大模块 MonkeyRunner API MonkeyDevice API MonkeyImage API ...
- jmeter教程系列(20)jmeter录制接口自动化脚本
jmeter录制接口自动化脚本 1.添加HTTP代理服务器 2.添加线程组 3.配置HTTP代理服务器 4.设置本地代理 5.录制完成后,调试脚本 (1)使用正则表达式提取器登录模块中公共的token ...
最新文章
- MVC中获取模型属性的Range和StringLength验证特性设置
- css div漂浮向下,DIV+CSS固定底部的漂浮广告
- 【开源项目】向Nginx-RTMP服务器推流
- LeetCode 1080. 根到叶路径上的不足节点(递归)
- 以国家战略科学家身份,顶级AI学者朱松纯回国,筹建北京通用AI研究院
- 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法
- reids的持久化 RDB和AOF
- Axure 9母版引发事件
- hadoop容错性(详解版)
- 大神尝试扒迅雷的代码,竟然被扒了个精光!
- 程序员如何在技术上提升自己
- 申报国家高新技术企业有什么好处?
- java web网上商城项目实战与源码
- 开源我的3D库WxGL:40行代码将疫情地图变成三维地球模型
- MTK 双摄算法集成
- [软件更新]迅雷(Thunder)5.9.2.927特别版(6月17日修正)
- 哈尔滨工业大学计算学院保研预推免
- 如何制作称重仪表与计算机之间的连线
- 没有电商巨头有钱,又要挑战双十一流量高峰,一次低成本、高质量的大促是如何做到的?
- 四校联合第一次周赛G、H题解