LoadRunner脚本测试——登录实践

实习公司最近在做一款会计项目的财政管理系统。跟着测试组在做登录响应测试时,学到了不少实践经验。本文作以简单阐述和分享。

– 通过代理服务器录制脚本

测试系统的门户必须用Chrome打开,然而测试环境lr11似乎只对IE浏览器兼容。事实上,lr与浏览器不兼容、打开浏览器无响应的情况时常出现(详见我的上一篇blog)。通过使用代理可以解决二者不兼容的问题。

启用LR代理服务器后,它会监听设置的端口号是否有请求信息发送给服务器。有请求发生时,代理服务器接收请求,并转发给对应的系统服务器,同时LR获取请求的信息与数据,生成脚本。

注意:使用代理需要使本机IP和服务器IP处在同一网段内。

设置代理需要分别配置lr和浏览器。

  • lr代理
    打开Recording Options,在Mapping Filtering中添加New Entry,Target Server填写系统服务器地址,ID选择HTTP。
    在Traffic中同理,注意在设置端口号时避免被占用(尽量大一点,如9998)。
    最后将Application由浏览器更改为lr->bin目录下的wplus_init_wsock.exe。

  • 浏览器代理
    在浏览器的连接设置里,选择手动配置服务器,输入本机IP和与lr监听中相同的端口号

开始录制,Vugen会连接自带的代理,正常情况下用任一浏览器访问服务器的操作都会被录制。

我在手动配置浏览器代理后,出现了外网、局域网、本机服务器都无法连接的情况……Overwhelmed...
  

– 身份标识码token参数化

  • About token

token 是在服务端产生的。当前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 token 给前端。前端在后续的每次请求中可以通过token证明其合法身份。

token一般有两个用处:身份验证防止表单重复提交
因此,在测试登录脚本时,处理token的更新必不可少。

当录制好登陆脚本后,在Design Studio中检测到关联。启动关联后,脚本中自动生成了一段关联代码:

在这里插入图片描述(后面所有提交请求代码中的session值都被替换成了{userSession})

其实关联采用的也是类参数化的方法,新建了“userSession”变量,只不过它的参数取值是即时从服务器获取的。
web_reg_save_param()类函数按照一定的策略从服务器返回的信息中过滤和获取信息。
我们来看看上述代码在生成过程中的日志信息:
在这里插入图片描述
在这里插入图片描述可以找到userSession的值。同时也可以看到,当前端发出Body请求时,带上了这个值说明验证成功。
再回头看上面的关联代码中,RegExp的value建立了一个正则表达式来获取session值。
(其它同理,如web_reg_param_ex()是通过设置左右边界的方法,不过只适用于静态边界的情况。)

  • 题外话:token有效期的设置
    从确保安全的角度考虑,需要为token设置有效期,过期的token值会在服务器中被吊销。
    那么,有效期应该设置多久呢?从安全的角度考虑当然是越短越好,但不能短的过分。
    例如,在用户正常操作过程中突然被要求验证身份,用户体验会非常糟糕。
    方案1:保持token有效状态。当每次用户请求时,都刷新一次token值。但当每秒请求数很大时,频繁刷新会造成很大的传输压力和内存开销。
    方案2:Refresh token。当token即将过期时,客户端向服务器请求更新一个新的token。服务器只需要在这个时候检查Refresh token的有效性。
  • request 指在一次请求的全过程中有效,即从http请求到服务器处理结束,返回响应的整个过程,存放在HttpServletRequest对象中。在这个过程中可以使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量。
  • Session是用户全局变量,在整个会话期间都有效。只要页面不关闭就一直有效(或者直到用户一直未活动导致会话过期,默认session过期时间为30分钟。

– 通过云服务器资源占用分析性能缺陷(Fusion Cloud 华为云)

在对登录脚本测试时,50个独立用户并发登录的响应时间长达十几秒,其中还出现了Fail的情况。日志显示token没有及时返回导致登录不成功。
在服务器上查看服务资源使用(这还是笔者首次使用私有云服务,有点小惊喜),web-service的内存占用爆红了。
将summit请求代码注释掉,只测试登录动作,结果良好。
得出结论:可能是请求操作过多,占用大量内存,服务器处理不及时导致token值没有成功返回,同样也导致响应时间过长。

前端以单个请求为主,导致很多http请求仅仅包含单个业务请求,大量带宽浪费在http head上,cpu浪费在http协议的解析上。

优化策略:尽可能减少请求数,例如“获取日期、获取省份”可以整合在同一个请求中。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
测试实践丛书:性能测试进阶指南·LoadRunner 11实战》结合了很多工作中的实际案例,图文并茂,既适合渴望了解性能测试的新人,也适合对性能测试有一定认识和经验的中、高级测试工程师。同时,《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》也可以作为高校开展性能测试课程的参考教材,让在校学生能对性能测试的本质和价值有一定的认识。 《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》是一本基于HP LoadRunner 11工具的指导用书,从性能测试原理到工具使用再到项目实施,全面介绍了性能测试的各个方面,其内容基本主线说明如下。 第一步(了解理论):磨刀不误砍柴工,打下基础;第二步(掌握工具):深入介绍LoadRunner 11工具三大部分(Virtual User Generator、Controller、Analysis)如何实现用户行为的模拟、性能指标的监控、负载的生成及后期的数据分析;第三步(项目实施):理论联系实际,介绍性能测试项目实施的流程和性能测试部门的组织管理;第四步(进阶提升):对一些当下流行的或比较特殊的协议和开发技巧通过真实案例进行介绍。 基础篇 第1章 性能测试基础 1.1 性能测试工程师的标准及挑战 1.1.1 性能测试工程师的考评指标 1.1.2 性能测试工程师的挑战 1.2 性能测试基础 1.2.1 性能定义 1.2.2 性能指标 1.2.3 单机与网络性能测试 1.2.4 性能测试的流程 1.2.5 性能测试招聘要求 1.2.6 性能测试学习阶段 1.3 性能分析与调优 1.3.1 性能分析及调优原理 1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议分析 2.5.1 HTTP详细介绍 2.5.2 HTTP报文结构 2.5.3 HTTP请求 2.5.4 HTTP应答 2.5.5 HTTP捕获 2.5.6 HTTP回放 2.6 安装 2.6.1 在Windows下安装LoadRunner 2.6.2 安装Load Generator 2.6.3 附加组件 2.6.4 LoadRunner License 2.7 LoadRunner性能测试操作流程预览 2.8 小结 第3章 用户行为模拟 3.1 VuGen界面介绍 3.1.1 Tree图形化模式 3.1.2 脚本模式 3.1.3 Output Window 3.2 录制用户行为 3.2.1 录制流程 3.2.2 协议选择 3.2.3 录制选项 3.2.4 开始录制 3.2.5 插入命令 3.2.6 结束录制 3.2.7 回放验证 3.2.8 录制回放常见问题 3.3 脚本开发 3.3.1 Action简介 3.3.2 脚本如何注释 3.3.3 语言规则 3.3.4 如何使用模板 3.3.5 脚本的导入导出 3.3.6 脚本调试 3.4 通用选项(General Options) 3.4.1 Parameterization标签 3.4.2 Replay标签 3.4.3 Environment标签 3.4.4 Display标签 3.4.5 Correlation标签 3.5 运行设置(Run-Time Setting) 3.5.1 Run Logic 3.5.2 Pacing 3.5.3 Log 3.5.4 Think Time 3.5.5 Additional attributes 3.5.6 Miscellaneous 3.5.7 Speed Simulation 3.5.8 Browser Emulation 3.5.9 Preferences 3.5.10 Download Filters 3.5.11 Data Format Extensions 3.6 参数化 3.6.1 参数化的操作 3.6.2 Parameter List界面介绍 3.6.3 VuGen中的参数 3.6.4 Controller中的参数 3.6.5 同行取值(Same line as) 3.6.6 参数类型 3.6.7 数据向导(Data Wizard) 3.6.8 参数和变量 3.7 关联 3.7.1 关联原理 3.7.2 自动关联 3.7.3 手动关联 3.7.4 一边录制一边关联 3.7.5 关联函数web_reg_save_param_ex详解 3.7.6 关联函数web_reg_save_param_regexp详解 3.7.7 关联函数web_reg_save_param_xpath详解 3.
测试实践丛书:性能测试进阶指南·LoadRunner 11实战》结合了很多工作中的实际案例,图文并茂,既适合渴望了解性能测试的新人,也适合对性能测试有一定认识和经验的中、高级测试工程师。同时,《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》也可以作为高校开展性能测试课程的参考教材,让在校学生能对性能测试的本质和价值有一定的认识。 《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》是一本基于HP LoadRunner 11工具的指导用书,从性能测试原理到工具使用再到项目实施,全面介绍了性能测试的各个方面,其内容基本主线说明如下。 第一步(了解理论):磨刀不误砍柴工,打下基础;第二步(掌握工具):深入介绍LoadRunner 11工具三大部分(Virtual User Generator、Controller、Analysis)如何实现用户行为的模拟、性能指标的监控、负载的生成及后期的数据分析;第三步(项目实施):理论联系实际,介绍性能测试项目实施的流程和性能测试部门的组织管理;第四步(进阶提升):对一些当下流行的或比较特殊的协议和开发技巧通过真实案例进行介绍。 基础篇 第1章 性能测试基础 1.1 性能测试工程师的标准及挑战 1.1.1 性能测试工程师的考评指标 1.1.2 性能测试工程师的挑战 1.2 性能测试基础 1.2.1 性能定义 1.2.2 性能指标 1.2.3 单机与网络性能测试 1.2.4 性能测试的流程 1.2.5 性能测试招聘要求 1.2.6 性能测试学习阶段 1.3 性能分析与调优 1.3.1 性能分析及调优原理 1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议分析 2.5.1 HTTP详细介绍 2.5.2 HTTP报文结构 2.5.3 HTTP请求 2.5.4 HTTP应答 2.5.5 HTTP捕获 2.5.6 HTTP回放 2.6 安装 2.6.1 在Windows下安装LoadRunner 2.6.2 安装Load Generator 2.6.3 附加组件 2.6.4 LoadRunner License 2.7 LoadRunner性能测试操作流程预览 2.8 小结 第3章 用户行为模拟 3.1 VuGen界面介绍 3.1.1 Tree图形化模式 3.1.2 脚本模式 3.1.3 Output Window 3.2 录制用户行为 3.2.1 录制流程 3.2.2 协议选择 3.2.3 录制选项 3.2.4 开始录制 3.2.5 插入命令 3.2.6 结束录制 3.2.7 回放验证 3.2.8 录制回放常见问题 3.3 脚本开发 3.3.1 Action简介 3.3.2 脚本如何注释 3.3.3 语言规则 3.3.4 如何使用模板 3.3.5 脚本的导入导出 3.3.6 脚本调试 3.4 通用选项(General Options) 3.4.1 Parameterization标签 3.4.2 Replay标签 3.4.3 Environment标签 3.4.4 Display标签 3.4.5 Correlation标签 3.5 运行设置(Run-Time Setting) 3.5.1 Run Logic 3.5.2 Pacing 3.5.3 Log 3.5.4 Think Time 3.5.5 Additional attributes 3.5.6 Miscellaneous 3.5.7 Speed Simulation 3.5.8 Browser Emulation 3.5.9 Preferences 3.5.10 Download Filters 3.5.11 Data Format Extensions 3.6 参数化 3.6.1 参数化的操作 3.6.2 Parameter List界面介绍 3.6.3 VuGen中的参数 3.6.4 Controller中的参数 3.6.5 同行取值(Same line as) 3.6.6 参数类型 3.6.7 数据向导(Data Wizard) 3.6.8 参数和变量 3.7 关联 3.7.1 关联原理 3.7.2 自动关联 3.7.3 手动关联 3.7.4 一边录制一边关联 3.7.5 关联函数web_reg_save_param_ex详解 3.7.6 关联函数web_reg_save_param_regexp详解 3.7.7 关联函数web_reg_save_param_xpath详解 3.
测试实践丛书:性能测试进阶指南·LoadRunner 11实战》结合了很多工作中的实际案例,图文并茂,既适合渴望了解性能测试的新人,也适合对性能测试有一定认识和经验的中、高级测试工程师。同时,《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》也可以作为高校开展性能测试课程的参考教材,让在校学生能对性能测试的本质和价值有一定的认识。 《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》是一本基于HP LoadRunner 11工具的指导用书,从性能测试原理到工具使用再到项目实施,全面介绍了性能测试的各个方面,其内容基本主线说明如下。 第一步(了解理论):磨刀不误砍柴工,打下基础;第二步(掌握工具):深入介绍LoadRunner 11工具三大部分(Virtual User Generator、Controller、Analysis)如何实现用户行为的模拟、性能指标的监控、负载的生成及后期的数据分析;第三步(项目实施):理论联系实际,介绍性能测试项目实施的流程和性能测试部门的组织管理;第四步(进阶提升):对一些当下流行的或比较特殊的协议和开发技巧通过真实案例进行介绍。 基础篇 第1章 性能测试基础 1.1 性能测试工程师的标准及挑战 1.1.1 性能测试工程师的考评指标 1.1.2 性能测试工程师的挑战 1.2 性能测试基础 1.2.1 性能定义 1.2.2 性能指标 1.2.3 单机与网络性能测试 1.2.4 性能测试的流程 1.2.5 性能测试招聘要求 1.2.6 性能测试学习阶段 1.3 性能分析与调优 1.3.1 性能分析及调优原理 1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议分析 2.5.1 HTTP详细介绍 2.5.2 HTTP报文结构 2.5.3 HTTP请求 2.5.4 HTTP应答 2.5.5 HTTP捕获 2.5.6 HTTP回放 2.6 安装 2.6.1 在Windows下安装LoadRunner 2.6.2 安装Load Generator 2.6.3 附加组件 2.6.4 LoadRunner License 2.7 LoadRunner性能测试操作流程预览 2.8 小结 第3章 用户行为模拟 3.1 VuGen界面介绍 3.1.1 Tree图形化模式 3.1.2 脚本模式 3.1.3 Output Window 3.2 录制用户行为 3.2.1 录制流程 3.2.2 协议选择 3.2.3 录制选项 3.2.4 开始录制 3.2.5 插入命令 3.2.6 结束录制 3.2.7 回放验证 3.2.8 录制回放常见问题 3.3 脚本开发 3.3.1 Action简介 3.3.2 脚本如何注释 3.3.3 语言规则 3.3.4 如何使用模板 3.3.5 脚本的导入导出 3.3.6 脚本调试 3.4 通用选项(General Options) 3.4.1 Parameterization标签 3.4.2 Replay标签 3.4.3 Environment标签 3.4.4 Display标签 3.4.5 Correlation标签 3.5 运行设置(Run-Time Setting) 3.5.1 Run Logic 3.5.2 Pacing 3.5.3 Log 3.5.4 Think Time 3.5.5 Additional attributes 3.5.6 Miscellaneous 3.5.7 Speed Simulation 3.5.8 Browser Emulation 3.5.9 Preferences 3.5.10 Download Filters 3.5.11 Data Format Extensions 3.6 参数化 3.6.1 参数化的操作 3.6.2 Parameter List界面介绍 3.6.3 VuGen中的参数 3.6.4 Controller中的参数 3.6.5 同行取值(Same line as) 3.6.6 参数类型 3.6.7 数据向导(Data Wizard) 3.6.8 参数和变量 3.7 关联 3.7.1 关联原理 3.7.2 自动关联 3.7.3 手动关联 3.7.4 一边录制一边关联 3.7.5 关联函数web_reg_save_param_ex详解 3.7.6 关联函数web_reg_save_param_regexp详解 3.7.7 关联函数web_reg_save_param_xpath详解 3.7.8 关联函数的高级使用 3.8 检查点 3.8.1 文本检查点 3.8.2 自动检查点 3.8.3 图片检查点 3.9 事务 3.9.1 响应时间 3.9.2 添加事务 3.9.3 事务时间 3.9.4 手工事务 3.10 集合点 3.11 小结 第4章 负载生成及监控Controller 4.1 设计场景 4.1.1 新建场景 4.1.2 负载生成器管理 4.1.3 用户管理 4.1.4 运行设置 4.1.5 IP虚拟 4.1.6 场景运行原理 4.1.7 Service Level Agreement(服务品质保障) 4.2 系统监控 4.2.1 Scenario Groups(场景用户状态) 4.2.2 Scenario Status(场景运行状态) 4.2.3 计数器原理 4.2.4 计数器管理 4.2.5 SiteScope 4.3 场景运行 4.4 QTP脚本在场景中的运行 4.5 场景数据 4.6 小结 第5章 数据收集分析Analysis 5.1 新建Analysis分析 5.2 Analysis Summary 5.2.1 Analysis Summary(场景的摘要) 5.2.2 Statistics Summary(场景状态的统计说明) 5.2.3 5 Worst Transaction(SLA失败事务) 5.2.4 Scenario Behavior Over Time(场景行为综述) 5.2.5 Transaction Summary(事务摘要) 5.2.6 HTTP Responses Summary(HTTP响应摘要) 5.3 Graphs(数据图) 5.3.1 Vusers(虚拟用户状态) 5.3.2 Errors(错误统计) 5.3.3 Transactions(事务) 5.3.4 Web Resources(网页资源信息) 5.3.5 Web Page Diagnostics(网页分析) 5.3.6 Network Monitor(网络监控) 5.3.7 Resources(资源监控) 5.4 图设置与操作 5.4.1 Merge Graphs(合并图) 5.4.2 Auto Correlate(自动定位瓶颈) 5.5 Transaction Report(事务报告) 5.6 SLA Report(系统阈值监控报告) 5.7 External Monitor(外部监控数据导入) 5.8 Cross with result(跨脚本横向比较) 5.9 生成测试报告 5.9.1 New Report(新建报告) 5.9.2 Reprt Templates(报告模板) 5.9.3 HTML报告 5.10 小结 实战篇 第6章 性能测试实战 6.1 计划测试 6.1.1 分析系统阶段 6.1.2 定义测试目标 6.1.3 明确定义概念 6.1.4 编写性能测试计划 6.1.5 编写性能测试方案 6.1.6 编写性能测试用例 6.2 搭建测试环境 6.2.1 测试平台评估 6.2.2 数据生成 6.2.3 测试环境搭建手册 6.3 创建脚本 6.3.1 用户注册 6.3.2 用户查询 6.3.3 用户看帖 6.3.4 用户回帖 6.4 创建场景 6.4.1 场景设计 6.4.2 负载监控 6.5 运行场景 6.5.1 场景运行Checklist 6.5.2 场景运行记录 6.6 分析性能数据 6.6.1 性能调优原理 6.6.2 前端性能分析 6.6.3 后端性能分析 6.7 性能测试报告 6.7.1 平台对比性能测试报告 6.7.2 Phpwind85性能分析报告 6.7.3 DiscuzX2 VS Phpwind85性能对比报告 6.7.4 Phpwind85验收指标性能测试报告 6.7.5 Phpwind85压力测试报告 6.8 小结 第7章 性能测试组织 7.1 性能测试团队 7.2 性能测试流程分工 7.3 配置管理 7.4 性能测试自动化 7.5 小结 第8章 高级脚本开发 8.1 AJAX

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值