<code id="ebytu"><sup id="ebytu"><track id="ebytu"></track></sup></code>
    <td id="ebytu"><option id="ebytu"></option></td>
    <pre id="ebytu"><label id="ebytu"><menu id="ebytu"></menu></label></pre>
    <acronym id="ebytu"><label id="ebytu"><xmp id="ebytu"></xmp></label></acronym>
  1. <td id="ebytu"></td>

    <track id="ebytu"><ruby id="ebytu"></ruby></track>

            LoadRuner腳本開發之文件參數化

            發表于:2022-4-21 09:13

            字體: | 上一篇 | 下一篇 | 我要投稿

             作者:佚名    來源:知乎

              參數類型設置完成后,需要設置參數的數據源,根據不同的業務需求需要不同的數據,這些數據可以是來自真實的歷史數據也可以是為了測試而構建的數據,同時對參數中的數據如何調用也需要設置。
              1.Browse屬性
              該設置項用來選擇參數文件的路徑,需要注意的一個問題是,一般在做參數化的時候沒有單獨把參數文件放到一個文件夾下,便無需修改,但是如果將參數化文件合并成一個文件并放到一個專門管理參數的文件夾下,就要選擇參數的路徑,否則無法讀到參數文件中的參數,具體如圖所示。
              選擇好參數文件后,參數文件中所有的數據將會被顯示出來,如圖所示。
              注意:這樣設置同樣有一個問題,如果把這個腳本拷貝到別的機器上運行,或者是腳本的路徑發生了變化,這個路徑就是錯誤的路徑,也就是現在的腳本可移植性不好,當更換路徑后,運行時一定會出錯,因為這里寫的是絕對路徑,如果換到其他的一個盤或機器,運行就報錯了,那么怎么解決呢?這里采用相對路徑來解決這個問題,將Browse設置為相對路徑,將腳本的根目錄使用“.”來代替,如圖所示,這樣就不會出錯了。
              2.Edit With Notepad設置
              點擊Edit With Notepad按鈕,打開記事本,記事本內容中第一行是參數名稱,第二行是參數的初始值。參數之間使用逗號隔開?梢栽谟浭卤局袑抵颠M行修改或添加、刪除,如圖所示。
              如果要在沒有啟動記事本的情況下添加列,可以在參數屬性對話框中點擊Add Column按鈕,彈出Add new column對話框,輸入新列的名稱,點擊OK按鈕,腳本生成器會將該列添加到表中,并顯示該列的初始值,如圖所示。
              3.Select column設置
              指明參數選擇的列。這里有兩種方式選擇參數的列,可以按列號來選擇也可以按列名來選擇。列號是包含所需要數據的列的索引,列名顯示在每列的第一行,一般情況下為了避免出錯,都選擇按列名來選擇參數數據的列,如圖所示。
              4.Column delimiter設置
              選擇列分隔符,一般情況下都是默認選擇逗號作為分隔符,但其實這里也可以指定逗號、空格符等進行分隔,列分隔符指的是當參數化文件中出現多列參數時(如該實例中的參數有user和pw),參數與參數之間如何隔開。
              5.File data line設置
              在腳本執行時選擇第幾行數據開始使用。如果選擇從列標題后的第一行參數開始執行的話,就在File data line中輸入1。
              6.Select next row設置
              值的注意的是所有的Select next row屬性選擇是針對虛擬用戶來說的,也就是這里的策略是針對Controller設置的,在調試腳本的過程中是看不出來的,其決定虛擬用戶選擇參數的過程。
              ·順序(Sequential):虛擬用戶Vuser按照行順序讀取參數文件中的數據,如果參數文件中的數據都執行了一遍,則返回到第一行,繼續執行。
              · 隨機(Random):每個Vuser從表中隨機地讀參數數據,假設有50個數據,那么隨機數將在1~50之間隨機取一個,然后把這個數作為行號,去讀取相應行的參數數據。
              · 唯一(Unique):該方法分配一個唯一的有順序的值給每個虛擬用戶作為參數。
              當該選項被選中后,When out of values和Allocate Vuser values in the Controller兩個選項變成可用狀態,如圖所示。
              When out of values:表示當參數不夠時如何處理,通常有以下三種方式:
              Abort Vuser:忽略剩下所有的虛擬用戶不再運行。
              Continue in a cyclic manner:將參數繼續循環一次,虛擬用戶按順序參數進行迭代,這種情況與選擇順序的策略方法一致。
              Continue with last value:一直使用最后一個數據進行后面的迭代。
              Allocate Vuser values in the Controller:指在控制器運行時,如何分配這些參數,有以下兩種方式:
              Automatically allocate block size:由LoadRunner自動分配每個虛擬用戶使用的參數情況。
              Allocate XXX values for each Vuser:為每個虛擬用戶分析所設置的虛擬用戶數,假設設置為20個,那么第一個虛擬用戶使用的參數為1-20個,第二個虛擬用戶使用的參數為21-40個,以此類推。
              注意:在實際測試過程中不要將該值設置為參數的總數,假設一共有10000個參數,如果將該值設置為10000,那么第二個虛擬用戶就沒有數據可用,這樣在控制器的輸出錯誤信息中會提示參數錯誤的相關信息,一般將所有參數平均分配到不同的虛擬用戶即可或者設置為LoadRunner自動分配。
              l Same link as ***:與某個已定義好的參數取同一行值。注意:該方法要求至少其中的一個參數必須是Sequential、Random或Unique。
              如下面的數據表有2列:
              User PW
              T01 0001
              T02 0002
              T03 0003
              將參數PW“Select next row”設置為“Same Line as user”。當User選擇T01時,那么參數PW(密碼)只能選擇0001。
              7.Update value on設置
              設置腳本迭代過程中取值的策略,其結果可以在代碼調試的日志中體現。
              如圖所示對登錄用戶名和密碼進行參數化。
              --->Each iteration:腳本每迭代一次都訪問數據表中的下一個值,也就是說在同一次迭代的過程中,不管同一個參數出現多少次都只使用這一個參數,如圖所示是參數第一次迭代的結果。
              --->Each occurrence:在每次迭代的過程中,參數的值都更新,即使在同一次迭代過程,如果某個參數使用了多次,其選擇的值也會更新而并不會使用相同的參數值,如圖所示。
              --->Once:在同一個Vuser中一直取同一個參數,表中其他的數據不參與迭代的過程,如圖所示。

              本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理
            價值398元的測試課程免費贈送,填問卷領取吧!

            關注51Testing

            聯系我們

            快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計

            法律顧問:上海漕溪律師事務所 項棋律師
            版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2022
            投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

            滬ICP備05003035號

            滬公網安備 31010102002173號

            亚洲春色校园小说_欧洲精品色在线观看视频_国产思思99RE99在线观看_天天躁日日躁狠狠躁日日躁

            <code id="ebytu"><sup id="ebytu"><track id="ebytu"></track></sup></code>
              <td id="ebytu"><option id="ebytu"></option></td>
              <pre id="ebytu"><label id="ebytu"><menu id="ebytu"></menu></label></pre>
              <acronym id="ebytu"><label id="ebytu"><xmp id="ebytu"></xmp></label></acronym>
            1. <td id="ebytu"></td>

              <track id="ebytu"><ruby id="ebytu"></ruby></track>