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; } |