Action() { double trans_time; int status; web_url("mercuryWebTours", "URL=http://127.0.0.1:1080/mercuryWebTours/", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", LAST); lr_start_transaction("tr_login"); trans_time=lr_get_transaction_duration( "tr_login" ); //lr_get_transaction_duration这个函数可以得到事务执行所消耗的时间 web_reg_find("Text=Error", "SaveCount=login_Count", LAST); //web_reg_find这个函数可以在相应的范围内找到要找的内容,和检查点类似,但这个函数被WEB_FIND多一个参数返回结果,那就是savecount这个值可以记录在指定范围内找到指定内容的个数,这个例子中我们就是通过这个值来判断用户是否真正的登陆成功 //说明:在登陆失败后,登陆页面会有一个“ERROR”的字符串,所以我们认为如果出现该字符串代表登陆失败,这个判断登陆成功或失败的条件,根据具体的项目不同而不同,根据实际情况而定 status = web_submit_form("login.pl", "Snapshot=t2.inf", ITEMDATA, "Name=username", "Value={name}", ENDITEM, "Name=password", "Value={password}", ENDITEM, "Name=login.x", "Value=51", ENDITEM, "Name=login.y", "Value=12", ENDITEM, LAST); //我们把web_submit_form函数执行的结果赋给status这个变量,如果成功返回0,不成功返回大于0的数 if (status == 0) //如果成功 lr_end_transaction("tr_login", LR_PASS);//如果提交成功,设置事务状态为PASS else lr_end_transaction("tr_login", LR_FAIL);//如果提交失败,设置事务状态为FAIL if (trans_time) //如果该事务消耗了时间输出该时间 lr_output_message("tr_login事务耗时 %f 秒", trans_time); else //如果该事务没有消耗时间,那么输出时间不确定 lr_output_message("The duration cannot be determined."); if (atoi(lr_eval_string("{login_Count}")) > 0){ //如果在登陆后的页面中找到“ERROR”这个字符串,我们认为登陆失败 lr_error_message("Login failed"); } else{ //否则登陆成功 lr_output_message("Login successful."); return(0); } return 0; } |