大开测试:性能- 如何理解Return的返回值(连载14)

7.14  如何理解Return的返回值

1.问题提出

在创建和录制脚本的时候,发现在脚本vuser_init、Action、vuser_end三部分中都会有一条“return 0;”语句,那么平时在编写脚本时如何应用return语句,return不同的返回值又有什么含义呢?

2.问题解答

Return表示一个过程的结束,在LoadRunner中用return根据脚本不同的返回值,表示脚本的成功或者失败。“return +大于等于零的数字;”表示成功,反之,则表示失败。

下面通过一个实例脚本来深入理解一下return语句。

相应脚本代码:

#include "web_api.h"

Action()

{

LPCSTRuser1="悟空";

LPCSTRuser2="八戒";

if((user1=="悟空") || (user1=="猴哥"))

{

lr_output_message("悟空和猴哥是同一个人!");

return 0;

}

else

{

lr_output_message("我是八戒不是悟空!");

return -1;

}

lr_output_message("这句话永远不会被执行!");

}

【脚本分析】

该段脚本事先声明了两个字符串变量:user1和user2,然后判断user1变量是否为“悟空”或者“猴哥”,如果是则输出“悟空和猴哥是同一个人!”,否则输出“我是八戒不是悟空!”。因为return语句执行完成以后,后面的语句将不会被执行,所以最后一句话将永远不会被执行,即“这句话永远不会被执行!”不会被输出。下面看一下上面脚本的执行日志结果为:

Running Vuser...

Starting iteration 1.

Starting action Action.

Action.c(10): 悟空和猴哥是同一个人!

Ending action Action.

Ending iteration 1.

Ending Vuser...

如果将上面的脚本“if ((user1=="悟空") || (user1=="猴哥"))”变更为“if ((user2=="悟空") || (user2=="猴哥"))”,依次通过选择【View】>【Test Results...】项查看返回值为1,所示脚本执行完成后为失败的,如图7-26所示。

Running Vuser...

Starting iteration 1.

Starting action Action.

Action.c(15): 我是八戒不是悟空!

Ending Vuser...



更多信息请关注大开科技公众号或官方网站

www.dakaikeji.com.cn

时间: 2024-10-04 09:20:30

大开测试:性能- 如何理解Return的返回值(连载14)的相关文章

go中defer的理解--defer、return、返回值之间执行顺序

defer可以读取有名返回值 func c() (i int) { defer func() { i++ }() return 1 } 输出结果是2. 在开头的时候,我们知道defer是在return调用之后才执行的. 这里需要明确的是defer代码块的作用域仍然在函数之内,结合上面的函数也就是说,defer的作用域仍然在c函数之内.因此defer仍然可以读取c函数内的变量(如果无法读取函数内变量,那又如何进行变量清除呢....). 当执行return 1 之后,i的值就是1. 此时此刻,def

大开测试:性能- 如何理解常用图表的含义(连载19)

7.19  如何理解常用图表的含义 1.问题提出 如何理解常用图表的含义? 2.问题解答 这一节介绍几个最重要的图表. 问题1  事务响应时间是否在可接受的时间内?哪个事务用的时间最长? 解答1  Transaction Response Time图可以判断每个事务完成用的时间,从而可以判断出哪个事务用的时间最长,哪些事务用的时间超出预定的可接受时间. 此外,Transactions per Second显示在场景或会话步骤运行的每一秒中,每个事务通过.失败以及停止的次数.此图可帮助确定系统在任

大开测试:性能—如何添加并运用附加变量(连载6)

7.6  如何添加并运用附加变量 1.问题提出 LoadRunner 11.0中[Vuser]>[Run-time Settings]>[General]>[Additionalattributes]配置选项是如何应用于性能测试的呢? 2.问题解答 LoadRunner 11.0提供了一个非常有用的功能,就是可以向脚本传递参数,可以测试并监控具有不同客户端参数的服务器. 通过选择[Vuser]>[Run-time Settings]>[General]>[Additio

大开测试:性能- 如何下载并保存文件到本地(连载18)

7.18  如何下载并保存文件到本地 1.问题提出 如何下载并保存文件到本地? 2.问题解答 一个人事管理系统项目一般都要实现能够上传和下载电子文件(如学位照.身份证.护照或者其他Word.Excel.Pdf等格式的电子文件),测试时为了模拟下载的场景,需要编写相关脚本.在HTTP中,没有任何一个方法或是动作能够标识“下载文件”这个动作,对HTTP来说,无论是下载文件或者请求页面,都只是发出一个GET请求,LoadRunner记录了客户端发出的对文件的请求,并能够收到文件内容.因此,完全可以通过

大开测试:性能-如何使用自动关联对测试结果进行分析(连载28)

7.28  如何使用自动关联对测试结果进行分析 1.问题提出 如何使用自动关联对测试结果进行分析? 2.问题解答 通过分析网页细分图或者使用自动关联功能确定造成服务器或网络瓶颈的原因.自动关联功能应用高级统计信息算法来确定哪些度量对事务的响应时间影响最大,从而确定系统的性能瓶颈.下面我们结合图7-61,来实例讲解以下如何应用自动关联来分析测试结果. 在图7-61上我们发现SubmitData事务的响应时间相对较长(为了方便大家看清楚该曲线,作者用粗线条对SubmitData曲线进行了重画).要将

大开测试:性能- 如何在脚本中加入DOS命令(连载17)

7.17  如何在脚本中加入DOS命令 1.问题提出 在没有Windows操作系统之前,人们应用的是DOS操作系统,那么也可以在LoadRunner的VuGen脚本中加入DOS命令,方便脚本对业务的灵活处理. 2.问题解答 DOS是磁盘操作系统(Disk Operation System)的简称.在大量的应用领域中,DOS仍有相当的市场.尤其值得初学者重视的是,DOS中关于文件的目录路径.文件的处理.系统的配置等许多概念,仍然在Windows中沿袭使用,甚至在Windows出现故障时,还会用到基

大开测试:性能-如何确定登录达到响应时间为3秒的指标(连载27)

7.27  如何确定登录达到响应时间为3秒的指标 1.问题提出 在日常性能测试过程中,经常会在用户需求文档中发现这样的说明,要求首页面响应时间为3s之内,登录的响应时间在5s之内等类似的信息,那么,我们如何清楚测试结果是否达到了预期的首页面.登录响应时间的性能指标呢? 2.问题解答 随着互联网技术的广泛发展,人们也对业务的响应时间要求越来越高,目前关于响应时间有一个广泛的应用原则就是"3-5-8"原则."3-5-8"原则指的是,如果用户发出一个请求后,这个请求在3s

大开测试:性能- 如何解决负载均衡将压力作用到一台机器(连载15)

7.15  如何解决负载均衡将压力作用到一台机器 1.问题提出 如由IP地址为192.168.1.30.192.168.1.31.192.168.1.32的3台机器组成的Apache.Tomcat集群和负载均衡系统,发现客户端发出请求后,都将请求发送到了IP为192.168.1.30的机器上,请问这是为什么呢? 2.问题解答 随着互联网络技术的飞速发展,越来越多的应用已经从最早的单机操作变成基于互联网的操作.由于网络用户数量激增,网络访问路径过长,用户的访问质量容易受到严重影响,尤其是当用户与网

大开测试:性能-如何解决由于设置引起的运行失败问题(连载22)

7.22  如何解决由于设置引起的运行失败问题 1.问题提出 有时候,在场景执行完成以后,会出现很多由于设置不当而引起的一些问题,那么如何辨析是由于设置而引起的问题,并解决这些问题呢? 2.问题解答 我们在进行性能测试的时候,有些情况下是因为设置的问题而引起场景运行结果包含一些失败的信息内容.比较常见的失败信息有"Closing connection to <server>because it has been inactive for XXX s which is longer t