0

我正在努力创建一个可以从 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}"}

请帮助我找出我错过了什么以及在哪里。谢谢!

4

1 回答 1

1

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

于 2014-10-31T09:11:35.467 回答