2015-07-01 20 views
5

sto cercando il codice qui sotto in JMeter BeanShellJMeter stringa BeanShell questione confronto

ho bisogno di confrontare il valore di OldT con ${so_tid_1} che è una stringa esatta e non una variabile

String OldT = vars.get("OldT"); 
if (OldT.equals("${so_tid_1}")){ 
    vars.put("OldT","ABCD"); 
} 

ho osservato che la condizione if non viene eseguita anche quando il valore di OldT viene ricevuto come ${so_tid_1}. Ma se cambio la condizione come if(OldT.equals("some string") funziona bene e ottengo l'output previsto.

Qualche idea sul perché non funziona?

+0

Ho appena provato questo codice 'String OldT =" $ {so_tid_1} "; if (OldT.equals ("$ {so_tid_1}")) vars.put ("OldT", "ABCD"); 'in JMeter 2.13. La condizione if viene valutata su true e viene eseguito 'vars.put'. Controlla il valore di 'vars.get' per gli spazi bianchi. – RaGe

+0

Grazie, questo incarico diretto di valore funziona anche per me. Ma lo stesso non sembra funzionare quando il valore viene recuperato da JMeter Variables come 'String OldT = vars.get (" OldT ");' C'è qualcos'altro che deve essere fatto? – Maniram

+0

Come stai verificando che 'vars.get (" OldT ")' sta restituendo '" $ {so_tid_1} "'? – RaGe

risposta

3

solo fare questo:

String OldT = vars.get("OldT"); // I need to compare the value of OldT 
           // with ${so_tid_1} which is an exact 
           // string and not a variable 
if (OldT.equals("\${so_tid_1}")){ 
    vars.put("OldT","ABCD"); 
} 

Hai bisogno di fuggire $ segno.

+0

Grazie mille. Sì, questo ha funzionato bene. Ho provato molti modi, ma non pensare di fuggire $ :) – Maniram