У меня есть динамическое значение в ответ, но оно продолжает менять позицию.Как я могу захватить это - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть динамическое значение в ответ, но оно продолжает менять позицию.Как я могу захватить это.Например: 1-е значение итерации - 2-я позиция. 2-е значение итерации - 4-е место. 3-е значение итерации - 1-е место ... вот так

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

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Начиная с JMeter 3.0, намного проще извлекать данные из ответов JSON с помощью экстрактора переменных JSON.JSON - это чрезвычайно простой формат данных, который перенял XML несколько лет назад.

Все большее число API-интерфейсов REST и серверов используют JSON в качестве основного формата обмена данными.Здесь мы будем использовать JMeter для анализа ответа JSON.Предположим, у нас есть ответ JSON:

     {
        "store": {
            "book": [
                {
                    "category": "reference",
                    "author": "Nigel Rees",
                    "title": "Sayings of the Century",
                    "price": 8.95
                },
               {
                    "category": "fiction",
                    "author": "Evelyn Waugh",
                    "title": "Sword of Honour",
                    "price": 12.99
                }
            ],
            "bicycle": {
                "color": "red",
                "price": 19.95
            }
        },
        "expensive": 10
    }

Чтобы проанализировать вышеупомянутый JSON с JMeter, нам нужно добавить JSON Extractor в наш план тестирования.

Щелкните правой кнопкой мыши План тестирования -> Добавить -> Постпроцессоры -> JSON Extractor

jmeter json extractor parser

Теперь мы должны увидеть следующее представление:

json extractor jmeter

В поле выражения JSON Path мы можем вставить наш путь JSON для анализа ответа JSON

Вот несколько примеров выражений Json Path, которые можно использовать для извлечения данных из документа Json, представленного выше:

JSONPATH    RESULT
$.store.book[*].author  The authors of all books
$..author   All authors
$.store.*   All things, both books and bicycles
$.store..price  The price of everything
$..book[0,1]    The first two books
$..book[:2] All books from index 0 (inclusive) until index 2 (exclusive)
$..book[2:] Book number two from tail
$..book[?(@.isbn)]  All books with an ISBN number
$.store.book[?(@.price < 10)]   All books in store cheaper than 10
$..book[?(@.price <= $[‘expensive’])]   All books in store that are not “expensive”
$..book[?(@.author =~ /.*REES/i)]   All books matching regex (ignore case)
$..*    Give me every thing
$..book.length()    The number of books
0 голосов
/ 06 декабря 2018

Возможно, Regular Expression Extractor - не лучший выбор, , особенно когда речь идет о типе ответа HTML , поэтому обязательно используйте подходящий Постпроцессор , то есть

* 1006.* HTML - Селектор CSS Extractor XML - XPath Extractor JSON - JSON Extractor Что-нибудь еще: Boundary Extractor может быть проще в использовании, чем Regular Expression Extractor

В дальнейшем включите (хотя бы частичный) ответ в свой вопрос и укажите, какое значение выхочу извлечь, чтобы мы могли придумать наиболее эффективный подход.

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