Как получить значение из глобальных переменных в JMeter - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь получить значение из глобальной переменной, которая находится в коде ответа. Я пробовал регулярные выражения и код Beanshell, но все равно получаю значения как нулевые. Может ли кто-нибудь помочь мне с этим?

Мой код в зернах:

import org.apache.jmeter.services.FileServer;
String path=FileServer.getFileServer().getBaseDir();
String sid= vars.get("whiteboardVars");
FileOutputStream f = new FileOutputStream("/Users/diya/testgui/sesid.csv", true); //spec-ify true if you want to overwrite file. Keep blank otherwise.
p = new PrintStream(f); 
this.interpreter.setOut(p); 
p.println(sid);
f.close();

Отладочный вывод сэмплера - whiteboardVars = 0 здесь

Поиск whiteboardVars, который существует в данных ответа http-запроса. Моя главная цель - получить идентификатор сессии из переменной whiteboardVars

1 Ответ

0 голосов
/ 27 августа 2018
  1. Проверьте, действительно ли ваша переменная whiteboardVars имеет значение, используя комбинацию Debug Sampler и View Results Tree listener . Если переменная не определена, ваша попытка записать ее в файл не будет иметь смысла, поэтому дважды проверьте, имеет ли она значение.
  2. Имейте в виду, что начиная с JMeter 3.1 рекомендуется использовать элементы тестирования JSR223 и язык Groovy для любых сценариев. Вы сможете сократить свой код до этой строки:

    new File('/Users/diya/testgui/sesid.csv').newWriter().withWriter { w -> w << vars.get('whiteboardVars') }
    

    и это будет намного быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...