2017-05-27 69 views
-2

我在創建腳本來打印輸入測試數據+該數據的響應時遇到了一些問題。我想打印輸入的測試數據還舉例說:如何使用jmeter中的bean外殼處理器在CSV文件中打印CSV文件輸入參數?

cards 
98765432 
98765432 

結果CSV文件:應該是

Cards,Results 
98765432,PASS 
98765432,FAIL 

我如何打印像上面?我的代碼是

import java.io.File; 
import org.apache.jmeter.services.FileServer; 

Result = "FAIL"; 
Response = prev.getResponseDataAsString(); 

if(Response.contains("fullCardNo")) 
    Result = "PASS"; 
fullCardNo =vars.get("fullcards"); 
f = new FileOutputStream("F:\\Java_Applications\\apache-jmeter-3.1\\bin\\FullCardsResults.csv",true); 
p=new PrintStream(f); 

this.interpreter.setOut(p); 
p.println((${cards})+","+fullCardNo + "-" + Result); 
f.close(); 
p.close(); 

通過以上腳本,我的結果文件顯示爲空,該文件中沒有數據。

+0

請閱讀[在什麼情況下,我可以在我的問題中添加「緊急」或其他類似短語,以獲得更快的答案?](https://meta.stackoverflow.com/q/326569) - 摘要是這不是解決志願者問題的理想方式,而且可能對獲得答案起反作用。請不要將這添加到您的問題。 – halfer

回答

0

我找到了答案,只在我的腳本錯誤,只是我已經改變和複製,粘貼fullCardNo =vars.get("fullcards");上面的結果=「失敗」下面和下面是代碼適合我。

import java.io.File; 
import org.apache.jmeter.services.FileServer; 
cardsnumber =vars.get("cards"); 
Result = "FAIL"; 
Response = prev.getResponseDataAsString(); 
if(Response.contains("fullCardNo")) 
    Result = "PASS"; 
fullCardNo =vars.get("fullcards"); 
f = new FileOutputStream("F:\\Java_Applications\\apache-jmeter-3.1\\bin\\FullCardsResults.csv",true); 
p=new PrintStream(f); 

this.interpreter.setOut(p); 
p.println(cardsnumber+","+fullCardNo + "-" + Result); 
f.close(); 
p.close(); 

請按照上面的代碼,然後可以在結果csv文件中打印輸入變量,就像我在問題中問的那樣。

0

建議避免腳本如果可能的話,所以我會建議使用Sample Variables屬性,而不是

給你加上下一行user.properties文件(位於的「bin」文件夾設置sample_variables屬性您安裝Jmeter)

sample_variables=cards,fullcards 

或通過他們傳遞給JMeter的啓動腳本-J command-line argument像:

jmeter -Jsample_variables=cards,fullcards -n -t test.jmx -l result.csv 

您的result.csv文件將包含2個額外的列,其中${cards}${fullcards}值將存在。有關通過屬性精確調整JMeter實例的更多信息,請參閱Apache JMeter Properties Customization Guide指南。


如果必須做一些需要的腳本確保您使用的是的執行選項是JSR223 Test Elements使用Groovy語言的現在。