很多准备做性能测试工程师的朋友,经常会问我:“于老师,您说做性能测试工程师需要有编程基础吗?”。我也总是非常坚定的对问我这个问题的同志们回答道:“非常需要!”。做过几个性能测试项目的同志们,应该都清楚,很多情况下,性能测试是不能通过简单的脚本录制,回放来完成任务的。在很多种情况下,都需要性能测试工程师自行编写脚本,这时如果您没有语言基础,让您来做这样的事情是非常困难的。当然,如果由于性能测试工程师水平较差,编写出来的脚本本身存在业务错误,存在内存泄漏等问题的时候,性能测试的过程和结果也必将是不可以信赖的,所以性能测试工程师有编程基础是非常必要的,也是必须的。
  下面这段脚本是在第3章,录制Tomcat 5.5.11自带的一个小程序numguess的脚本,该小程序主要是一个非常简易的猜数字游戏。
#include "web_api.h"
Action()
{
lr_rendezvous("集合点");
lr_start_transaction("执行时间");
web_url("numguess.jsp",
"URL=http://localhost:8080/jsp-examples/num/numguess.jsp",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
web_submit_form("numguess.jsp_2",
"Snapshot=t2.inf",
ITEMDATA,
"Name=guess", "Value=2", ENDITEM,
LAST);
lr_end_transaction("执行时间", LR_AUTO);
return 0;
}
  细心的同志们,也许已经发现了一些问题,比如:“#include "web_api.h”、“{}”、“return 0;”,这些内容是不是和C语言的语法非常类似呢?
  事实上,LoadRunner 支持多种协议,您在编写脚本的时候,可以根据不同的应用,选择适合的协议。同时,您可以选择“Java Vuser”、“Javascript Vuser”、“Microsoft .NET”、“VB Vuser”、“VB Script Vuser”等协议进行相应语言的脚本的编写。在进行“Web(HTTP/HTML)”等协议编写的时候,脚本的默认语法规则都是按照C语言的语法规则,当然您也可以选择“Java Vuser”用Java语言实现同样功能的脚本。