Jmeter提供了JSR223 PreProcessor前置處理器,通過(guò)該工具融合了Java 8 Nashorn 腳本引擎,可以執(zhí)行js腳本以便對(duì)腳本進(jìn)行前置處理。其中比較典型的應(yīng)用就是通過(guò)執(zhí)行js腳本對(duì)前端數(shù)據(jù)進(jìn)行rsa加密,如登錄密碼加密。但在這里我就簡(jiǎn)單的應(yīng)用javaScript生成當(dāng)前時(shí)間來(lái)做為例子,看如何在JMeter中使用JavaScript腳本的。
整個(gè)實(shí)例就是為了演示在JSR223 PreProcessor中生成HTTP請(qǐng)求的一個(gè)入?yún)ⅲ缓蟮玫巾憫?yīng)后,可以通過(guò)JSON Extractor取出指定想到的信息,再通過(guò)BeanShell Assertion進(jìn)行簡(jiǎn)單的校驗(yàn)斷言,如果一直沒有問(wèn)題,再發(fā)起一個(gè)HTTP請(qǐng)求,其中的一個(gè)參數(shù)就是上一個(gè)HTTP請(qǐng)求響應(yīng)解析入來(lái)的值。
先來(lái)看JSR223 PreProcessor,內(nèi)容如下:
其實(shí)就是通過(guò)JavaScript代碼獲得當(dāng)前系統(tǒng)時(shí)間,轉(zhuǎn)換成指定格式,設(shè)置到變量里。然后在接下來(lái)的HTTP請(qǐng)求中應(yīng)用這個(gè)變量。
然后是JSON Extractor從響應(yīng)體中提取信息(特別說(shuō)明:響應(yīng)體是JSON格式的)
接下來(lái)就是斷言,在這里用BeanShell Assertion來(lái)做,如下所示:
接下來(lái)的HTTP請(qǐng)求,有用來(lái)前面設(shè)置的變量和響應(yīng)解析出來(lái)的變量。
運(yùn)行結(jié)果如下:
第一個(gè)請(qǐng)求的時(shí)間是當(dāng)前時(shí)間,第二個(gè)請(qǐng)求的時(shí)間也是第一個(gè)請(qǐng)求前設(shè)置的時(shí)間,且radomCode就是第一個(gè)請(qǐng)求響應(yīng)體通過(guò)JSON Extractor解析提取出來(lái)的變量值,且對(duì)第一個(gè)請(qǐng)求的BeanShell Assertion是通過(guò)的(不通過(guò)會(huì)結(jié)果樹會(huì)顯示紅色且顯示出錯(cuò)信息)。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-660039.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-660039.html
到了這里,關(guān)于JMeter接口自動(dòng)化測(cè)試實(shí)例—JMeter引用javaScript的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!