Как использовать разные переменные для разных потоков в зависимости от процента?

#jmeter

#jmeter

Вопрос:

У меня есть одна группа потоков, в которой я запускаю 100 потоков. Каждый поток делает почти то же самое. Разница: x процентов потоков должны использовать переменную A, остальные переменные B в качестве значения для запроса. Я не хочу использовать переключатель или пропускную способность, потому что все шаги одинаковы, и я не хочу иметь избыточный код.

Заранее благодарю вас.

Комментарии:

1. Попробуйте: variable=${__randomString(2,A,B,)}. Specific x percent здесь не сможет применяться, но может решить вашу проблему.

Ответ №1:

Вы можете использовать функцию $ {__threadNum} в Jmeter, чтобы получить номер потока, и на основе этого вы можете написать код Beanshell, как показано ниже, для присвоения переменной.

Предполагая, что процент равен 70

если запущено 100 потоков, то 70 потоков будут иметь переменную в виде A и 30 с переменной в виде B

 if(${__threadNum}<=70){
    vars.put("result","A");
}
else{
    vars.put("result","B");
}
  

Комментарии:

1. Да, вы можете присвоить его переменной threadnum=${__threadNum}; vars.put(«threadnum»,threadnum.toString()); значение будет сохранено в виде строки и везде, где вы хотите использовать, вам нужно преобразовать его в целое число thrdnum=Integer.parseInt(vars.get(«threadnum»));

2. Если вы имеете в виду количество потоков (пользователей), то создайте пользовательскую переменную, присвоите значение и используйте его Thread group