我陷入了一个非常烦人的问题。解决起来看起来很简单,但是我看不到我在做什么错。
全部从JMeter: more than nine parameters from Jenkins开始。
我通过吐一个数组在Jmeter中从Jenkins获取了值。
String line = "${__P(jenkinsparams)}";
String[] words = line.split(",");
字符串看起来像:
-Jjenkinsparams="999,999,8443,1433,SQL2012,sa"
所以我有
此操作在具有1个线程的BeanShell Sampler中进行。如何进一步使用这些值?即使在不同的线程组中。
我尝试过:
props.put("SqlIP",words[0]);
props.put("SqlInstance", words[1]);
但是在用于JDBC连接配置时,$ {__ P(SqlIP)}不会检索该值:
jdbc:sqlserver://${__P(SqlIP)}\\${__P(SqlInstance)}
如何使用属性/变量从该数组发送数据以建立JDBC连接?我需要它们用于:SQL IP,SQL实例,SQL用户名和SQL密码。所有这些都是从詹金斯发送来的。谢谢
答案 0 :(得分:1)
因为JDBC Connection Configuration是一个Configuration元素,并且根据Execution Order它是在任何 Beanshell测试元素之前开始的。您将不得不提出另一种设置值的方法。
我不知道JMeter级别上的任何参数数量限制,如果您运行的是异国情调的Shell或某种形式的自定义JMeter启动脚本引入了此限制,则可以通过将配置放入来解决该问题可以通过-q
parameter传递的user.properties 文件或自定义属性文件,请查看Apache JMeter Properties Customization Guide以了解有关设置和覆盖JMeter属性的更多信息