Сценарий ruby-jmeter - с использованием экстракта regex: опция и значение переменной

Я использую гем ruby-jmeter для написания DSL-скриптов для автоматизации тестирования производительности.

Я нахожу это довольно полезным для навигации по моим URL-адресам API, публикации данных, подтверждения ожидаемого результата и создания отчетов о тенденциях производительности.

Я застреваю при использовании синтаксиса extract regex: '', name: '' в ruby-jmeter.

Я хочу что-то вроде: я посещаю http :// domain/api/user?q=create, Я отправляю необработанные данные JSON в качестве входных данных и получаю требуемый ответ JSON. Я хочу извлечь шаблон из этого ответа и использовать это значение динамически, чтобы я мог предоставить его в качестве входных данных для моего необработанного ввода JSON для посещения http: //domain/api/user?q=read
В основном я пытался:

visit name: 'CreateUser', url: "<url link>",<br>
        method: "post",<br>
        domain: "<domain>",<br>
        path: 'api/user?q=create', <br>
        raw_body: <input json> do<br>
        #extract a pattern from response<br>
        extract regex: '"Username":"(.+?)"', name: 'userName'<br>
        puts '${userName}'<br>
        # rest of code here.. <br>
        # I want to use ${username} as input to my next Visit call<br>
end




Может ли кто-нибудь, кто изучал ruby-jmeter, помочь мне здесь, plssss?

спасибо, Виши.

1 ответ

Ruby-JMeter - это DSL, он оценивает код ruby ​​только тогда, когда генерирует план тестирования (.jmx), он не запускает план тестирования и не оценивает код ruby ​​одновременно.

В вашем примере это сгенерирует экстрактор регулярного выражения в JMeter:

extract regex: '"Username":"(.+?)"', name: 'userName'

Следующий код ruby ​​не будет ничего знать о переменных JMeter в стиле ${}:

    puts '${userName}'

Если регулярное выражение совпадает, то соответствующее ${userName} Будет установлена ​​переменная JMeter, и вы сможете использовать ее в последующих запросах:

visit name: 'users', url: '/api/user?q=${userName}'

Более подробные примеры тестирования API с помощью Ruby см. В этом блоге.

Другие вопросы по тегам