jmeter+python:簡單實例1(jmeter調用python腳本)


jmeter新增

  • 准備:用戶定義的變量
  • 取樣:JSR223 Sampler,含python:對一個字符串進行重新排序顯示
  • 驗證:beanshell斷言
  • 結果查看:查看結果樹、斷言結果、聚合報告

用戶定義變量

 

 

 

 JSR223 Sampler

 

python腳本

import sys
reload(sys)
sys.setdefaultencoding('utf8')      #保證結果樹的響應數據中的中文不為亂碼,否則會提示錯誤信息:jmeter python Cannot create PyString with non-byte value

#python腳本:將jmeter的變量賦值到python,然后對其進行排序,並輸出排序后的字符串。
a = vars.get("b")                         #jmeter的變量b賦值到python
print ("將a排序顯示,辦法1(列表):")
lista = list(a)                                 #字符串轉為列表
lista.sort()                                    #列表排序
bb = str(lista)
newa = ''                                      #創建一個空字符串
for i in lista:
     newa= newa+i                        #排序后的列表每項加給新字符串
vars.put("newaj",newa);              #排序后的字符串賦值給jmeter的變量newaj
c = vars.get('newaj')                    #將newaj的值給變量c
SampleResult.setResponseData("原字符串:"+"${b}"+'\n'+"排序后的字符串使用vars.get打印出:"+vars.get('newaj')+'\n'+"or直接使用變量打印出:"+c);      #響應信息輸出,可直接使用vars.get('newaj') 輸出,也可使用變量vars.get('newaj') 輸出。
#SampleResult.setSuccessful(True)
#SampleResult.setSuccessful(False)
#SampleResult.setResponseCode("502")

beanshell斷言

 

 beanshell斷言的腳本

String data = SampleResult.getResponseDataAsString();
String code = SampleResult.getResponseCode();
if(code == "200" ){
FailureMessage = "code:"+code+",OK,check current";
}
else{
Failure = true;
FailureMessage = "code:"+code+",ERROR,check error";
}

結果過分了,code命名是200 ,但就是報錯……回頭再確認下為什么

 

 

把斷言腳本改為:

String data = SampleResult.getResponseDataAsString();
String code = SampleResult.getResponseCode();
if(code != "200" ){
FailureMessage = "code:"+code+",OK,check current";
}
else{
Failure = true;
FailureMessage = "code:"+code+",ERROR,check error";
}

就成功了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM