My question is pretty much this: https://github.com/loadimpact/k6/issues/718
The main differences are that I am trying to load test a Microsoft Bot Framework-based chatbot and that replies with 200 when it has processed the incoming message, rather than immediately after receiving it, but conceptually it’s the exact same thing.
From the point of view of the load test, I am impersonating a user talking to the bot. Alongside testig the performance of the bot (how fast it replies), I also want to make sure that it replies with the correct answer for a given question under heavy load. To do this, the flow looks like this:
I POST a request to the bot’s endpoint, passing the webhook URL of my local webserver (running on the same machine I run the load tests from) in the request’s body alongside the user’s message.
The bot processes the incoming message, creates one or more replies, then sends one or more POST requests, each containing a separate reply, to the webhook URL received in step 1.
The bot responds to the POST request received in step 1 with 200, signaling that it has finished processing the user’s message.
So as part of the load tests, I have to verify not just that the bot replies with 200 at the end, when it finished processing the incoming message and replied to it, but I also want to validate the content of it’s replies (what it sends back to my local webserver’s endpoint as POST requests before replying with 200 to my own request) to see if it answered correctly.
How can I load test such a scenario with k6?