1. 录制方式:

基本流程为:协议选择→设置录制选项→开始录制→插入命令→停止录制→回放验证

协议选择:根据程序框架决定,比如一般情况下,B/S架构的程序都会使用http协议,当然还有一些ftp协议等,C/S架构的程序则很可能会使用一些不常见的协议所以,协议选择这一步,最好和对于开发人员沟通好确定好。

设置录制选项:

1)、录制准备事项

Start recording 设置:

Application type:可选择需要录制的对象类型,Internet Applications(录制对象是一个网络应用,基于浏览器)、Win32 Applications(支持Win32的标准客户端)。

Program to record:设定需要录制的程序名,默认为IE,建议不要使用其他的三方的浏览器进行录制,以免出现不兼容,火狐低版本可以兼容,如果经常需要录制脚本,建议准备一下低版本的火狐浏览器,毕竟支持H5页面的浏览器不多。

URL Address:录制的地址,比如www.aicai.com。

Working directory:用来指定代码的工作目录,一般默认就好。

Record into Action:设置录制内容的存放位置,vuser_init、Action、vuser_end这里需要说明的是vuser_int/vuser_end只会初始化一次,也就是说,无论脚本循环几遍,每个虚拟用户只会在启动脚本和结束脚本时去分别执行vuser_int脚本和vuser_end脚本。真正执行循环的脚本则是主体action,因此看压力需求需要,一般的压力测试主体都会放在action,但是比如在压力主体前需要登入,但压力测试的业务又不是主要压测登录,则会将登入放在vuser_init里面。

2)、录制选项

Recording Options 设置:

Script:基于Web(HTTP/HTML)协议的Vuser脚本是使用C语言作为标准的。

Protocols:协议列表,一般在创建脚本时,会选择好录制脚本的协议,那么这时候的协议列表则是在选择好的协议之下所包含的各个协议。

Recording:录制选项用于设置Web(HTTP/HTML)使用的录制方式,HTML-based Script(以HTML操作为录制级别)、URL-based Script(以HTTP请求为录制级别)。

这里可以对这两种录制方式进行进一步的说明:

HTML-based script是默认的模式,该模式可以为每个用户操作生成单独的函数.URL-based script则可以捕获所有作为用户操作的结果发送到服务器的HTTP请求,然后一一记录下来.URL-based script模式甚至可以捕获非HTML应用程序,例如小程序和非浏览器应用程序. 因此,可以这样理解,HTML-bsed script 可以看做是基于动作的录制方式,每次操作一个总请求,然后总请求里面包含了该动作的所有请求,比如我们点击首页这个动作,该动作可能包含有很多图 片,css,js。等等请求,而这些请求都包含在一个请求提交里面。URL-based script 则可以看做是基于url请求的录制方式,这个模式下,每个操作中包含的所有请求会以http请求的方式独立发给服务器,也就是说一个点击首页的操作,可能 包含css,js,图片等30多个请求,那么这些请求都是按一些顺序单独发过去的,一个个异步加载。

使用HTML-based script录制的脚本直观,易于理解和维护,而基于URL-based script模式录制生成的脚本内容看起来会比较多,将HTML方式中的一个函数拆分成了很多独立的函数,但是这种脚本的可伸缩性更强,记录了更详细的用 户操作信息.所以一般有经验之后都会喜欢这种模式,而且这种模式下跟我们抓包抓到的数据是一一对应的。当然,具体怎么来选择用那种方式并没有强制性,可以 按自己的习惯来,但是有几种请求则必须使用URL-based script 模式。比如 存在ajax提交的业务操作。爱彩则大量使用了这种提交方式。

选择哪种模式应该根据实际需要来进行,下面是一些常见的参考原则:

1.基于浏览器的应用程序推荐使用HTML-based script

2.不是基于浏览器的应用程序推荐使用URL-based script

3.如果基于浏览器的应用程序中包含了java script,并且该脚本向服务器发送了请求,比如DataGrid的分页按钮等,推荐使用URL-based script;

4.基于浏览器的应用程序中使用了HTTPS安全协议,建议使用URL-based script方式录制.

Date Format Extension:将一些常见的编码格式进行转换,便于后期处理,可针对Body、Headers、Cookies、Query String四种数据段进行转码。这一块一般请求直接默认吧。

Port Mapping:提供了对端口映射的处理规则。

Correlation:打开脚本录制时的自动关联选项。

3)、 开始录制

当设置好录制选项后,单击OK按钮启动录制。

首先会看到Recording Bar,然后就会弹出IE并自动跳转到设定好的页面,接下来就是按正常操作流程对页面功能操作一遍了,而LR会把操作过程转换成一个个提交请求。

4)、 插入命令

在录制的过程中可以通过Recording Bar添加一些命令。如切分脚本、添加事务的开始点和结束点、添加集合点、添加注释 等等,根据需要,按需酌情添加,对脚本业务没有什么关系和影响。

5)、结束录制

录制结束后,单击Stop停止录制,客户端和服务器交互协议会被放在Generation Log内,VuGen随后会对协议交互进行分析,生成脚本。

转载至:(作者:owenhe 来源:http://www.cnblogs.com/7test/articles/4778743.html)

转载于:https://www.cnblogs.com/Grace7582/p/4808297.html

性能测试概念点分析与过程讲解(一)相关推荐

  1. 性能测试概念点分析与过程讲解(三)

    6.1 参数化详解: 首先,我还是要巴拉巴拉一下参数化的概念和意义,什么叫做参数化:参数化,就是在我们录制好脚本,或者写好提交请求中那些被写死的值,但是这些值又会因为提交请求不同或者用户要求变化而做的 ...

  2. php管道的概念,管道线的概念定义及分析技巧的讲解

    股票教程视频中对于趋势进行介绍的时候,总是会提到管道线,那究竟股票管道线是如何被定义的?它在实战中应该如何进行应用?如果您对于该形态还不了解的话,那今天就可以跟随赢家财富网的主编老师来了解. 一.概念 ...

  3. JAVA23种设计模式学习,源码+案例分析+类图讲解

    本文对JAVA中23种设计模式进行了简单的讲解,幷加以实际案例进行辅助理解,每种模式都会举例说明,幷将源码开源至gitee和githbu上.JAVA目录下为源码,resources目录下的UML文件夹 ...

  4. NS3概念概述及first.cc讲解

    NS3概念概述及first.cc讲解 文章转载自:漫天大雪 一.关键的抽象概念 1.1节点 在因特网术语中,任何一台连接到网络的计算设备被称为主机,亦称为终端. ns -3是一个网络模拟器,而非一个专 ...

  5. 基于ArcGIS:GIS空间分析复习-理论概念+案例分析

    目录 01 第一章 1.1 GIS空间分析的概念 1.2 GIS空间分析的研究对象.研究目标 1.3 研究目标是:认知.解释.预报.调控. 1.4 道路拓宽案例分析 1.5 GIS空间分析的核心问题 ...

  6. 利用计算机解决问题过程中找出已知,用计算机解决问题的过程讲解.ppt

    用计算机解决问题的过程讲解.ppt 第一章 揭开计算机解决问题的神秘面纱,第一节 计算机解决问题的过程,什么是程序,计算机的任何动作都是在执行人给它的指令.人们针对某一需要而为计算机编制的指令序列称为 ...

  7. 分析linux系统的运行性能,Linux系统的性能测试与性能分析

    Linux系统的性能测试与性能分析 发表于:2012-12-03来源:一淘测试作者:若凌点击数: Linux系统的性能测试与性能分析1 性能测试简介 性能测试的过程就是找到系统瓶颈的过程. 性能测试( ...

  8. golang源码分析-启动过程概述

    golang源码分析-启动过程概述 golang语言作为根据CSP模型实现的一种强类型的语言,本文主要就是通过简单的实例来分析一下golang语言的启动流程,为深入了解与学习做铺垫. golang代码 ...

  9. pd.merge 结果出现重复_COUNTIFS函数技巧之去重复值计数(思路分析,过程详解)...

    各位读者朋友们大家好,今天给大家介绍COUNTIFS函数的技巧性用法一,去除重复值计数.何为去除重复值计数呢?简单来说,当我们的数据源中存在重复值时,而我们只想将重复值计算一次,来计算不重复的项目有多 ...

最新文章

  1. 汇编语言(五)之数组中正数和负数分离
  2. Spring MVC3 Hibernate CRUD示例应用程序
  3. python怎么读取pdf文件_Python解析并读取PDF文件内容的方法
  4. linux编译c++ 静态库,C/C++ 条件编译静态库
  5. 软件测试项目计划书总结,软件测试项目计划书.doc
  6. 创建variant二维数组
  7. java application程序_如何Java编写的application程序像exe一样方便shy;的运行
  8. Java中如何使用匿名内部类?
  9. day 5 名片管理系统-文件版
  10. angular新建组件_精美Angular后台管理模板分享-前后端分离(含所有代码)
  11. PS之PS 删除时出现无法完成请求,因为智能对象不能直接进行编辑。
  12. 测试方法论——数据驱动测试
  13. 整合ssh时 犯的愚蠢问题
  14. 6月13日木叶下向量
  15. 罗克韦尔自动化任命Susana Gonzalez为EMEA地区总裁
  16. wikioi1369 xth 砍树
  17. 搜索:多模态搜索算法实践【工业界:将其他模态(视频、音频)的信息降维到文本模态】【学术界:将所有模型信息映射到公共向量空间】
  18. distribute-list分发列表
  19. elementUI angular适合做H5吗
  20. 简析客户流失的原因及解决办法

热门文章

  1. python字符串出栈方法_Python 实现字符串反转的9种方法
  2. 一个内核调试函数的实现
  3. 在switch语句中使用字符串以及实现原理
  4. lisp 多边形象限_AutoLISP图程序设计.ppt
  5. python下面的代码_求下面python代码的差别。
  6. 【flink】flink Source Coordinator Thread already exists driving actions Source Coordinator. Existing
  7. 【Elasticsearch】关于 Analyzers 的一切,第一部分
  8. Elasticsearch】es memory locking requested for process but memory is not locked
  9. 【xshell】xshell 自动换行设置
  10. 【java】java原生序列化和Kryo序列化性能实例对比分析