У кого-нибудь есть успешный сценарий нагрузочного тестирования WCAT с использованием аутентификации NTLM?
В документации приведен краткий пример, который выглядит так, как будто в любом случае отсутствует пара переходов. Когда я настраиваю сценарий для доступа к удаленному серверу и аналогично формирую схему связи NTLM, я получаю следующий вывод:
...
Все клиенты подключены, начало теста.
Получен неверный код.
Ошибка при принятии удаленного соединения.
сообщение: Обнаружена ошибка запуска, прекращение работы клиентов...
сообщение: Завершение всех экземпляров wcclient...
Присоединенный к:
...
Мой сценарий работает очень хорошо, когда я закомментирую 3 линии NTLM. Это не удается, когда они не комментируются. Клиент WCAT может проанализировать сценарий, но я еще не изучил механизм синтаксического анализа, чтобы проверить, правильно ли он анализируется.
(Я уже исправил ошибку, которая препятствует подключению к нескольким удаленным клиентам, но может быть и больше.)
Вот соответствующая часть сценария:
request
{
url = "http://weatherforecast-d/";
statuscode = 401;
}
request
{
url = "http://weatherforecast-d/";
// problems begin here...
authentication = "ntlm";
username = "my username";
password = "my password";
statuscode = 200;
}
Если у кого-нибудь есть работающий, функциональный пример сценария WCAT NTLM, я был бы очень признателен. Спасибо.
Я очистил логирование в wcat.wsf и провел множество сравнений. Должен быть лучший способ сделать это, но я этого не знаю.
- "аутентификация" разбирает, а другие имена не
- "username" и "password" сами по себе не приводят к фатальным ошибкам
- Если я закомментирую единственную строку parm "аутентификация", тест запустится
- Если я раскомментирую ту же строку, это ошибки
- Вывод скрипта остается неизменным вплоть до сбоя
- basic или ntlm приводят к той же ошибке, что и любой мусорный текст
Проблема, кажется, скрыта глубоко в wcclient. Я думаю, мне придется начать искать другой продукт.
2 ответа
Ошибка в документации:
authentication = "ntlm";
Должно быть:
authentication = NTLM;
Параметр не является dynstring, а KEYWORD. Кавычки выбрасывают парсер из аромата.
Я отмечу это как ответ, так как это так, но у меня все еще есть проблема. В настоящее время я не могу найти точно правильный рецепт для обучения WCAT распознаванию ответов 401 и 200 с сервера. Он распознает некоторые из 401-х и некоторые из 200-х, но я не могу объединить правильное количество запросов в любую правильную комбинацию, чтобы заставить его распознавать все.
Я также получил ту же ошибку, когда я поставил порт за пределами запроса к транзакции. Ошибка исчезла, когда порт стал частью запроса.