• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 在軟件測試過程中有關Silk performer 錄制錯誤的解決方法

    發表于:2009-05-08來源:作者:點擊數: 標簽:軟件測試silkSilkPerformerperformer
    自動化 性能測試 工具 Silk Performer,是業界最受歡迎的 測試工具 之一,其簡單的腳本錄制過程、規范的工作流程、負載條件下可視化的內容校驗、實時的性能監視和強大的管理報告可以幫助您迅速將問題隔離,及時的查找出系統的性能瓶頸,這樣,通過最小化測試
    自動化性能測試工具SilkPerformer ,是業界最受歡迎的測試工具之一,其簡單的腳本錄制過程、規范的工作流程、負載條件下可視化的內容校驗、實時的性能監視和強大的管理報告可以幫助您迅速將問題隔離,及時的查找出系統的性能瓶頸,這樣,通過最小化測試周期、優化性能以及確??缮炜s性,加快了投入市場的時間,并保證了系統的可靠性。但是在實際的使用過程中也會遇到一些因配置不當或是其他原因造成錄制或回放出現問題。下面介紹幾種常見的問題的解決方法:        
             一、錄制時腳本為空的解決辦法

      使用SilkPerformer最常見的問題是在用錄制時,錄制不上內容,Functions數始終為0,腳本為空。

    1. 檢查注冊表中的Key: HKEY_LOCAL_MACHINE | SOFTWARE | Microsoft |

     Windows NT | CurrentVersion | Windows | AppInit_DLLs ,其值應為:qaphooks.dll。如果在qaphooks.dll后面有逗號或者空格,必須刪除逗號或空格。

    2. 檢查注冊表中的Key: HKEY_CURRENT_USER | SOFTWARE | Microsoft |

     Windows | CurrentVersion | Explorer | BrowseNewProcess,其值應為:yes。

    3. 檢查注冊表中的Key: HKEY_LOCAL_MACHINE | SOFTWARE | Microsoft | 

    Windows | CurrentVersion | Explorer | BrowseNewProcess,其值應為:yes。

    4. 如果修改注冊表的上述項后,function還一直為0,再檢查SilkPerformer的profile或proxy設置:

    1)打開SilkPerformer,選擇Settings | System | Recorder | Application Profiles ;

    2)編輯您所使用的瀏覽器設置;

    3)在protocol selection區內,確保Web的checkbox是選中的,然后選擇“Web Settings”按鈕;

    4)確保Winsock的選項是W2_32.dll。

            二、與Oracle、LoadRunner端口沖突的解決辦法

      在裝了Oracle或LoadRunner的機器上安裝SilkPerformer,會造成SilkPerformer與Oracle、LoadRunner通信端口沖突,Oracle XDB(XML數據庫)Http服務的默認端口是8080,而SilkPerformer腳本記錄器的http協議監聽端口也默認的是8080。解決此端口沖突的方法有兩種,一是更改Oracle XDB Http服務的端口;另一種方法就是更改SilkPerformer腳本記錄器的Http協議監聽端口。下面就簡要介紹如何更改SilkPerformer腳本記錄器的http協議監聽端口。

    1)打開SilkPerformer,選擇Settings | System | Recorder | Proxies ;

    2)選擇HTTP協議,點“Edit”按鈕編輯其設置;

    3)把“listen port”編輯框中默認的8080,改為其它端口值就可以了,如18080。

      安裝了LoadRunner的機器會占用端口1080,而SilkPerformer腳本記錄器的Socks協議監聽端口也默認的是1080。解決此端口沖突的方法與上面相同。 [Page]

            三、應用登錄問題

      在很多客戶的應用中不允許同一個用戶登錄多次,那么如果需要在登錄這個業務點上加壓的話,就必需對登錄的用戶名和密碼進行參數化。但是僅僅做了參數化還是不夠的,因為如果讓SilkPerformer的腳本在執行過程中自己去隨機的取用戶名和密碼時,還是有可能會取到同一個用戶名和密碼,這樣就沖突了,所以還必需要添加一些限制。

    FileCSVLoadGlobal(hfile, csvFile, \",\"); //導入參數化文件

    FileGetRow(hfile, GetUserId()); //根據虛擬用戶的ID來取參數化的數據

    sAccountName:=FileGetCol (hfile, 1, 10);//取數據的第一列 

    sPassword:=FileGetCol (hfile, 2, 10); //取數據的第二列

      如果在第二行里面使用FileGetRndRow(hfile)函數,隨機的在參數化文件里取數的話,當并發量大的時候,難免會造成取數沖突。所以在這里,用了GetUserId()來制定了那一個虛擬用戶用那一個用戶名和密碼登錄,這樣就不存在沖突的問題了。

            四、插入數據的問題

      在壓力測試中,用戶測試用例中經常會有增加數據這樣的業務。所以對插入數據的主鍵要進行必要的定制,不然加壓時插入同一條數據,肯定是會出錯的。但是插入數據的主鍵值又分為兩種,一種是服務器端自動生成的,一種是客戶端自己輸入的。對于后一種就必需對數據進行處理。

      在silkPerformer中有幾個函數可以幫助我們處理這樣的業務:

    GlobalVarSet(in sVariable : string, 

    in nValue : number,

    in nTimeout : number optional): boolean;

      這個函數用來設定一個全局變量的值。

    GlobalVarInc(in sVariable : string, 

    in nInc : number, 

    out nValue : number,

    in nTimeout : number optional) : boolean;

      此函數用來給這個全局變量遞增。

    GlobalVarGet(in sVariable : string, 

    out nValue : number, 

    in nTimeout : number optional) : boolean;

      這個函數用于從全局變量中取數值。

    GlobalVarSet(\"CustID1\", 40000);

    GlobalVarInc(\"CustID1\",1,nCustID);

    sCustID : = \"2300\" + string(nCustID);

      從上面三行代碼,我們可以看到,把主鍵的值sCustID不斷的遞增了,從而保證主鍵的唯一。

     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>