簡體   English   中英

如何在JMeter中保存從響應到CSV文件的XML列表

[英]how to save a xml list from response to a csv file in JMeter

我的測試之一使用循環控制器,CSV數據集配置和If控制器來遍歷csv列表,以使用csv文件中定義的多個參數來發出一個請求。

我想更改此測試用例,以使用從xml格式的GET響應中獲取的參數列表。 例如,使用以下xml列表: http : //www.w3schools.com/xml/cd_catalog.xml現在我要遍歷所有<TITLE>值。

我嘗試使用“將響應保存到文件”偵聽器保存響應,然后使用BeanShell偵聽器讀取文件並將其轉換為僅包含<TITLE>值的csv列表。 但我不確定如何在BeanShell偵聽器中進行此轉換。

import org.apache.jmeter.services.FileServer; 
import org.apache.commons.io.FileUtils;

File xmlFile = new File(FileServer.getFileServer().getBaseDir()+"/resources/data/csv/response1.xml", "UTF-8");
String fileData = FileUtils.readFileToString(xmlFile);
fileData = fileData.replaceAll("<?xml version="1.0" encoding="UTF-8"?>", "");
fileData = fileData.replaceAll("<CATALOG>", "");
//...

FileUtils.writeStringToFile(xmlFile, fileData);

/*
f = new FileOutputStream(FileServer.getFileServer().getBaseDir()+"/resources/data/csv/parameterlist.csv", true); 
p = new PrintStream(f); 
p.println(fileData);
p.close();
f.close();
*/

必須在所有<TITLE>元素上使用正則表達式,xpath或XSL轉換的解決方案,還是我沒有想到的更簡單的方法?

找到了一種適用於我的目的的更簡便的方法:

  • 獲取請求以獲取xml列表。
    • 添加XPath提取器
    • 參考名稱:“ titles”
    • XPAth查詢:“ // title”
  • 每個控制器
    • 輸入變量前綴:“ titles”
    • 輸出變量名稱:“ title”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM