2017-10-25 1 views
0

ELFileBody를 사용하고 txt 파일에 변수를 넣으 려합니다. 이 파일에는 SOAP 요청이 들어 있습니다.Gatling 시나리오에서 본문 파일에 사용자 색인을 삽입하십시오.

요청 (시나리오)은 한 번만 실행되지만 사용자 수만큼 실행됩니다. 파일 변수 인 사용자 색인 (실행중인 위치)에 넣으려고합니다. 이 같은

뭔가 :

여기
.set("myVar", userIndex) //myVar is the variable declared in the body file (${myVar}) 

내 코드는 지금이다 :

val users = 1500 
    val baseUrl = "http://127.0.0.1:7001" 

    val httpProtocol = http 
    .baseURL(baseUrl) 
    .inferHtmlResources() 
    .acceptEncodingHeader("gzip,deflate") 
    .contentTypeHeader("text/xml;charset=UTF-8") 
    .userAgentHeader("Apache-HttpClient/4.1.1 (java 1.5)") 

    val headers_0 = Map("SOAPAction" -> """""""") 

    val uri1 = "http://127.0.0.1:7001/myProject-ws/myProjectWebService" 

    val scn = scenario("Scenario1Name") 
    .exec(http("scn.Scenario1Name") 
     .post("/myProject-ws/myProjectWebService") 
     .headers(headers_0) 
     .body(RawFileBody("File_0000_request.txt"))) 

    setUp(scn.inject(atOnceUsers(users))).protocols(httpProtocol) 

어떻게 요청 본문에 myVar에 변수로 사용자의 인덱스를 주입 할 수 있습니까?

답변

0

더 많은 읽을 수 있습니다 .feed(customSeparatorFeeder)

를 추가 할 필요가 그리고 내 시나리오에서 호출 .

def getDynamicId(): String = { 
    val formatter = new SimpleDateFormat("yyyyMMddHHmmss.SSS") 
    val result = "PM".concat(formatter.format(Calendar.getInstance().getTime())) 
    result 
} 

//[...] 

scenario("ScenarioName") 
    .exec(session => session.set("myVar", getDynamicId)) 

// [...] 

.body(ElFileBody("BodyFile_0000_request.txt"))) 

그리고 몸 파일

, 나는 몸 파일의 변수 ${myVar}

0

예 : val customSeparatorFeeder = separatedValues(pathToFile, separator).queue circular

scenario("Scenario1Name") 후 내가 동적 참조 (ID)를 반환하는 함수를 사용, 당신은 마침내 여기에 대해 https://gatling.io/docs/2.3/session/feeder/

+0

내가이없는 구분이있다. SOAP 요청 (xml)이있는 텍스트 파일 (txt)입니다. 난 그냥 변수를 초기화하고 사용자가 요청을 보내는 동안 그것을 증가 싶어요. 그런 다음 파일의 변수를이 색인으로 바꿉니다. – slim

+0

본문이 한 줄로 된 경우 구분 기호는 다음 줄 일 수 있습니다. –

+0

미안 해요 ... "한 줄 구분 기호는 다음 줄이 될 수 있습니다". 본문 파일에 $ {myVar} 같은 변수가 있습니다. 그리고 그것은 XML 노드의 속성입니다. – slim

관련 문제