隐藏或显示输出窗口:
Lv_eval_string
Rand
Atoi
Sprintf
LR不关注业务,只关心数据
只要返回200,LR就认为正确,但是业务不一定正确。
如:用户名和密码错误,返回业务200
Strcmp
1.1 订票系统的关联、检查点代码
1.1 web_reg_find
性能测试的检查点不要加太多检查点
放在要查找的页面之前,在下一个返回的页面中查找,直接到缓存中查
SaveCount=参数(或者叫变量名),参数名字可以随便取
/IC表示不区分大小写,”Fail=Found”意思是找到表示失败
Notfound=error: 当在返回信息中找不到要找的内容时,发出一个错误讯息。这是缺省值。
if ( strcmp(lr_eval_string("{shiwanli_count}"),"0") ==0 ) lr_output_message("==========data shiwanli_count is not found"); else lr_output_message("==========shiwanli_count is %s",lr_eval_string("{shiwanli_count}"));
1.1 事务
不加事务的话,默认一个action就是一个事务
把一连串的动作分割开,观察每一个动作消耗时间
集合点
Run-time settings详解
在脚本运行过程中,控制脚本运行迭代次数。
在两次业务请求之间,服务器是有时间限制的(如两次发帖时间间隔为10分钟),可以在次设置,也可以在代码中用think time进行设置。
在脚本调试阶段,按如下方式勾选(便于知道每一个变量、参数在取值过程中变化的方式,便于脚本分析);
在场景运行时,按如下方式勾选(只在发生错误时发送日志,否则磁盘空间会迅速被占满)
脚本运行期间,think time时间是忽略掉的,思考时间越小,对服务器压力越大
对于服务器:客户端发送的两次请求之间的等待时间
对于客户端:两次操作之间的等待时间
Continue on error:在脚本调试期间不勾,即发生错误时,立刻停下来,错误一般是脚本错误;场景运行中要勾选,因为错误一般是被测对象引发的
Multithreading:多线程,尽可能使用下面那种,即选thread,线程资源共享,效率高。LR中,每个vuser大概占2M左右物理内存,每50个vuser形参一个进程。
Automatic Transactions:自动事务,脚本调试不勾,场景运行勾第一个
事务:业务单元
带宽模拟,默认情况下不动
拨号上网性能测试过程中,带宽模拟不到,因为默认是用最大带宽(把所有能用的带宽全占了,大量数据发送出去,但是服务器受不了,因为服务器端只模拟拨号上网的带宽),但是实际应用中,应该选第二个,模拟拨号上网的带宽。
浏览器模拟
当想测试不同用户如何访问,当成新用户,临时文件删除(导致的问题是,当用户登录后,每做一个操作,都会提示让用户登录)
http://www.51testing.com/html/39/n-807739.html
关注LoadRunner脚本回放日志中的Warning信息
代理,可以测HTTPS项目