簡體   English   中英

在jmeter中運行sh腳本

[英]run sh script in jmeter

對於負載測試,我想在我用jmeter運行測試之前隨機化我的測試值。 為此,我想使用這個bash腳本:

#! /bin/bash
cat data.dsv | shuf > randomdata.dsv

這應該用jmeter執行。 我嘗試使用BeanShell Sampler和這個命令(我使用這個命令總是找到正確的文件,無論我想在哪台機器上執行它):

execute(${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}random.sh)

但我總是收到此錯誤消息:

ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   In file: inline evaluation of: ``execute(/home/user/git/path/'' Encountered "( /" at line 1, column 8.

任何想法做什么或有什么最好的做法我還沒找到?

我建議改用OS Process Sampler ,它應該更容易使用,例如:

OS Process Sampler示例配置

關於Beanshell方法,我們不需要在Beanshell采樣器中使用__Beanshell函數,此外每次調用函數時都會創建Beanshell解釋器實例,從而導致性能開銷。 您可以將代碼放入采樣器的“腳本”區域中

import org.apache.jmeter.services.FileServer;

StringBuilder command = new StringBuilder();
FileServer fileServer = FileServer.getFileServer();
command.append(fileServer.getBaseDir());
command.append(System.getProperty("file.separator"));
command.append("random.sh");
Process process = Runtime.getRuntime().exec(command.toString());
int returnValue = process.waitFor();
return String.valueOf(returnValue);

請參閱如何使用BeanShell:JMeter最喜歡的內置組件指南,以獲取有關JMeter中Beanshell腳本的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM