(一)  几个重要概念说明

  1. 集合点:同步虚拟用户,以便同一时间执行任务。
  2. 事务:事务是指服务器响应用户请求所用的时间,当然它可以衡量某个操作,如登录所需要的时间,也可以衡量一系列的操作所用的时间,如从登录开始到完成一张完整的订单。一个完整的事务是由事务开始、一个或多个业务操作/任务、事务结束三部分构成。
  3. 检查点:检查点是在回放脚本期间检查特定的文本字符串或者图片等内容,从而验证服务器响应内容的正确性。检查点可以理解为检查实际结果是否与预期结果一致。(其实就是简单的检查下功能的正确性,因为得考虑高负载情况下功能不稳定的问题)
  4. 思考时间:用户在执行2个连续操作期间等待的时间称为思考时间。loandrunner 在录制脚本时,虚拟用户产生器(VuGen)将录制实际的停留等待时间并将该时间插入到脚本,脚本中的lr_think_time()函数就是思考时间。

(二)  飞机订票系统安装

loadrunner 12.55不会自动安装飞机订票系统,要自己手动安装。

https://marketplace.microfocus.com/appdelivery/content/web-tours-sample-application

上面这个地址下载:(没账号的话要先注册一个账号)

https://pan.baidu.com/s/1lG7SyP9mwEKNfbZqC61WQA 百度网盘下载地址

下载并解压后,可以看到这2个文件

1、 运行上面的strawberry-perl-5.10.1.0.msi 文件(我是安装这个之前先解压了WebTours.zip文件,这个文件解压与否应该是不影响安装的,影响的话就先解压WebTours.zip文件再去安装)

2、 解压WebTours.zip文件,然后执行下面的文件启动服务(StartServer.bat)

3、 在浏览器输入http://127.0.0.1:1080/WebTours/就可以访问了

(三)  飞机订票系统---客户信息注册(正式录制、修改脚本前的一些说明)

1、      创建一个新的脚本。(文件--新建脚本和解决方案)

vuser_int   Action   vuser_end,这三个文件应该依次是初始化(vuser_int)、测试(Action)、结束(vuser_end),例如:打开网页(初始化部分)、注册功能测试(测试部分)、关闭网页(结束部分),当然,我们也可以将脚本全部写在Action中。(但是有多个Action情况下,我们可以只写一遍初始化和结束部分的代码)

2、      录制脚本

3、      这边貌似不管怎么配置都会弹出一个无Internet的提示(一般来说确定有网,浏览器却打不开网页,可能的原因之一是代理服务器设置的问题,这边不太了解loadrunner录制时是直接用本地的网络,还是自己有个代理服务器(运行时设置有个代理服务器的选项,不过设置成不用代理也没什么用)),暂时的想法是只要网页能正常打开、脚本能正常录制就行了,所以我直接选择不再检查Internet访问了。

4、      (帮助文档是这么说明,不过暂时看不出什么区别)如果应用程序使用SSL连接(即协议是https的),需要在录制选项的“网络-映射和筛选”的端口映射中配置正确的SSL版本。这部分先略过了,以后在研究,先用HP的飞机订票软件学习下(这个是HPPT协议的,暂时用不到这个)。

(三)  飞机订票系统---客户信息注册(开始录制脚本、修改脚本)

(已经点击第二步的【开始录制】)开始录制客户信息注册的脚本

注册成功后

录制完成的初始脚本:(注释部分是我加上的,这里说下录制的时候录制选项有2种模式,一种是下面这种简略的,还有一种是比较详细的(录制选项中可以设置))

 Action()
{
/*加载指定url*/
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t8.inf",
"Mode=HTML",
LAST);
/*点击相应的链接*,C语言中 ; 表示语句的结束,就像我们用句号。来表示结束一样/
web_link("sign up now",
"Text=sign up now",
"Snapshot=t9.inf",
LAST);
/*思考时间(停留时间),这次注册过程中,这个没什么用,可以去掉*/
lr_think_time(); /*提交表单*/
web_submit_form("login.pl",
"Snapshot=t10.inf",
ITEMDATA,
"Name=username", "Value=lai", ENDITEM,
"Name=password", "Value=123", ENDITEM,
"Name=passwordConfirm", "Value=123", ENDITEM,
"Name=firstName", "Value=lai", ENDITEM,
"Name=lastName", "Value=quanhua", ENDITEM,
"Name=address1", "Value=贝贝村", ENDITEM,
"Name=address2", "Value=51000", ENDITEM,
"Name=register.x", "Value=43", ENDITEM,
"Name=register.y", "Value=9", ENDITEM,
LAST); return ;
}

接下来,需要在脚本中

1、设置集合点(同时打开注册页面进行注册)

2、插入事务开始、事务结束

3、设置检查点(检查注册是否成功)

4、参数化注册信息

集合和事务,用工具插入,也可以直接在需要的地方敲上相应的代码。(或者直接鼠标右键-插入)

参数化

插入检查点的方式,按之前的版本,录制过程或快照 --- HTTP数据页/页面视图都可以插入检查点才对,不过目前这个选项是灰色的(不能点击)。看了下帮助文档,12.55的版本中,web_find()函数已经弃用,不知道是不是这个原因导致了添加文本检查点选项是灰色的

我们的目的只是简单的检查下功能的正确性,这里改用web_reg_find()函数了:web_reg_find(Text="",Search="",LAST),简单的说下这2个参数的意思,text指要搜索的文本字符串,search指搜索范围(默认body,HTML代码的BODY 部分),详细可以看帮助文档。在编辑器里输入 web_reg_find(),然后按F1就行了。(这个函数要放到操作的前面,例如我们注册一个账户,这个函数要放到注册操作前,而不是注册操作后面)

参数添加完后,代码中要使用参数的地方,使用这种格式就行了{username}

修改后的代码

 Action()
{
/*集合点*/
lr_rendezvous("同时打开网页进行注册"); /*事务开始*/
lr_start_transaction("同时注册事务"); /*加载指定url*/
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t8.inf",
"Mode=HTML",
LAST); /*点击相应的链接*/
web_link("sign up now",
"Text=sign up now",
"Snapshot=t9.inf",
LAST);
/*检查表单提交后,是否出现指定的text 值*/
web_reg_find("Text={username}",LAST);
/*提交表单*/
web_submit_form("login.pl",
"Snapshot=t10.inf",
ITEMDATA,
"Name=username", "Value={username}", ENDITEM,
"Name=password", "Value={password}", ENDITEM,
"Name=passwordConfirm", "Value={passwordCofirm}", ENDITEM,
"Name=firstName", "Value={firstname}", ENDITEM,
"Name=lastName", "Value={lastname}", ENDITEM,
"Name=address1", "Value={address1}", ENDITEM,
"Name=address2", "Value={address2}", ENDITEM,
"Name=register.x", "Value=43", ENDITEM,
"Name=register.y", "Value=9", ENDITEM,
LAST); /*事务结束*/
lr_end_transaction("同时注册事务", LR_AUTO); return ;
}

loadrunner笔记(二):飞机订票系统--客户信息注册的更多相关文章

  1. 【性能测试】Loadrunner12.55(二)-飞机订票系统-脚本录制

    1.1 飞机订票系统 Loadrunner 12.55不会自动安装飞机订票系统,要自己手动安装. 我们需要下载Web Tools以及一个小插件strawberry https://marketplac ...

  2. loadrunner飞机订票系统从登陆订票退票登出的脚本实现代码调试通过

    在LR自带的飞机订票系统中,完整模拟一个用户从登陆->订票->退票->登出这样一个业务流程,分解每个事务为一个Action: 进入首页->登陆->进入订票页面->选 ...

  3. LR自带网站飞机订票系统 启动

    LR自带的网站:飞机订票系统 可是如何启动自带的网站呢?? 一.启动服务:开始-所有程序--HP Software-HP LoadRunner-Samples-Web-Start Web Server ...

  4. windows API 开发飞机订票系统 图形化界面 (四)

    接下来的是录入航班.修改航班信息功能的实现: //录入航班 BOOL EntryFlight(HWND hEntryDlg){ TCHAR szDiscount[]; TCHAR szFare[],s ...

  5. web类协议脚本-飞机订票系统示例

    以下是LR自带的飞机订票系统的Demo,希望能帮助大家. Action() { int iRand; int iTmp; char *strTmpA; char *strTmpB; char *str ...

  6. Java版飞机订票系统

    关注微信公众号:Worldhello 回复 飞机订票系统 可获得系统源代码并可加群讨论交流 数据结构课程设计题目:          [飞机订票系统]            通过此系统可以实现如下功能 ...

  7. Loadrunner录制+运行+结果-【飞机订票系统实战】

    目录结构: 一.LoadRunner实现订票系统脚本录制 二.Loadrunner实现订票系统IP欺骗(此处可以不设置) 三.Loadrunner运行录制的脚本 四.Load generator配置 ...

  8. windows API 开发飞机订票系统 图形化界面 (二)

    首先,用到的数据结构的定义.以及全局变量和函数的声明如下: // Flight.c : 定义应用程序的入口点. // #include "stdafx.h" //订单 typede ...

  9. windows API 开发飞机订票系统 图形化界面 (一)

    去年数据结构课程设计的作品,c语言实现,图形化界面使用windows API实现. 首发在我csdn博客:http://blog.csdn.net/u013805360/article/details ...

随机推荐

  1. Eclipse中Project的属性Deployment Assembly(部署程序集)消失了,不存在了,去哪儿了

    1. 该项目不是web项目,所以不存在Deployment Assembly 属性.在Eclipse中,怎样将一个非web project变成一个web project? 1)右键项目,选择Proje ...

  2. 【.NET 深呼吸】在 .net core app 中使用 Composition

    .NET 中的 Composition ,即 MEF.MEF 说得简单一点,就是它可以在运行阶段动态地发现类型,用于组件扩展方面特别合适. .NET Core App 的默认框架并不提供 MEF 有关 ...

  3. ionic andorid apk 签名, 查看签名MD5

    ionic cordova build android生成的是带签名的android-debug.apk, 这个是可以在手机上安装的, 但是换个电脑打包这个签名就不一样了, 这样就不能直接替换安装了, ...

  4. PowerShell 显示气球提示框 2

    https://www.itninja.com/blog/view/reboot-required-toast-notifications-for-windows-machines [void][Sy ...

  5. 关于expect的实战总结

    如何从机器A上ssh到机器B上,然后执行机器B上的命令?如何使之自动化完成?看完下面的文章你就明白了 一.安装 expect 是基于tcl 演变而来的,所以很多语法和tcl 类似 sudo apt-g ...

  6. android构建过程

    参考: http://blog.csdn.net/shangmingchao/article/details/47375111 首先,需要了解一下构建APK的七大工具: ①aapt 全称是Androi ...

  7. vs visual stdio 调试 显示指针为数组

    假如有这样一个指针 int *  idx16  那么要想在调试里面显示为数组并且要显示的数组元素个数为24的话,则要写成idx16,24 如下图

  8. 简单理解 RPC(转载)

    原文地址:http://www.syyong.com/architecture/Simple-understanding-of-RPC.html RPC(Remote Procedure Call P ...

  9. windows下查看特定端口被什么程序占用

    我电脑上因为命令: netstat -ano 列出的太多了,所以不好看. 以下是其他方式: 查看8088端口占用情况: 开始---->运行---->cmd,或者是window+R组合键,调 ...

  10. Redis 分布式锁的实现

    0X00 测试环境 CentOS 6.6 + Redis 3.2.10 + PHP 7.0.7(+ phpredis 4.1.0) [root@localhost ~]# cat /etc/issue ...