linux - 如何在 jmeter 中使用 OS Sampler 进行远程脚本
问题描述
我在 jmeter 中遇到了一个问题,我想知道是否可以解决。我需要在远程计算机上运行一个脚本。当我通过计算机中的命令行运行脚本时,它正在工作。
plink -ssh jenkins@178.27.288.288 -pw passtest sudo /opt/test/test.sh
我想从我的计算机上在 Jmeter 中运行它(与脚本运行相同)。我尝试了不起作用的 ssh 采样器我想使用 OS 采样器,可以吗?我可以在远程计算机上运行脚本吗?我发现的唯一解释来自 blazemeter 网站,并提到:“再次,因为通过 OS Process Sampler 运行“plink”程序非常容易,”
远程机器:jenkins@178.27.288.288,
远程机器密码:passtest,
命令:sudo /opt/test/test.sh
所以有人可以建议
我添加了操作系统采样器
并收到此消息:
Exception occurred whilst executing system call: java.io.IOException: Cannot run program "sudo /opt/test/test.sh" (in directory "plink -ssh jenkins@178.27.288.288 -pw passtest "): CreateProcess error=267, The directory name is invalid
有人可以建议如何在远程计算机上运行命令吗?如果我再次将整行放入命令行,它正在工作,但是在我为 Jmeter 剪切它之后它不工作?我错过了什么
解决方案
- 命令参数需要进入“命令参数”部分,而不是“工作目录”
- 我建议通过cmd.exe解释器运行你的脚本,所以实际的命令是
cmd
,而不是 Linux 命令 提供参数更安全,
-hostkey
就好像远程 Linux 机器不在known_hosts你的脚本会卡住一样假设以上所有您的 OS Process Sampler 配置应如下所示:
使用JSR223 Sampler可能更容易,您可以在其中调用程序并获得输出,如下所示:
"c:\somefolder\plink.exe -pw passtest sudo /opt/test/test.sh".execute().text
有关该方法的更多信息:Apache Groovy - 为什么以及如何使用它
推荐阅读
- apollo - 使用 apollo-link-state 保存 @client 数据时出现“selectionSet 为空”错误
- r - 使用 Mtcars 示例在散点图中获得最佳拟合线
- getchar - Linux 上的 getchar() 可以读取哪些键盘字符
- javascript - 从动态路径中查找文件夹
- c# - 邻接矩阵中的 BFS
- wordpress - 移动库存管理器 Woocommerce API
- elasticsearch - 当建议失败时,对多个索引的搜索查询找不到任何命中
- java - 试图找到二维数组的平均值的逻辑错误
- python-3.x - 关于将文本文件传输到字典的python代码
- c# - Selenium C# OpenQA.Selenium.NoSuchElementException