2014-10-10 2 views
0

Я новичок в Gatling. Я пытаюсь отправить сообщение POST в HTTP API с помощью Gatling. Я попробовал следующее:Задание тела запроса, выполняющего Gatling POST

package app.basic 
import io.gatling.core.Predef._ 
import io.gatling.http.Predef._ 
import scala.concurrent.duration._ 

class basicPost extends Simulation { 
    val headers_10 = Map("Content-Type" -> """application/json""") 
    object Post { 
     // repeat is a loop resolved at RUNTIME 
     val post = repeat(50) { 
     exec(http("Post Data") 
      .post("/data") 
      .queryParam("""size""", "10")) 
      .headers(headers_10) 
      .body("""{"id1":"0000000000"}""") 
      .pause(1) 
    } 
    } 
    val httpConf = http.baseURL("http://amazonperf-env.elasticbeanstalk.com") 
    val users = scenario("Users").exec(Post.post) 
    setUp(
    users.inject(rampUsers(1000) over (10 seconds)) 
).protocols(httpConf) 
} 

Однако, я получаю эту ошибку при компиляции: значение тело не является член io.gatling.core.structure.ChainBuilder возможной причины: возможно, точка с запятой отсутствует, прежде чем `тело значения «?

Как указать тело сообщения, которое я хочу отправить?

ответ

2

Это старый синтаксис Gatling 1 (Gatling 1 устарел и больше не поддерживается).

Пожалуйста, прочтите documentation.

В вас случае, вы получите что-то вроде:

.body(StringBody("""{"id1":"0000000000"}""")) 
0

Кроме того, это выглядит, как вы закрыли ваш exec блог немного слишком быстро, сразу после queryParam("""size""", "10").

Закрывающая скобка должна после .body(...), а не после .queryParam(...).

0

Вы можете использовать метод formParam (ключ: выражение [String], значение: выражение [Any]), чтобы опубликовать сообщение API.

Смежные вопросы