是的,有可能,对于 POST 请求,您应该使用请求样式的弹药文件,请参阅http://yandextank.readthedocs.org/en/latest/tutorial.html#request-style
您可以将弹药文件指定为命令行参数,或将其放在 [phantom] 部分的 tank .ini 文件中。
请记住,使用幻像作为负载生成器是不可能执行基于场景的测试的,因此您应该提前为请求生成所有必要的数据。Yandex-tank 将根据所需的负载方案发送它。
我不确定 CSRF 保护在您的情况下是如何工作的,如果它不允许对多个请求重复使用 session 和 csrftoken (并且此参数对于注册请求是强制性的),您需要以某种方式获取有效的 Cookie每个生成弹药的请求。在这种情况下,我建议您切换到一些基于场景的工具,即 jmeter。您也可以使用 jmeter 作为 yandex-tank 的负载生成器,请参阅http://yandextank.readthedocs.org/en/latest/configuration.html#jmeter
如果您可以重复使用相同的 Cookie 进行多次注册,弹药文件将是这样的:
649 tag1
POST /registration HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 30
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://localhost:8080/registration
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,ru;q=0.6
Cookie: csrftoken=XJ3oheJb0SndHfNAH2lSV2AtKNxxuXdv; JSESSIONID=igq9ejgl10jirr4t73mpjblp
login=abracadbra&password=brar
646 tag2
POST /registration HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 27
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://localhost:8080/registration
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,ru;q=0.6
Cookie: csrftoken=XJ3oheJb0SndHfNAH2lSV2AtKNxxuXdv; JSESSIONID=igq9ejgl10jirr4t73mpjblp
login=sample2&password=brar
...