2016-08-03 3 views
0

Мне нужно получить результаты проверки нагрузки: я отправляю информацию о сервере (сообщение) обо мне (идентификатор пользователя и название игры), а сервер назначает мне дескриптор игрока и идентификатор сеанса. Я хочу получить их обратно, но проблема в том, что я могу найти их только в URL-адресе (они выглядят так: url.com/#playerhandle=number & sessionid = number) и, похоже, не могут получить их с помощью артиллерии.получение результатов тестовой загрузки в артиллерии

{ 
"config": { 
    "target": "sever/game", 
    "phases": [ 
     {"duration": 10, "arrivalRate": 200} 
    ] 
}, 
"scenarios": [ 
    { 
     "name": "test1", 
     "flow": [ 
      {"post": { 
       "url": "/initialize", 
       "json": {"userId": "{{ Date.now() }}", "gameName": "game_Blood"} 
      } 
     }, 
      {"get": { 
       "url": "/initialize", 
       "body": "playerHandle={{ ph }}&sessionId={{ sid }}" 
      }} 
     ] 
    } 
] 

}

Это то, что я получил до сих пор. Очевидно, это не работает. Любой совет?

ответ

2

Там есть несколько проблем с сценарий, который выскочит сразу:

  1. Date.now() используется в шаблоне - это не будет работать, как произвольные JS выражения не поддерживаются. Значение для userId может быть считано из внешнего CSV-файла, см. Документы на reading variables from a file.
  2. Если идентификатор сеанса и дескриптор игрока доступны только в URL-адресе (перенаправляет ли сервер на этот URL-адрес после запроса POST?), Их можно извлечь с помощью - response.headers.location будет содержать этот URL-адрес. Как только нужные значения будут извлечены, их можно будет сделать доступными для последующих запросов, вставив новые значения в context.vars.
Смежные вопросы