I have loop like
for (int i = 1; i <= 12; i++) {
log.warn("opponentA: " + vars.get("ID1_" + i).split(" - ")[0]);
log.warn("opponentB: " + vars.get("ID1_" + i).split(" - ")[1]);
}
which produces values like:
2021-06-08 11:01:51,649 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: France
2021-06-08 11:01:51,649 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Bulgaria
2021-06-08 11:01:51,649 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Poland
2021-06-08 11:01:51,649 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Iceland
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Senegal
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Cape Verde
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Czech Republic
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Albania
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Hungary
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Republic of Ireland
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Morocco
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Ghana
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Kosovo (FIFA APPR.) U21
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Andorra U21
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Sweden U21
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Luxembourg U21
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Faroe Islands U21
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Armenia U21
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Austria U21
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Estonia U21
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Ecuador
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Peru
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentA: Baderan Tehran
2021-06-08 11:01:51,650 WARN o.a.j.e.J.JSR223 PostProcessor: opponentB: Esteghlal Mollasani
When I try to assign value so I can use multiple dynamic variables, as
for (int i = 1; i <= 12; i++) {
vars.put("opponentA" + (i + 1), vars.get("ID1_" + i).split(" - ")[0]);
vars.put("opponentB" + (i + 1), vars.get("ID1_" + i).split(" - ")[1]);
log.warn(vars.get("opponentA1"));
log.warn(vars.get("opponentB1"));
}
I got null
.
How to fix this, so I can use multiple dynamic variables as:
opponentA1, opponentA2...opponentA20
Change this:
vars.put("opponentA" + (i + 1)...
to this:
vars.put("opponentA" + i...
as your loop starts with 1 so then you increment the value by 1 you're getting variables like opponentA2
, opponentB2
, opponentA3
, etc.
You can always check which variables are being generated using Debug Sampler and View Results Tree listener combination
It also worth checking jmeter.log file for any suspicious entries indicating your JSR223 PostProcessor's failure
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments