<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2016年7月8日

        在近期的某性能測(cè)試項(xiàng)目中,使用LR 11做測(cè)試,遇到了一個(gè)問題:在錄制的腳本中,許多請(qǐng)求都帶有EXTRARES,如:
         web_submit_data("clientlog.jspx_23", 
    "Action=https://gaa-ad.pp2.shanghaionstar.com:8101/Advisor/faces/xAdvisorWeb/bundles/gaacommon/jsf/clientlog.jspx?message=Alerts%20refresh%20completed&clientTime=1466056941075", 
    "Method=POST", 
    "RecContentType=text/html", 
    "Referer=https://gaa-ad.pp2.shanghaionstar.com:8101/Advisor/xAdvisorWeb/desktop/desktop.jsp", 
    "Snapshot=t57.inf", 
    "Mode=HTML", 
    ITEMDATA, 
    EXTRARES, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=854&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=854&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=854&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=854&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=855&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=855&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=855&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=855&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=856&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=856&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=856&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=856&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=857&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=857&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=857&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=857&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=858&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=858&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=858&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=858&z=11", "Referer=", ENDITEM, 
    LAST);
         這些EXTRARES資源請(qǐng)求實(shí)際上是在上一個(gè)頁面請(qǐng)求時(shí)發(fā)起,并通過異步的方式返回的一些地圖數(shù)據(jù)。由于在錄制腳本的過程中,上一步操作未能等到這些數(shù)據(jù)全部返回便開始了下一步的操作,因此在隨后的腳本中,LR將這些請(qǐng)求作為EXTRARES
    資源附在了這些請(qǐng)求之后。如此一來就造成了一個(gè)問題:這些請(qǐng)求的響應(yīng)時(shí)間變長,但對(duì)于真實(shí)的用戶而言,這些請(qǐng)求的響應(yīng)時(shí)間卻并沒有那么長(因?yàn)檫@些地圖數(shù)據(jù)在后臺(tái)加載,用戶感受不到)。表面上看來,似乎LR測(cè)試得到的結(jié)果與實(shí)際“不一致”了。而另一方面,這些資源請(qǐng)求又是真實(shí)存在的,對(duì)于服務(wù)器產(chǎn)生了壓力,所以也不能簡(jiǎn)單粗暴地直接在腳本中去掉。
        最后,我們采取的辦法是:將這些地圖數(shù)據(jù)的加載單獨(dú)寫成一個(gè)web_url,使它對(duì)服務(wù)器產(chǎn)生真實(shí)的負(fù)載,并把它放在定義的事務(wù)之外。腳本如下:
         web_url("map",
    "URL=http://10.16.93.182:22002/maptile/maptile?x=1711&y=854&z=11",
    EXTRARES, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=854&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=854&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=854&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=854&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=854&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=855&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=855&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=855&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=855&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=855&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=856&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=856&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=856&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=856&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=856&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=857&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=857&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=857&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=857&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=857&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1711&y=858&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1712&y=858&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1713&y=858&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1714&y=858&z=11", "Referer=", ENDITEM, 
    "Url=http://10.16.93.182:22002/maptile/maptile?x=1715&y=858&z=11", "Referer=", ENDITEM, 
    LAST);
        同時(shí),將后續(xù)腳本中的EXTRARES資源請(qǐng)求刪除。

        這樣一來,就既模擬了服務(wù)器端真實(shí)的負(fù)載場(chǎng)景,又避免了客戶端實(shí)際響應(yīng)時(shí)間不一致的問題。
             


    posted @ 2016-07-08 12:54 xingcyx 閱讀(1396) | 評(píng)論 (0)編輯 收藏

    2016年6月30日

    LoadRunner 12錄制的腳本在LoadRunner 11的controller上無法運(yùn)行,提示該VUSER類型沒有l(wèi)icense。
    原因:LR12的VUSER type是Mobile。
    解決方法:
    用文本編輯器打開腳本的.usr文件,如03_HandEmergencyCall.usr,
    AdditionalTypes=Mobile
    ActiveTypes=Mobile
    GenerateTypes=Mobile
    RecordedProtocols=
    修改為:
    AdditionalTypes=QTWeb
    ActiveTypes=QTWeb
    GenerateTypes=QTWeb
    RecordedProtocols=QTWeb
    posted @ 2016-06-30 15:17 xingcyx 閱讀(1593) | 評(píng)論 (0)編輯 收藏

    2014年1月8日

        大多數(shù)情況下,在LoadRunner的腳本中設(shè)置參數(shù)還是比較簡(jiǎn)單的,但是正所謂人在江湖飄,哪能不挨刀?有的時(shí)候我們也會(huì)遇到一些特殊的情況,對(duì)腳本中的參數(shù)需要做一些特殊的處理。比如我最近在幾個(gè)項(xiàng)目的性能測(cè)試腳本編寫過程中,就遇到了這種情況。
        第一個(gè)項(xiàng)目其實(shí)是我同事遇到的。他們的系統(tǒng)報(bào)文中有一個(gè)參數(shù)的限制條件:要求必須是數(shù)字型,且長度為9位,如果不足9位,需要在后面補(bǔ)齊空格,而且還需要保證參數(shù)值唯一。我們暫且不去追究為啥這個(gè)系統(tǒng)會(huì)設(shè)置這么坑爹的一個(gè)限制,在這里的重點(diǎn)是說明在這樣的情況下,我們?cè)撊绾稳ピO(shè)置參數(shù)?由于這個(gè)系統(tǒng)要求參數(shù)值唯一,所以我首先想到的還是利用LoadRunner的參數(shù)類型去控制,因?yàn)橹挥羞@樣才能在并發(fā)的情況下,保證參數(shù)值的唯一性。
        總體思路攏共分三步:1、設(shè)置一個(gè)類型為unique number的參數(shù)類型,轉(zhuǎn)換為字符型;2、根據(jù)字符串的長度,補(bǔ)齊空格為9位;3、將字符串轉(zhuǎn)換為參數(shù)并替換
        具體的代碼如下:
        

    char str[10];
     int len;

     int num;
     int i;


    //獲取參數(shù)的長度 

     len=strlen(lr_eval_string("{old_param}"));

     
    num=9-len;


     strcpy(str,lr_eval_string("{old_param}"));

     for(i=1;i<=num;i++)
     {
      //在字符串后面加上空格
      strcat(str," ");
     }


    //轉(zhuǎn)換為參數(shù)
    lr_param_sprintf("new_param",str);


         第二個(gè)項(xiàng)目的情況相對(duì)比較好理解一些。要測(cè)試的是一個(gè)批量提交的業(yè)務(wù),用戶在頁面上選擇10筆數(shù)據(jù)后,作為一個(gè)批次一起提交。需要參數(shù)化的參數(shù)有兩個(gè):客戶編號(hào)(custid)和業(yè)務(wù)編號(hào)(loanid),需要從參數(shù)文件中每次取10個(gè)參數(shù)。并拼接成需要的報(bào)文格式,以逗號(hào)分隔開。做法與上一個(gè)項(xiàng)目大同小異,只不過這里的參數(shù)類型要設(shè)置成file型。需要注意的是,由于參數(shù)文件中的custid和loanid是一行一筆數(shù)據(jù),而我們每次需要使用的是10筆數(shù)據(jù),因此在update values那里需要設(shè)置成每次出現(xiàn)時(shí)更新參數(shù)值。


        代碼示例如下:
       //獲取批次的custid和loanid,每批次取10筆數(shù)據(jù)
     for (i=1;i<=9;i++)
     {
      strcpy(scustid,lr_eval_string("{custid}"));
      strcat(bat_custid,scustid);
       //custid間用“,”分隔
      strcat(bat_custid,",");

      strcpy(sloanid,lr_eval_string("{loanid}"));
      strcat(bat_loanid,sloanid);
      //loanid間用“,”分隔
      strcat(bat_loanid,",");
      
     }

     strcat(bat_custid,lr_eval_string("{custid}"));
     strcat(bat_loanid,lr_eval_string("{loanid}"));

     //轉(zhuǎn)換成LR的參數(shù)
     lr_param_sprintf("p_custid",bat_custid);
     lr_param_sprintf("p_loanid",bat_loanid);


        
    posted @ 2014-01-08 20:35 xingcyx 閱讀(3623) | 評(píng)論 (0)編輯 收藏

    2013年10月17日

    軟件測(cè)試泰斗傳道解惑 Google軟件測(cè)試精髓完美呈現(xiàn) 《Google軟件測(cè)試之道》
    posted @ 2013-10-17 20:05 xingcyx 閱讀(994) | 評(píng)論 (0)編輯 收藏

    2009年9月29日

         摘要: 參加公司管理培訓(xùn)后的心得  閱讀全文
    posted @ 2009-09-29 16:35 xingcyx 閱讀(1590) | 評(píng)論 (2)編輯 收藏

    2009年3月12日

         摘要: 昨天在試用QC的時(shí)候,雖然出現(xiàn)了一個(gè)小小的意外,但情況仍然在我的掌控之中。  閱讀全文
    posted @ 2009-03-12 12:13 xingcyx 閱讀(3469) | 評(píng)論 (1)編輯 收藏

    2009年2月19日

         摘要: 降龍十八掌升級(jí)版。  閱讀全文
    posted @ 2009-02-19 14:58 xingcyx 閱讀(2471) | 評(píng)論 (3)編輯 收藏

    2008年8月5日

         摘要: LambdaProbe 是一款強(qiáng)大的免費(fèi)開源工具,LambdaProbe擁有幾乎所有Tomcat Manager的功能, 可以說是一個(gè)增強(qiáng)版本的 Tomcat Manager。除此之外,Tomcat Probe 還擁有很多讓開發(fā)者和系統(tǒng)管理者更方便的性能。從而使得Tomcat對(duì)開發(fā)者和管理者更加透明。  閱讀全文
    posted @ 2008-08-05 12:55 xingcyx 閱讀(5624) | 評(píng)論 (0)編輯 收藏

    2008年8月1日

         摘要: 根據(jù)前天在群里和同行朋友的聊天記錄整理而寫成。由于這兩天工作比較忙,所以一直拖了2天才整理完畢。
    將各位朋友比作奸臣小人,實(shí)乃玩笑,請(qǐng)勿介意!^_^  閱讀全文
    posted @ 2008-08-01 22:41 xingcyx 閱讀(2644) | 評(píng)論 (7)編輯 收藏

    2008年7月25日

    僅列出標(biāo)題  下一頁
     
    主站蜘蛛池模板: 成人午夜免费福利视频| 久久夜色精品国产噜噜噜亚洲AV| 无码AV片在线观看免费| 国产成人+综合亚洲+天堂| 亚洲伦理一二三四| 亚洲va无码va在线va天堂| 亚洲国产精品成人久久蜜臀| 中国在线观看免费高清完整版| 国产在线观看免费视频软件| 猫咪免费人成网站在线观看入口| 亚洲人xxx日本人18| 中文字幕亚洲免费无线观看日本| 亚洲永久精品ww47| 亚洲男人的天堂一区二区| 国产在线播放免费| 午夜寂寞在线一级观看免费| 亚洲成人黄色在线观看| 亚洲日本中文字幕| 亚洲熟妇中文字幕五十中出| 亚洲精品国产va在线观看蜜芽| 日韩一区二区免费视频| 四虎免费大片aⅴ入口| 最近2019中文字幕免费看最新| 91手机看片国产永久免费| 每天更新的免费av片在线观看| 免费黄网站在线看| 日本免费久久久久久久网站| baoyu777永久免费视频| 丁香花在线观看免费观看图片| 一出一进一爽一粗一大视频免费的| 国产AV日韩A∨亚洲AV电影| 女bbbbxxxx另类亚洲| 综合偷自拍亚洲乱中文字幕| 亚洲av日韩精品久久久久久a| 亚洲av无码一区二区三区在线播放 | 成人网站免费观看| 欧亚精品一区三区免费| 野花高清在线观看免费完整版中文 | 成人免费大片免费观看网站| 99久久99久久精品免费看蜜桃| 国产91色综合久久免费|