最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

軟件測試 | JMeter函數(shù)和變量

2023-07-11 16:37 作者:愛測軟件測試  | 我要投稿

JMeter函數(shù)可以被認為是某種特殊的變量,它們可以被采樣器或者其他測試原件所引用。函數(shù)調用的語法如下:

其中,_functionName匹配被調用的函數(shù)名稱。用圓括號包含參數(shù)的形參,例如$(_time(YMD)),不同函數(shù)要求的參數(shù)不同。有些JMeter函數(shù)不要求參數(shù),則可以不適用圓括號,例如$(_threadNum)。

如果一個函數(shù)的參數(shù)中包含逗號,那么必須對逗號進行轉義(使用“\”),否則JMeter會把逗號當成參數(shù)分隔符。例如:

$(_time(EEE\, d MMM yyy)}

變量引號的語法如下:

${VARIABLE}

如果測試計劃中引用了未定義的變量或者函數(shù),那么JMeter并不會報告/記錄錯誤信息,引用返回的值就是引用自身。例如,假設字符串UNDEF沒有被定義為變量,那么${UNDEF}返回的值就是$(UNDEF)。變量、函數(shù)(包括屬性)都是大小寫敏感的。JMeter2.3.1及其后續(xù)版本會剔除參數(shù)名中的空格,例如,$(_Random(1,63,LOTTERY)}中的“LOTTERY”會被“LOTTERY”所代替。

1.使用函數(shù)可以做些什么

目前有兩種類型的函數(shù):用戶定義的靜態(tài)值(或者變量)和JMeter內(nèi)置函數(shù)。

當需要編譯測試樹或者提交運行時,用戶可以使用自定義變量來代替常用的靜態(tài)值。這種替換只在測試的開始階段執(zhí)行一次。一個典型的應用就是使用自定義變量來替換所有HTTP請求的DOMAIN域,例如,做出輕微改動,就可以讓同一個測試腳本適配多個服務器。

需要注意,目前變量不支持嵌套:例如${Var${N}}不能正常工作。但是在JMeter2.2及其以后版本中,可以借助函數(shù)_V(variable)來達成嵌套變量的目的(如${_V(Var${N})})。在早期的JMeter版本中可以使用$(_BeanShell(vars.get("Var${N}")))。

這種類型的替換也可以不用函數(shù)來實現(xiàn),但是就不像使用函數(shù)時那么直觀和方便。用戶可以創(chuàng)建默認配置測試元件,它們會填充采樣器中的空白設置。

使用JMeter內(nèi)置函數(shù),用戶可以基于前面的服務器響應數(shù)據(jù)、函數(shù)所在線程、當前時間或者其他資源來動態(tài)地計算變量值。這些變量的值會在整個測試期間針對每個請求動態(tài)更新。

2.函數(shù)和變量可以被用在哪里

函數(shù)和變量理論上可以被用在任何測試元件的任何輸入域之中(除了測試計劃之外,見下面的內(nèi)容)。有些輸入域不支持隨機數(shù)組,因為它們只接受數(shù)字,這樣一來就不支持函數(shù)。當然,大多數(shù)輸入域支持函數(shù)。

將函數(shù)用于測試計劃(Test Plan)的設置時,會受到一些限制。此種情況下,JMeter線程的變量在函數(shù)被處理時還沒有被設定,因此變量作為參數(shù)傳遞時沒有初始化,函數(shù)引用當然不會生效。如此一來,split()、regex()及變量賦值函數(shù)就都不能正常工作。函數(shù)threadNum()同樣不能正常工作,該函數(shù)在測試計劃層沒有意義。在測試計劃中,函數(shù)intSum、longSum、machineName、BeanShell、JavaScript、jexl、random、time、property functions、log functions應該能正常工作。

配置元件是通過一個獨立線程處理的。因此函數(shù)(如_threadNum)不能在這些測試元件(如用戶定義的變量)之中正常工作。另外還需要注意,在用戶定義的變量(UDV)中定義的變量,在UDV被處理前是不能使用的。


軟件測試 | JMeter函數(shù)和變量的評論 (共 條)

分享到微博請遵守國家法律
临汾市| 广昌县| 沙河市| 德惠市| 金门县| 胶州市| 灵山县| 富阳市| 葫芦岛市| 原阳县| 虹口区| 洪洞县| 平果县| 长乐市| 任丘市| 中宁县| 鲁山县| 德保县| 曲水县| 彭州市| 五河县| 佛教| 孙吴县| 天津市| 大丰市| 盐城市| 缙云县| 皋兰县| 巧家县| 和顺县| 廉江市| 从江县| 镇安县| 呼伦贝尔市| 大冶市| 四川省| 姜堰市| 南乐县| 调兵山市| 集安市| 阿克陶县|