2017-12-28 7 views
0

여기에 직면 중 하나의 문제가 있습니다. 난 CSV 파일의 데이터를 읽고 싶어 하나 하나는 변수에 넣고 그 변수는 내가 사용하고이csv 파일 데이터를 하나 하나 읽어서 변수에 넣는 방법 Groovy를 사용하여

23333 
23334 
23335 
22336 
23336 

같은 값으로 구성된 ids.csv 파일을 가정 해 봅시다 다음 HTTP 요청을 할당 할 Jsr223 전 처리기 코드 :

def csvfile = new File('D:/datas/id/ids.csv') 
def lines =csvfile.readLines() 
lines.each { String line -> 
    vars.put('Id_value', line.toString()) 
} 

간단한 코드로 이것을 수행하는 방법은 무엇입니까?

+0

당신은 각각의 값을 무시할 수 있습니다반복, 1 변수에서 모든 값을 어떻게 얻을 것인가? – user7294900

+0

여기 Id_values ​​다음 번 HTTP 요청을 보내려고하므로 그 시간이되면 비어있게됩니다. 다음 반복이 걸립니다. – Jhon

답변

0

tutorial에 JMeter를 CSV 데이터 상이한 접미사 변수를 추가 세트, 예를 에뮬레이트 할 수있다 : 다음

String Filename = vars.get("GETfile"); 
String fileContents = new File(Filename).getText('UTF-8'); 
def lines = 0 ; 
    fileContents.eachLine { line -> 
     lines++; 
     vars.put("CSVLine_" + lines, line); 
    } 
vars.put("GETfileLength",lines.toString()) ; 

루프 foreach는 제어기를 사용하여 변수 :

+0

제가 이것을 시도하겠습니다 ..... – Jhon

1

필요한 작업을 JMeter Variables 참조 이름에 카운터 형식을 추가하면 현재 코드는 Id_value 변수의 값이 23336이고 하나만 생성됩니다. 처럼 수정해야합니다

def csvfile = new File('D:/datas/id/ids.csv') 
def lines =csvfile.readLines() 
lines.eachWithIndex {line, idx -> 
    vars.put('Id_value_' + idx, line) 
} 

그리고 당신은 얻을 것이다 :

Id_value_0=23333 
Id_value_1=23334 
Id_value_2=23335 
Id_value_3=22336 
Id_value_4=23336 

더 많은 정보 :

+0

그냥 위의 코드를 붙여 넣으면 변수가 내부로 전달되지 않습니다. Id_value_ 내부의 값을 가져 오지 않고 요청하지만 $ {Id_value_} 만 가져옵니다. -HTTP 요청 --jsr223 선처리 프로세서 – Jhon