2016-03-02 2 views
1

Мне нужно знать, как извлечь значение из ответа в jmeter и экспортировать его в файл csv.Извлечение значения из ответа jmeter и его экспорт в файл csv

Пусть мой ответ таков:

<ns3:UpdateConsumerResponse 
     xmlns:ns3="http://Pandora.NextGenCRM.Integrations.UpdateConsumerResponse" 
     xmlns:ns0="http://tempuri.org/" 
     xmlns:ns1="http://schemas.datacontract.org/2004/07/Pandora.Xrm.DataModel.Request" 
     xmlns:ns2="http://schemas.datacontract.org/2004/07/Pandora.Xrm.DataModel.Response"> 
    <MasterConsumerID> 
     CRM-CONID-000000519344 
    </MasterConsumerID> 
</ns3:UpdateConsumerResponse> 

Мне нужно извлечь потребительскую ценность мастер и экспортировать его в файл CSV.

ответ

3

Прежде всего, вы должны добавить регулярное выражение экстрактор как ребенок этого запроса , а затем уже ниже входов

1.Reference Имя: MasterConsumer (или любой другой переменной)

2. Регулярное выражение: abc (. *?) D (предположим, что ваше значение похоже на abc CRM-CONID-000000519344 d , тогда при условии, что reg ex будет работать, теперь замените abc левой границей и d с правой границей, которую вы можете получить от вашего ответа. вам нужна дополнительная помощь, тогда , пожалуйста, предоставьте это v ALUE наряду с большим количеством текста с обеих сторон)

3.Template: $ 1 $

4.Match No: 1

5.Default Значение: нуль

теперь у вас есть значение хранится в переменной MasterConsumer (применяйте пробный отладчик для проверки). Просто вам нужно написать в CSV-файл, поэтому добавьте Beanshell постпроцессор как ребенок того же запроса и писать ниже код для печати данных в CSV файл

MasterConsumer =vars.get("MasterConsumer"); 
f = new FileOutputStream("Path"-Output.csv",true); 
p=new PrintStream(f); 
this.interpreter.setOut(p); 
p.println(MasterConsumer); 
f.close(); 
+0

Благодарность за Answer.i попытался сделать это. Но я мог видеть только «нуль» в файле csv. Главный потребитель не ge tting извлечен должным образом. – priya

+0

в отладочном сэмплере переменная masterconsumer имеет значение как null – priya

+0

, это означает, что обычный exp не работает должным образом. поэтому, пожалуйста, предоставьте мне ответ, содержащий значение, которое нужно извлечь, и несколько слов с обоих концов.предоставить boundaires –

2
  1. Добавить XPath Extractor как ребенок запроса, который возвращает выше значения
  2. настроить его следующим образом:

    • Проверить Use Namespaces окно
    • Имя ссылки: ничего значимого, т.е. ID
    • XPath запрос: /ns3:UpdateConsumerResponse/MasterConsumerID/text()
  3. Добавить Beanshell PostProcessorпосле в XPath Extractor
  4. Добавьте следующий код в "Сценарий" область постпроцессор в:

    import org.apache.commons.io.FileUtils; 
    
    String file = "path_to_your_file.csv"; 
    String ID = vars.get("ID"); 
    String newline = System.getProperty("line.separator"); 
    
    FileUtils.writeStringToFile(new File(file),ID + newline, true); 
    
Смежные вопросы