Хобрук: Ваш путь к мастерству в программировании

Как передать параметр BeanShell из одной группы потоков в счетчик в другой группе потоков

Мне нужно передать значение из одной группы потоков в другую группу потоков, в частности, мне нужно передать значение из семплера BeanShell в Counter. Это мой код BeanShell:

Counter.Calendar c = 
Calendar.getInstance();
long now = c.getTimeInMillis();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long passed = (now - c.getTimeInMillis())/1000;
vars.putObject("startTime",passed);
${__setProperty("start",vars.getObject("startTime"))};

и мне нужно использовать значение переданное в счетчик в качестве начального значения. Я установил $ {__ P ("start")} или $ {__ property ("start")}, но ни один из них не сработал. Я попытался использовать этот метод также в BeanShell Sample другой группы потоков, но у меня возникла ошибка. В том же Beanshell он работает и устанавливает переменную. Как я могу использовать свойства или другой способ передать это значение? Благодарность

PS: Если я $ {__ setProperty ("начало", 123)}; он работает (другой поток получает 123), иначе он не видит переменную. Также, если я помещаю фасоль-саплер в тот же поток, возникает проблема: учитывая, что счетчик обрабатывается перед сэмплером, значение счетчика не обновляется.


Ответы:


1

Свойства могут быть только строками. Попробуйте что-то вроде этого:

props.put("start", Long.toString(passed));

На принимающей стороне придется конвертировать обратно в лонг.

Для совместного использования данных, не являющихся строкой, вы можете использовать общее пространство имен BeanShell, bsh.shared. См. http://jmeter.apache.org/usermanual/best-practices.html

19.05.2015
  • спасибо, пробую с преобразованиями. Поскольку bsh.shared не может его использовать, потому что я должен использовать переменную в Counter, а не в Beanshell 19.05.2015
  • Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..