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

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

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

2023-07-12 11:19 作者:測(cè)吧測(cè)試開(kāi)發(fā)  | 我要投稿

更多軟件測(cè)試學(xué)習(xí)資料?。?!

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

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

如果一個(gè)函數(shù)的參數(shù)中包含逗號(hào),那么必須對(duì)逗號(hào)進(jìn)行轉(zhuǎn)義(使用“\”),否則JMeter會(huì)把逗號(hào)當(dāng)成參數(shù)分隔符。例如:

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

變量引號(hào)的語(yǔ)法如下:

${VARIABLE}

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

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

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

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

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

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

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

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

函數(shù)和變量理論上可以被用在任何測(cè)試元件的任何輸入域之中(除了測(cè)試計(jì)劃之外,見(jiàn)下面的內(nèi)容)。有些輸入域不支持隨機(jī)數(shù)組,因?yàn)樗鼈冎唤邮軘?shù)字,這樣一來(lái)就不支持函數(shù)。當(dāng)然,大多數(shù)輸入域支持函數(shù)。

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

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

搜索微信公眾號(hào):TestingStudio霍格沃茲的干貨都很硬核

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

分享到微博請(qǐng)遵守國(guó)家法律
集贤县| 山东省| 罗定市| 汉阴县| 玉溪市| 郧西县| 鹰潭市| 辽中县| 刚察县| 仪陇县| 湖口县| 岳普湖县| 泸州市| 政和县| 元朗区| 长寿区| 嘉定区| 汝城县| 绥中县| 彭山县| 包头市| 漳平市| 会同县| 石泉县| 清远市| 大同县| 彝良县| 宜兰市| 江阴市| 武功县| 嘉黎县| 慈溪市| 武陟县| 巴彦县| 禹州市| 隆化县| 永泰县| 兖州市| 石阡县| 大厂| 阳原县|