Написание ответа веб-службы в Excel

#jmeter #jmeter-4.0

#jmeter #jmeter-4.0

Вопрос:

Я пытаюсь написать ответ restful service response в Excel.

В приведенном ниже примере, если ответ моего тестового примера меньше единицы, тогда мне нужно записать в csv или Excel для sheet1 (в Excel) TC01, sampleResponse

 <user-batch-result xmlns="http://www.xxxxxx.com/api//02" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<records-succeeded>1</records-succeeded>
<records-failed>0</records-failed>
<UsersDetails>
    <UserInfo>
        <EmployeeID>xxxxx</EmployeeID>
        <FeedRecordNumber>0</FeedRecordNumber>
        <Status>SUCCESS</Status>
    </UserInfo>
</UsersDetails>
  

Ответ №1:

Вы можете сделать что-то вроде:

  1. Скачать tika-app.jar и поместите его куда-нибудь в JMeter Classpath (т. Е. в папку «lib» вашей установки JMeter). Для загрузки файла .jar потребуется перезапуск JMeter.
  2. Добавьте постпроцессор JSR223 в качестве дочернего элемента запроса, который возвращает приведенный выше ответ
  3. Поместите следующий код в область «Скрипт»:

     def wb = new org.apache.poi.hssf.usermodel.HSSFWorkbook()
    def sheet1 = wb.createSheet("sheet1")
    def row = sheet1.createRow(0)
    def A1 = row.createCell(0, org.apache.poi.ss.usermodel.CellType.STRING)
    A1.setCellValue(prev.getResponseDataAsString())
    
    wb.write(new File('myFile.xlsx'))
      
  4. Запустите свой тест.
  5. Если все идет хорошо, вы должны увидеть myFile.xlsx наличие Sheet1 и ответ вашей веб-службы в качестве самого первого значения ячейки. Не стесняйтесь вносить необходимые изменения в этот код в соответствии с вашим вариантом использования.

Ссылки: