在录制编写脚本后,通常就会进行回放,如果回放通过没有出现错误,就认为脚本是正确的。究竟VeGen是怎么区分脚本是否回放正确呢?一般情况下,脚本回放错误都是应为404错误,也就是页面无法找到,而只要页面返回了,VuGen都不会提示任何错误。例如,我们的飞机购票系统这个例子,因为一开始没做关联而登陆失败,但是脚本还是成功运行了。
VuGen判断脚本是否执行成功是根据服务器返回的状态来确定的,如果服务器返回的HTTP状态为200 OK,那么VuGen就认为脚本正确地运行了,并且是运行通过的。在绝大多数系统出现错误时会返回错误页面吗?不会,一般系统都会返回一个消息提示框,来提示用户感受。例如“服务器正忙,请稍后”。其实这个时候,网站已经无法正确响应用户请求了,但是VuGen脚本无法识别,会错误地认为网站还能正确访问,导致分析错误。所以这是需要一种检查点函数帮助验证请求发送出去后,服务器的返回是不是期望的内容,如果不是,那么就说明服务器无法提供正常的服务了。
注意:脚本开发完后,验证该脚本是否是一个成功的脚本,可以根据以下步骤去验证:
2、到系统的界面,或数据库中检查,是否按要求新增或修改了对应的数据。
Lr_start_transaction(“Trn_Login”):
"Name=username", "Value=jojo", ENDITEM,
"Name=password", "Value=bean", ENDITEM,
"Name=login.x", "Value=35", ENDITEM,
"Name=login.y", "Value=14", ENDITEM,
if (atoi(lr_eval_string("{Welcome_Count}")) > 0){ //判断如果Welcome字符串出现次数大于0
lr_end_transaction(“Trn_Login”,LR_PASS);} //登陆事务PASS
lr_end_transaction(“Trn_Login”,LR_FAIL);} //登陆事务FAIL
if(atoi(lr_eval_string("{check_num}")) > 0)
lr_end_transaction("点击立即注册", LR_PASS);
lr_end_transaction("点击立即注册", LR_FAIL);
(1)Web_reg_find是注册类型函数(也有说是缓存函数),它本身并不执行,不能通过它的返回值来作为事务的判断条件(因为web_reg_find()的返回值0和1表示web_reg_find()是否注册成功,并不代表查找的内容是否存在,也就是说无论查找的文本内容是否存在,都返回0。它是从返回的缓冲区扫描而不是在接收的页面中查找。这是比web_find更高效的一个函数;