Я делаю анализ данных по адресным данным. Данные для анализа должны быть вызваны вызовом мыльного веб-сервиса, который возвращает ответ мыла. В каждом ответе мыла меня интересует только конкретное поле, то есть «matchType» в примере, показанном ниже. «matchType» может иметь несколько вхождений максимум до 20. У меня есть 500 адресов, для которых я получаю 500 ответов, подобных приведенному ниже. Я использую JMeter для запуска 500 мыльных запросов в веб-службу.JMeter реакция на мыло - анализ данных
Проблема
How I can create the final results in CSV file containing 500 records that looks like
Addressline1, MatchType1, MatchType2 ... MatchType20
Для выше полого addressLine1 получить из запроса SOAP MatchType получить от ответа SOAP
Если нет MatchTypeN она оставляет пустой.
например. CSV-файл выглядит так:
10 Main Street, building, street,,,,,, ..., (до 20 MatchType) Park Avenue, building, building, building, ..., (upto 20th MatchType)
SOAP Request
<soapenv:Envelope xmlns:sch="http://website.com/WebService/Schema/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<sch:AddressRequest>
<AddressRequestDetails>
<lookupCriteria>
<houseName/>
<addressLine1>10 Main Street</addressLine1>
<addressLine2></addressLine2>
<addressLine3></addressLine3>
<region/>
<county>New York</county>
<country/>
</lookupCriteria>
</AddressRequestDetails>
</sch:AddressRequest>
</soapenv:Body>
</soapenv:Envelope>
SOAP Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:AddressResponse xmlns:ns2="http://website.com/WebService/Schema/">
<AddressResponseDetails>
<location>
<matchType>building</matchType>
<locationCoordinates>
<xCoordinate>111111.111</xCoordinate>
<yCoordinate>222222.222</yCoordinate>
<coordinateSystem>ABC</coordinateSystem>
</locationCoordinates>
</location>
<location>
<matchType>street</matchType>
<locationCoordinates>
<xCoordinate>333333.333</xCoordinate>
<yCoordinate>444444.444</yCoordinate>
<coordinateSystem>DEF</coordinateSystem>
</locationCoordinates>
</location>
</AddressResponseDetails>
</ns2:AddressResponse>
</soap:Body>
vars.get ("matchType_matchNr"), похоже, не работает. Мне пришлось создать 20 экстракторов, таких как –
...продолжая предыдущий комментарий // AddressResponseDetails/место [1]/MatchType // AddressResponseDetails/место [2]/MatchType // AddressResponseDetails/место [3]/MatchType и так далее. –
Если вы удалите индекс '[1]' '[2]' и т. Д. Из своего XPath, вы сможете использовать одно выражение для извлечения всех типов соответствия, как в моем примере. Вы можете использовать команду Debug Sampler и View List Tree для просмотра совпадений. Кроме того, JMeter 2.11 предоставляет XPath Tester в виде дерева результатов. –