//上一篇的代码有点问题,问题出在 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 }

(二)设置、运行场景

  1. 运行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生成测试报告的更多相关文章

  1. loadrunner笔记(三):设置、运行场景和生成测试报告

    //上一篇的代码有点问题,问题出在 web_reg_find()函数中,这个函数简单的说是搜索下一步操作的请求对象(html)页面中是否存在相应的文本字符串.所以用在登录操作中,它搜索的是主页.htm ...

  2. jmeter之jtl文件解析(生成测试报告)

    我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts=& ...

  3. jemeter生成测试报告

    Jmeter生成测试报告   相对于Loadrunner,Jmeter其实也是可以有测试报告产出的,虽然一般都不用(没有Loadrunner的报告那么强大是一方面),还是顺手写一下吧,其实方法在用命令 ...

  4. python+selenium生成测试报告后自动发送邮件

    标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...

  5. pycharm运行脚本为何不生成测试报告?

    今日使用python+selenium编写自动化测试脚本并执行过程中,使用pycharm运行结果后发现脚本运行无报错,脚本中的操作也正常被执行,但就是没有生成测试报告. 为什么呢,为什么呢,生成测试报 ...

  6. loadrunner生成随机数

    loadrunner生成随机数一: 对网站注册进行压力测试时,需要对注册的用户名进行参数化,因为可以会用到大量的测试数据,所以选择通过生成随机数来进行参数化.最开始用loadrunner自带的参数随机 ...

  7. Python单元测试框架之pytest -- 生成测试报告

    继续pytest单元测试框架的学习,pytest可以生成多种类型的测试报告.这一节就来学习pytest如何生成测试报告. 创建test_calss.py 测试用例文件,这里以测试该文件为例. #cod ...

  8. 调用test case集,并生成测试报告

    结构是 test_all.py 进行配置,执行所有测试用例集,并合并测试报告到同一个文件 #test_all.py 进行配置,执行所有测试用例集 # coding = utf-8 from time ...

  9. JMeter-自动生成测试报告

    很多朋友都在问jmeter如何生成测试报告,这里随便说两句. 环境要求 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚 ...

随机推荐

  1. API网关从入门到放弃

    前言 假设你正在开发一个电商网站,那么这里会涉及到很多后端的微服务,比如会员.商品.推荐服务等等. 那么这里就会遇到一个问题,APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话,可 ...

  2. golang 切片扩容, 时间复杂度

    在切片扩容时,如果原来的底层数组足够大,能放的下 append 的数据,就不会新建底层数组.而如果不够的话,则会分配一个新的数组.也因此是 O(n) 的时间复杂度

  3. 原生JS+ CSS3创建loading加载动画;

    效果图: js创建loading show = function(){ //loading dom元素 var Div = document.createElement("div" ...

  4. python3 爬虫利用Requests 实现下载进度条

    一.编写代码 from datetime import datetime,date,timedelta from contextlib import closing import urllib,url ...

  5. Spring之23:AbstractBeanFactory,Bean的加载

    <spring源码之:循环依赖> AbstractBeanFactory的作用:别名管理,单例创建与注册,工厂方法FactoryBean支持. 由图我们直接的看出,AbstractBean ...

  6. 通过jquery触发select自身的change事件

    ###通过jquery触发select自身的change事件 1.通过js来去触发select的change事件 代码如下:包含了html部分和js部分 //html部分 <select cla ...

  7. redis键的迁移操作

    1.redis单个实例内多库间的数据迁移操作 命令名称:move 语法:move key db 功能:将当前数据库的key移动到给定的数据库db当中.如果当前数据库(源数据库)和给定数据库(目标数据库 ...

  8. (十二)Activitivi5之流程控制网关:排他

    一.概念 所谓排他网关 顾名思义 执行到该网关,根据条件只能走一条执行线 二.案例 当流程走到“学生请假”任务节点的时候, /** * 完成任务 */ @Test public void test_c ...

  9. 本地虚拟机NAT模式下怎么设置才可以访问外网

    记:因为我要在本机虚拟机上安装Docker,结果发现虚拟机环境不能上网,是主机模式.我要调成net模式下才可以访问外网,这就需要怎么设置.下面文章记录一下. 在本机安装VMware软件后,系统中会自动 ...

  10. JDBC 复习4 批量执行SQL

    1使用jdbc进行批量执行SQL在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. package dbe ...