溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Loadrunner通過驗(yàn)證碼并實(shí)現(xiàn)成功登錄的方法

發(fā)布時(shí)間:2020-07-17 20:24:11 來源:網(wǎng)絡(luò) 閱讀:3900 作者:156881887 欄目:軟件技術(shù)

需要安裝的軟件

1、安裝ImageMagick安裝完成后,將其安裝路徑添加到環(huán)境變量path

2、安裝Tesseract-OCR



  #define MAX_NAME_LEN 4 //定義驗(yàn)證碼字符串的長度,這里是4

   int flen;        //
定義一個(gè)整型變量保存獲得文件的大小
   long filedes;
   long filedess;    //
保存文件句柄
   char file[256]="c:\\test1.jpg";  //
保存文件路徑及文件名
   char result[4];//
定義用于從文件中讀取驗(yàn)證碼的數(shù)組

   web_set_max_html_param_len("2000000");
   //
設(shè)置頁面接收最大的字節(jié)數(shù),該設(shè)置應(yīng)大于下載文件的大小

   //下載含有驗(yàn)證碼的網(wǎng)頁元素,并將其保存到參數(shù)中
   web_reg_save_param_ex(
       "ParamName=pic",
       "LB=",
       "RB=",
       SEARCH_FILTERS,
       "Scope=Body",
      "RequestUrl=*/action/ValidateCodeServlet*",
       LAST);

   //
關(guān)聯(lián)登錄時(shí)與服務(wù)器產(chǎn)生的會(huì)話ID
   web_reg_save_param_ex(
      "ParamName=CorrelationParameter_1",
       "LB=Set-Cookie: JSESSIONID=",
       "RB=; Path",
       SEARCH_FILTERS,
       "Scope=All",
      "RequestUrl=*/192.168.12.1:8080/*",
       LAST);

//訪問測試網(wǎng)站
   web_url("192.168.12.1:8080",
      "URL=http://192.168.12.1:8080/",
       "Resource=0",
       "RecContentType=text/html",
       "Referer=",
       "Snapshot=t1.inf",
       "Mode=HTML",
       EXTRARES,
      "Url=/p_w_picpaths/login_screenbg.jpg", ENDITEM,
       "Url=/p_w_picpaths/login_midbg.jpg",ENDITEM,
      "Url=/p_w_picpaths/login_contentbg.jpg", ENDITEM,
       "Url=/p_w_picpaths/login_btn.png", ENDITEM,
       "Url=/p_w_picpaths/login_input1.png",ENDITEM,
       "Url=/p_w_picpaths/login_input2.png",ENDITEM,
       "Url=/p_w_picpaths/reset_btn.png",ENDITEM,
       LAST);

   flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);
   //
獲得下載圖片的文件大小

   if(flen > 0)
   {
       if((filedes = fopen(file,"wb")) == NULL)
       {
             lr_output_message("oh cloud your Open File Failed!");
             return -1;
       }
       fwrite( lr_eval_string("{pic}"),flen,1, filedes );
       fclose( filedes );
   }

   system( "c:\\test1.bat" );    //
CMD命令行中運(yùn)行OCR命令

/*

C盤根目錄下創(chuàng)建批處理文件test1.bat:

#進(jìn)入到含有驗(yàn)證碼圖片的目錄

c:

cd\

#轉(zhuǎn)換下載的JPG文件為TIF

convert.exe -compress none -depth 8 -alpha offtest1.jpg test1.tif

#調(diào)用tesseract轉(zhuǎn)換圖片中的文件并保存到test1.txt文件中

tesseract.exe test1.tif test1

#執(zhí)行完成后,自動(dòng)退出命令行

exit

*/

   if((filedess = fopen("c:\\test1.txt","rt")) == NULL)
   {
        lr_output_message("oh,cloud your Open File Failed!");
         return -1;
   }
   fread( result,4,1,filedess );//
從文件中讀取驗(yàn)證碼
   fclose( filedess );

   lr_output_message("result: %s", result); //
打印出讀取后的數(shù)據(jù)

   lr_save_var(result,MAX_NAME_LEN,0,"VC" );

//保存指定位數(shù)的數(shù)據(jù)到變量中

   web_submit_data("UserAction",
      "Action=http://192.168.12.1:8080/action/UserAction",
       "Method=POST",
       "RecContentType=text/html",
      "Referer=http://192.168.12.1:8080/",
       "Snapshot=t2.inf",
       "Mode=HTML",
       ITEMDATA,
       "Name=method","Value=login", ENDITEM,
       "Name=goPage","Value=/index.html", ENDITEM,
       "Name=currentPage","Value=/", ENDITEM,
       "Name=username","Value=admin", ENDITEM,
       "Name=password","Value=123456", ENDITEM,
       "Name=ValidateCode","Value={VC}", ENDITEM, //
輸入獲取的驗(yàn)證碼
       "Name=loginSubmit", "Value=
登錄", ENDITEM,

       EXTRARES,

       ...

       LAST);

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI