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订飞机票录制脚本及脚本调试相关推荐

  1. Loadrunner之-VirtualUserGenerator录制web程序脚本

    LR录制 参考https://blog.csdn.net/ll_cloud/article/details/81002769 1.Ctrl+N,新建文件. 协议选择web-HTTP/HTML 2.点击 ...

  2. 【LoadRunner】解决LR11无法录制Chrome浏览器脚本问题

    [LoadRunner]解决LR11无法录制Chrome浏览器脚本问题 参考文章: (1)[LoadRunner]解决LR11无法录制Chrome浏览器脚本问题 (2)https://www.cnbl ...

  3. Loadrunner 录制手机App脚本多种方法介绍

    之前写过使用Loadrunner录制APP脚本的基本流程_Loadrunner_APP测试_性能测试_脚本录制_基本操作流程,但是只能用于请求单一服务器端口适用 这次主要是写的多server服务器时, ...

  4. Loadrunner11 录制手机App脚本多种方法介绍

    总体来说,通过LR录制手机脚本的方式有三种: 1)通过代理方式录制,保证手机电脑在同一个网段: 2)通过抓包录制,在手机上安装Mobile Recorder: 3)通过安卓模拟器录制,本地安装andr ...

  5. Loadrunner12解决无法录制chrome及脚本为空问题

    首先,得安装LR12,一般用LR12录制,由于未破解,用LR11跑并发. LR12官方文档说明里是支持chrome及火狐的,但是实际录制起来,还是有一定的问题,目前发现的问题主要有两个: (1)LR录 ...

  6. 使用JMeter录制手机App脚本

    Apache JMeter是100%的Java桌面应用程序,用于对软件做压力测试.它最初被设计用于Web应用测试,但后来扩展到其他测试领域.现如今这款软件越来越受到测试人员的青睐,相比于LoadRun ...

  7. Android自动化测试之MonkeyRunner录制和回放脚本

    Android自动化测试之MonkeyRunner录制和回放脚本(十一) 分类: 自动化测试 Android自动化 2013-02-22 10:57 7346人阅读 评论(2) 收藏 举报 andro ...

  8. Android自动化测试之MonkeyRunner MonkeyDevice MonkeyImage API使用详解 脚本编写 脚本录制回放

    MonkeyRunner 系列文章 MonkeyRunner简介 MonkeyRunner 三大模块 MonkeyRunner API MonkeyDevice API MonkeyImage API ...

  9. jmeter教程系列(20)jmeter录制接口自动化脚本

    jmeter录制接口自动化脚本 1.添加HTTP代理服务器 2.添加线程组 3.配置HTTP代理服务器 4.设置本地代理 5.录制完成后,调试脚本 (1)使用正则表达式提取器登录模块中公共的token ...

最新文章

  1. MVC中获取模型属性的Range和StringLength验证特性设置
  2. css div漂浮向下,DIV+CSS固定底部的漂浮广告
  3. 【开源项目】向Nginx-RTMP服务器推流
  4. LeetCode 1080. 根到叶路径上的不足节点(递归)
  5. 以国家战略科学家身份,顶级AI学者朱松纯回国,筹建北京通用AI研究院
  6. 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法
  7. reids的持久化 RDB和AOF
  8. Axure 9母版引发事件
  9. hadoop容错性(详解版)
  10. 大神尝试扒迅雷的代码,竟然被扒了个精光!
  11. 程序员如何在技术上提升自己
  12. 申报国家高新技术企业有什么好处?
  13. java web网上商城项目实战与源码
  14. 开源我的3D库WxGL:40行代码将疫情地图变成三维地球模型
  15. MTK 双摄算法集成
  16. [软件更新]迅雷(Thunder)5.9.2.927特别版(6月17日修正)
  17. 哈尔滨工业大学计算学院保研预推免
  18. 如何制作称重仪表与计算机之间的连线
  19. 没有电商巨头有钱,又要挑战双十一流量高峰,一次低成本、高质量的大促是如何做到的?
  20. 四校联合第一次周赛G、H题解

热门文章

  1. 自动化安装linux genric msyql 亲测有效
  2. python爬虫解析数据错误_Python网络爬虫数据解析的三种方式
  3. 全球国家或者地区名称中英文对照
  4. 地图的实际extent
  5. 电大计算机程序设计性考任务,国开电大专科《程序设计基础》形考任务1至4试题及答案.pdf...
  6. 详细谈谈软文的定义和软文的发展历史,以及软文的作用
  7. 07年剑桥商务英语考试时间收费确定
  8. 图解文玩核桃的种类和特点
  9. hdu 逃生_从办公室逃生(Python简介)
  10. 微信小程序开发常用的npm包