爲了其他一些測試目的,需要把外部的jar包引入進來,以下是我個人實踐的一點經驗,會持續補充。
1、在jmeter的根目錄下,創建一個新的文件夾,存放自己需要導入的jar包,如下圖這個文件夾就是我創建的存放jar包的文件夾;
2、配置jmeter.properties。
找到classpath configuration,然後在如圖的位置添加一行代碼:plugin_dependency_paths=../practicejar;
這裏要注意的是:網上有人說直接改user.calsspath,如改成下圖第一個紅框標註的地方;我試了,發現這樣修改以後,會讓jmeter加載時報錯:jmeter.gui.util.MenuFactory: Missing jar? Could not create com.googlecode.jmeter.plugins.webdriver.sampler.gui.WebDriverSamplerGui. java.lang.NoClassDefFoundError: jsyntaxpane/DefaultSyntaxKit
,這是因爲jmeter啓動時需要讀取的jar包位置被改了,jar包找不到了,所以不要這樣幹。
3、在jmeter的測試計劃處,把需要的jar包導入進去,如下圖所示;然後就可以用beanshell進行調用測試啦。
解決問題過程:
測試時,想做一個通過響應數據中的圖片url地址,自己寫個腳本把圖片下載到本地制定目錄並重命名。
然後在調試腳本時,碰到好多問題,對於沒啥編程經驗的我來說,真難呀。
1、爲了驗證寫的代碼是否正確,需要先在本地java環境調試通過。這一步經過修改,終於調試成功,圖片也下載到本地了,開心。
2、把調試通過的腳本,放到我的beanshell裏,執行時報錯,然後我就卡到這裏了,報錯信息如下:
2017/06/22 15:06:50 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.io.FileOutputStream; import java.io.InputStream; import java.io.Outp . . . '' : Typed variable declaration : Object constructor
2017/06/22 15:06:50 WARN - jmeter.protocol.java.sampler.BeanShellSampler: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import java.io.FileOutputStream; import java.io.InputStream; import java.io.Outp . . . '' : Typed variable declaration : Object constructor
3、出現上面這個問題,其實是我的log.info語句使用有問題,不能有空格,也不能把加號變爲別的符號,改成如下的樣式就正常了:log.info("url:"+url);