#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