Приложение использует SSO-вход для доступа.
Если SSO-вход не работает, браузер запрашивает учетные данные для входа в приложение.
Для нагрузочного тестирования такого приложения с помощью инструмента K6 я пытаюсь понять, как это может быть написано в сценарии для успешного входа в систему.
Я пытался передать учетные данные как часть URL-адреса, как показано в приведенном ниже коде, и пытался использовать аутентификацию NTLM.
Ниже приведен мой скрипт;
const username = "global\\user001",
password = "Password";
let pURL="abc.xyz.dev";
let req, res;
req = [{
"method": "get",
"url": `https://${username}:${password}@${pURL}/pqrs`,
"params": {
"headers": {
"Host": ""+pURL+"",
"Connection": "keep-alive",
"Pragma": "no-cache",
"Cache-Control": "no-cache",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36",
"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8"
},
"auth":"ntlm",
}
}];
res = http.batch(req);
ОжидаемыйКод состояния HTTP для ответа - 301, но в настоящее время я получаю 401: Неаутентифицировано.
Однако, если URL в приведенном выше запросе изменяется на:
"url": `https://${username}:${password}@${pURL}/pqrs`,
Я получаю ошибку (ниже), поскольку он не может принять имя пользователя с другим доменом, упомянутым с ним.
ERRO[0002] GoError: parse https://global\user001:Password@abc.xyz.dev/pqrs: net/url: invalid userinfo
Что я делаю не так и как я могу это исправить?