Механизм авторизации на основе токенов Jmeter
Я разработал REST WebAPI на основе JAXRS. Он находится под механизмом авторизации на основе токенов. Это очень похоже на OAuth 2.0:
Итак, мне нужно создать тест JMeter, чтобы проверить мой webapi.
1. Get Authorization Code (on http://www.host.com/authz)
Request:
[ Header: 'response_type', Value: 'code']
[ Header: 'client_id', Value: 'FIXED ID STRING']
[ Header: 'username', Value: '$USER provided from a data source' ]
[ Header: 'password', Value: '$PASSWORD provided from a data source']
Response:
[ Header: 'code', Value: '%AuthorizationCode' ]
[ Header: 'expires_in', Value: '100'(seconds)]
2. Get Access Token
Request:
[Header: 'grant_type', Value: 'authorization_code']
[Header: 'code', Value: '%AuthorizationCode provided on the last request']
[Header: 'client_id', Value: 'FIXED ID STRING']
Response:
[Header: 'access_token', Value: '%AccessToken']
[Header: 'expires_in', Value: '500'(seconds)]
[Header: 'refresh_token', value: '%RefrestToken']
После этого танца я получил код авторизации %, %AccessToken и a %RefreshToken.
С этого момента я могу получить доступ к webapi, используя эти коды.
ForEach user in a datasource:
Loop Forever:
Send Http request each X seconds (on http://www.host.com/webapi)
[Header: 'Authorization', Value: 'OAuth + %AccessToken']
Я абсолютно понятия не имею, как это построить.
Например: я хотел бы протестировать с 50 пользователями и выполнить метод webapi 100 раз в течение 6 минут.
- Как предоставить JMeter несколько пользовательских данных?
- Как построить этот протокол OAuth-как танцевать?
Есть идеи?
1 ответ:
- предоставление различных учетных данных довольно легко, наиболее часто используемый элемент теста-это CSV Data Set Config , где вы можете хранить комбинации имени пользователя и пароля
- Вы можете добавить имя пользователя и пароль (а также
codeи т. д.) для запроса заголовков через HTTP Header Manager. Добавьте его в качестве дочернего элемента HTTP-запроса и заполните требуемыми именами и значениями заголовков. переменные JMeter, определенные в конфигурации набора данных CSV, также будут воспроизводиться- Вы можете извлечь
AccessTokenиз заголовки ответов с использованием экстрактора регулярных выражений- предоставьте Заголовок
Authorizationчерез Диспетчер заголовков HTTP, как в пункте 2.
Comments