51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2469|回复: 1

[讨论] loadrunner脚本的录制以及多代理录制

[复制链接]

该用户从未签到

发表于 2018-4-19 11:56:30 | 显示全部楼层 |阅读模式
LoadRunner的三大组件

Vugen(录制脚本)
controller(控制中心)
Analysis(分析中心)
录制协议的选择
常用的协议有:HTTP,webseriver,Java Vuser,ODBC

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTTP协议的大全

协议:计算机通讯行业中,任何客户端进行信息传递的时候,都必须有相对应的协议。比如网络通讯就有http和https协议

脚本的录制

点击Create/Edit script 生成一个空白脚本。如上图


在录制脚本脚本之前必须打开loadrunner的LoadRunner Agent Process(代理监控)。也就是上图的小卫星图像。主要作用是将你录制的脚本转行成代码。如果没有打开的话也可以通过以下方法来启动(找到loadrunner的安装目录下的Advanced Settings选择LoadRunner Agent Process点击启动)

点击Start Record一个红色的开始录制脚本的设置,会弹出下方的选项


Application Type(录制程序的类型)分为B/S系统(Internet Applications)和C/S系统( Win32 Applications)
Program to read(选择录制脚本的浏览器驱动/路径),默认选择IE浏览器
URL Address(要录制脚本的目标网站)
Working directory(存放脚本的目录)
Record into Action(录制后生成脚本的位置)
Options录制脚本的设置选项


Recoding

1. HTML-based如果是web应用,首选HTML-based
2. URL-based不是基友浏览器的应用程序推荐使用URL-based script
3. Web应用中包含了与服务器交互的JavaApplet;基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码;
【如果基于浏览器的应用程序包含了JavaScript并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-based方式录制】
4. 基于浏览器的应用程序中使用率HTTPS安全协议,建议也使用URL-based方式录制
5. 如果使用HTML-based script模式录制后不能成功回放,可以考虑改用URL-based script模式来进行录制,因为这种情况多是上面所列举的情况导致的
以web网站为例,点击HTML Advanced会展示如下图所示弹窗


默认选中第一种A script describing user actions

A script describing user actions
    以表单格式提交
A script containing explicit URLs only
    以数据格式提交

建议选择第二种,因为第一种方式录制脚本时有些信息会录制不到,而第二种以数据提交的格式,则不会出现这种问题。
HTTP properties

为防止录制脚本时,出现中文乱码,我们可以勾选HTTP properties下面的Advanced中的Support charset


到这里我们就可以正式的录制脚本了。点击图下的ok,你会看到loadrunner的启动,然后就开始录制脚本了。


当然,你以为这样就可以了吗?对于loadrunner这位傲娇的小公主,还是会出现各种乱七八糟的毛病。


比如上图,打开IE浏览出现0 events。如何解决呢

1. 不要安装杀毒软件
2. 不要同时打开其他浏览器
3. 关闭第三方拓展
尽管你做了上述操作,还是有可能录制不到脚本。那这个时间怎么办呢?

1. 虚拟机里面安装Windows系统,在Windows系统里面安装loadrunner
2. 使用代理
代理录制脚本
那么接下来就开始说明一下代理如何录制脚本。


代理: 通过类似中转站的平台,将客户端和服务器的信息进行传递。
    A(client)同学现在要和B(server)同学进行通信,但是现在就没法直接交互。这时候就通过代理的方法来进行通信,client所有的请求都通过代理发送给server。
    A发一条请求告诉他的经济人C(代理):我要去做头发了,C收到A的消息将它传递给B。B收到消息后,做出响应:好,我要去磨刀。
    这时候就完成了A和B之间的通信,而代理也可以将A(client)发出去的消息和B(server)响应的消息保留下来。
单代理录制脚本
1、启动loadrunner

使用代理录制时Applications Type的选项必须选择Win32 Applications(c/s)。 Program to read选择HP的bin目录下的wplus_init_wsock.exe。其他的选项可以直接默认

2、找到目标的网址

可以通过F12查看IP地址和端口,也可以直接使用网址的url
3、设置LoadRunner的代理

点击Options找到Network下面的Port Mapping的New Enty点击。如下图


设置Socket Service下面的Target Server和Port。

Target Server 目标网址的域名或url,这个有个坑,使用域名的时候不要带http://,不然就会一直保存失败,录制时不成功
Port 目标网址的端口
勾选Traffic Forwarding,并设置一个端口。因为计算机里面所有的通信都是通过端口来进行的。所有要将loadrunner设置为代理服务器必须要设置一个端口,现在我设置的端口就是9999。设置完点击Update

4、设置浏览器的代理

如上面代理所说,client所有的请求都要通过代理发送给server。所以client所有的端口都要指向与loadrunner的端口(9999)
我这里使用的是火狐(firefox)浏览器。
点击选项->点击高级->点击网络->点击设置->点击手动配置代理
->配置好IP和端口后->勾选未所有协议使用相同代理->点击确定
不使用代理保持为空

5、启动loadrunner开始录制

上面的步骤都设置好以后,点击ok,马上就要到见证奇迹的时候到了。当当当,如 下图,说明代理已经成功的启动了,并且开始记录操作步骤了。



虽然代理到这里已经成功的完成了,但是还是有个很致命的缺陷,如果我在访问A网站的同时,又想访问B网站,单代理录制就不行了。所以有什么解决办法呢? 这里就引进了fiddler+loadrunner多代理录制

多代理录制
跟单代理类同,唯一不同的是ip和端口的配置,如下图
client——>loadrunner——>fiddler->server
也就是client将数据发送给loadrunner,loadrunner传给fiddler,fiddler再传递给server,server响应的途径一样。
这样就完成了client->server之间的通信

所以之前的步骤不变,只需要更改loadrunner的代理配置,如下图


为什么是127.0.0.1呢,因为fiddler是安装在本机的。接下来让我们确认一下fiddler的端口。
打开fiddler,点击Tools下面的Options,选择Connections的fiddler_listen on port
默认是4个8,勾选上端口下面的选项,点击OK。如下图

浏览器的端口保持跟之前loadrunner设置的端口一样。到这里loadrunner+fiddler多代理录制就完成了。 启动loadrunner脚本,就可以愉快录制各种网站了。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-3-29 19:20 , Processed in 0.067346 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表