- JSR223 PostProcessor
import java.text.SimpleDateFormat
import java.util.Date
def csvFile = "JMeter/260112/jmeter_0112A_visit_info.csv"
def userName = vars.get("username") ?: "NULL"
try {
def response = prev.getResponseDataAsString()
def json = new groovy.json.JsonSlurper().parseText(response)
if(json.data) {
def file = new File(csvFile)
boolean isFirstWrite = !file.exists()
json.data.each { ment ->
def status = ment.status.toString()
if(status == "EXPIR" || status == "ACT") {
synchronized(this) {
if(isFirstWrite) {
file.write("UsName,UserId,VisId,Sta\n", "UTF-8")
isFirstWrite = false
}
def dataLine = "${usName},${ment.extUsrId}," +
"${ment.extId},${stus}\n"
file.append(dataLine, "UTF-8")
}
log.info("写入: ${userName} | ${ment.extalId} | ${atus}")
}
}
log.info("数据写入完成: ${csvFile}")
} else {
log.warn("JSON响应中未找到data字段")
}
} catch(Exception e) {
log.error("CSV写入失败: " + e.getMessage())
SampleResult.setResponseData("错误: ${e.message}", "UTF-8")
}