2014-10-30 56 views
0

我正在努力创建一个可以从csv获取数据的gatling测试。我的测试是针对一个问题的调查,用户选择一个选项作为答案。它说测试通过了,但我没有看到调查中选择的选项(它没有csv正常工作)。下面是我的示例代码:gatling和csv(从csv提取数据)

val uri = """http://localhost:8090/test"""  
val onlyone = csv("onlyone.csv").queue  
    val scn = scenario("onlyone")  
     .exec(http("request_0") 
      .get("""/test/login""") 
      .headers(headers_0)) 
     .pause(13) 
     .feed(onlyone) 
     .exec(http("request_1") 
      .post("""/test/login-check""") 
      .headers(headers_0) 
      .formParam("""j_username""", """${username}""") 
      .formParam("""j_password""", """${password}""")) 
     .pause(4) 
     .exec(http("request_36") 
      .get("""/test/land/survey/view/${sid}""") 
      .headers(headers_0)) 
     .pause(3) 
     .exec(
      http("request_101") 
      .post(uri + """/land/survey/showQuestion?mapping=app""") 
      .headers(headers_2) 
      .body(RawFileBody("onlyone_request_0101.txt"))) 
     .pause(3) 
      .exec(http("request_133") 
      .post(uri + """/land/survey/saveQuestion?mapping=app""") 
      .headers(headers_2) 
      .body(RawFileBody("onlyone_request_0133.txt"))) 
     .pause(4) 

    setUp(scn.inject(atOnceUsers(1))).protocols(httpProtocol) 
} 

我的CSV文件

username,password,sid,qid,q1,a1 
user1,testpwd1,1234567,2345678,3456789,4567890 

而这些请求机构的内容

request_101: {"questionText":"only one","id":"${q1}"} 
request_133: {"questionText":"only one","id":"${q1}","selectedOption":"${a1}"} 

请帮我找出我错过了什么和哪里。谢谢!

+0

此外请求正文显示为txt文件,这是否也是一个原因? – Dee 2014-10-30 21:54:52

回答

1

您使用RawFileBody,它具有名称状态,将文件视为原始内容而不是模板。 请阅读documentation并使用适合的Body类型,即ELFileBody。

+0

谢谢。我也注意到,当我使用[请求主体为JSON]时,问题已解决(http://gatling.io/docs/2.0.0-RC2/http/http_request.html?highlight=request%20bodies#request-body)例。 – Dee 2014-10-31 14:50:01