LoadRunner生成测试报告
//上一篇的代码有点问题,问题出在 web_reg_find()函数中,这个函数简单的说是搜索下一步操作的请求对象(html)页面中是否存在相应的文本字符串。所以用在登录操作中,它搜索的是主页.html,用在注册中它搜索的就是注册页面,这里必须得感谢下51test论坛的luming同学帮我解决了这个问题。(所以虽然可以回放成功,但其实只是运气好,上一篇的示例代码就不去修改了,去掉web_reg_find函数就行了)。
(一) 代码

1 Action()
2 {
3 /*集合点*/
4 lr_rendezvous("同时登录");
5
6 /*事务开始*/
7 lr_start_transaction("login");
8
9 //加载相应的url
10 web_url("WebTours",
11 "URL=http://127.0.0.1:1080/WebTours/",
12 "Resource=0",
13 "RecContentType=text/html",
14 "Referer=",
15 "Snapshot=t44.inf",
16 "Mode=HTML",
17 LAST);
18
19 //检查下一步操作请求对象(HTML页面)中是否存在相应的文本字符串
20 web_reg_find("Text=Welcome,","Search=Body",LAST);
21
22 //登录
23 web_submit_form("login.pl",
24 "Snapshot=t45.inf",
25 ITEMDATA,
26 "Name=username", "Value={username}", ENDITEM,
27 "Name=password", "Value={password}", ENDITEM,
28 "Name=login.x", "Value=58", ENDITEM,
29 "Name=login.y", "Value=11", ENDITEM,
30 LAST);
31 /*事务结束*/
32 lr_end_transaction("login", LR_AUTO);
33 return 0;
34 }

(二)设置、运行场景
- 运行Controller。

或者

1、可以选择面向目标场景、手动场景
面向目标场景:指定一个目标,loadrunner根据指定的目标自动生成方案。
手动场景:通过指定要运行的Vuser(虚拟用户数)手动创建方案。

2、选择面向目标场景时,可以设置场景目标。(这个比较像是直接测试软件是否符合用户需求,而不考虑系统能承受的最大负载、什么情况下系统会失效等问题)

场景目标设置好后,开始运行场景。

运行过程中,一开始还好,后面并发用户数多了后,CPU占用太高了

3、运行结束后(这里我因为没达到目标提前结束了)

查看错误信息。
第一个错误信息暂时看不明白。
第二个错误信息:web_reg_find 找不到welcome,
推测原因可能是:
1、 登录成功后,资源响应太慢(比如在响应的html页面只加载完成一部分内容的情况下,web_reg_find可能就执行检查了),没检测到该文本字符串
2、 没登录成功
第三个错误信息就很明显了,CPU占用过高。

(三) 分析结果、生成测试报告
1、打开Analysis。(点击Controller的结果-分析结果可以直接打开,也可以点击Analysis的快捷方式打开)


2、点击SLA配置向导,添加服务水平协议,这里设置90%的事务响应时间不超过0.5秒。(这个在Controller运行场景前也可以设置)



3、看这边应该是没达到预计的目标,目标是90%事务响应0.5秒,这里实际显示的是0.883。

4、生成html报告。(报告-html报告)

5、生成其他格式的测试报告(报告-新建报告)

直接点击【生成】,然后save保存一个格式就行了。没看到word格式的选项,不过可以导出PDF再转为word。

(三) 待解决问题
1、 场景设计应该加强,根据需求设计需要的场景
2、 SLA服务协议配置应该加强,熟悉不同指标、不同选项的作用
3、 生成报告部分,设置不同的报告模板,适应不同的用户。
4、 结果分析(不同图表、指标的分析及相关概念等)应该加强
LoadRunner生成测试报告的更多相关文章
- loadrunner笔记(三):设置、运行场景和生成测试报告
//上一篇的代码有点问题,问题出在 web_reg_find()函数中,这个函数简单的说是搜索下一步操作的请求对象(html)页面中是否存在相应的文本字符串.所以用在登录操作中,它搜索的是主页.htm ...
- jmeter之jtl文件解析(生成测试报告)
我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts=& ...
- jemeter生成测试报告
Jmeter生成测试报告 相对于Loadrunner,Jmeter其实也是可以有测试报告产出的,虽然一般都不用(没有Loadrunner的报告那么强大是一方面),还是顺手写一下吧,其实方法在用命令 ...
- python+selenium生成测试报告后自动发送邮件
标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...
- pycharm运行脚本为何不生成测试报告?
今日使用python+selenium编写自动化测试脚本并执行过程中,使用pycharm运行结果后发现脚本运行无报错,脚本中的操作也正常被执行,但就是没有生成测试报告. 为什么呢,为什么呢,生成测试报 ...
- loadrunner生成随机数
loadrunner生成随机数一: 对网站注册进行压力测试时,需要对注册的用户名进行参数化,因为可以会用到大量的测试数据,所以选择通过生成随机数来进行参数化.最开始用loadrunner自带的参数随机 ...
- Python单元测试框架之pytest -- 生成测试报告
继续pytest单元测试框架的学习,pytest可以生成多种类型的测试报告.这一节就来学习pytest如何生成测试报告. 创建test_calss.py 测试用例文件,这里以测试该文件为例. #cod ...
- 调用test case集,并生成测试报告
结构是 test_all.py 进行配置,执行所有测试用例集,并合并测试报告到同一个文件 #test_all.py 进行配置,执行所有测试用例集 # coding = utf-8 from time ...
- JMeter-自动生成测试报告
很多朋友都在问jmeter如何生成测试报告,这里随便说两句. 环境要求 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚 ...
随机推荐
- 修改NGUI 3.11 的控件 inputfileld hide input 属性bug
1.勾选hideinput属性后,输入中文,会出现,无法显示的问题. 2.勾选hideinput属性后,密码框会出现第一个字母被吃掉的问题 解决方案:控件都不要勾选hideinput属性,代码做如下修 ...
- python 优雅的解析 jsonp
一段 jsonp 格式数据 mtopjsonpweexcb1({"api":"mtop.taobao.idle.recycle.nextspunav.get", ...
- Python基础——matplotlib库的使用与绘图可视化
1.matplotlib库简介: Matplotlib 是一个 Python 的 2D绘图库,开发者可以便捷地生成绘图,直方图,功率谱,条形图,散点图等. 2.Matplotlib 库使用: 注:由于 ...
- redis 实现登陆次数限制
title: redis-login-limitation 利用 redis 实现登陆次数限制, 注解 + aop, 核心代码很简单. 基本思路 比如希望达到的要求是这样: 在 1min 内登陆异常次 ...
- 使用idea上传项目初始化版本到coding
1.在coding创建项目 2.使用idea命令控制台初始化本地仓库 3.将代码提交到本地仓库,git add . 或者 git add <filename> 4.将本地仓库文件推送到co ...
- java虚拟机栈(关于java虚拟机内存的那些事)
<深入理解 java 虚拟机> 读书扩展 作者:淮左白衣 写于 2018年4月13日16:26:51 目录 文章目录 java虚拟机栈是什么 特点 栈帧 局部变量表 什么时候抛出 `Sta ...
- Centos7.3安装sonarqube
安装使用sonarqube 前置依赖 mysql 5.6 or 5.7 jdk 1.8 1.下载 https:/ ...
- Python习题005
作业一 :任意一个数字列表,然后进行排序(冒泡排序) 方法一: def test1(): list1 = [1,23,4,6,8,55,2,9,90,35] list1.sort() # sort() ...
- 剑指offer(9)——用两个栈实现队列
题目: 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能. 思路: 首先定义两个栈stack1. ...
- QMetaEnum获取枚举元信息
QMetaEnum 类提供了一个枚举的元数据.我们可以使用该类的静态模板函数,fromType<enumerator>来获得关于某个枚举的QMetaEnum对象,然后就可以调用该类的成员函 ...