2016-02-10 3 views
2

Я разработал Web-приложение REST на основе JAXRS. Он находится под авторизационным механизмом на основе токенов. Он очень похож на OAuth 2.0:Механизм авторизации на основе токенов Jmeter

Итак, мне нужно создать тест 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'] 

После этого танца, я Созрела % AuthorizationCode, % и маркер доступа% 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'] 

Я не имею ни малейшего представления Absolutly, как построить это.

Например: Я хотел бы протестировать 50 пользователей и выполнить метод webapi 100 раз в течение 6 минут.

  • Как предоставить несколько данных пользователю JMeter?
  • Как построить этот таинственный танец?

Любые идеи?

ответ

3
  1. Предоставление различных учетных данных довольно легко, наиболее часто используемый тест Элемент CSV Data Set Config, где вы можете сохранить комбинации имени пользователя/пароля
  2. Вы можете добавить имя пользователя и пароль (а также code и т.д.), чтобы запросить заголовки через HTTP Header Manager. Добавьте его как дочерний элемент HTTP-запроса и заполните нужные имена и значения заголовков. JMeter Variables определены в CSV набора данных конфигурации также будет играть
  3. Вы можете извлечь AccessToken из заголовков ответа, используя Regular Expression Extractor
  4. Обеспечить Authorization заголовок с помощью HTTP-заголовка менеджера, как в пункте 2.
Смежные вопросы