在我的webservices测试计划中,我发送了使用用户名登录的SOAP请求,并在它发回的响应数据中发送:
- 用户名
- 会话ID(唯一值示例:12234546)
我想将该用户名和会话ID保存到CSV文件中。
答案 0 :(得分:1)
您应该使用XPath Extractor来提取变量中的每一个。
您可以在View Results Tree中使用XPathTest来测试响应中的XPath表达式。
然后,您可以通过在user.properties文件中设置来序列化CSV中的变量:
sample_variables =用户名,会话ID
答案 1 :(得分:0)
你可以用Beanshell做到这一点。类似的东西:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
Sting username = vars.get("username");
String RegexMethod(String user) {
String regResult = null;
StringBuilder regex = new StringBuilder(",username:\");
regex.append(user).append(",password:\"(.+?)\".");
try {
Pattern pat = Pattern.compile(regex);
Matcher mac = pat.matcher(text);
mac.find();
regResult = mac.group(1);
} catch (Exception e) {
e.printStackTrace();
}
return regResult;
}
String PATH = "/home/username/jmeterFiles/userData.csv";
try {
FileWriter fileWriter = new FileWriter(PATH, true);
fileWriter.append(username);
fileWriter.append(",");
fileWriter.append(RegexMethod(username));
fileWriter.append("\n");
fileWriter.flush();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
您可以将其放在Beanshell Post-processor中,它会将您想要的数据写入文件。它可能需要一些调整,但你应该得到点。你只需要得到你的正则表达式......