2016-10-14 4 views
0

Я новый пользователь с SoapUI, но я чувствую, что этот процесс должен быть легким. Я прочитал всю документацию, которую я могу найти по этому вопросу, но я не могу обойти это.SoapUI Automated OAuth2 проблема поиска токена

Проблема: Я работаю над тестированием нагрузки на сайт для клиента, это потребует создания 1000 учетных записей и навигации по процессу регистрации курса. Мне удалось создать тестовые примеры, которые проходят процесс создания для нового пользователя, при создании нового пользователя сайт автоматически выполняет процесс OAuth2 и перенаправляет пользователя в свой профиль. Способ, которым этот процесс протекает, - это создание учетной записи> учетные данные, отправленные в URI маркера в запросе> RESPONSE, отбрасывает токен доступа> токен используется для захвата учетных данных и перенаправления пользователя в профиль.

Я успешно извлек токен в качестве переменной и сохранил его в локальном тестовом примере, однако это то место, где я застреваю. Единственный способ получить профиль пользователя - это вручную вставить токен доступа в поле токена доступа OAuth2 в SoapUI, а затем запустить тестовый пример. Поскольку я должен сделать это с 1000 учетными записями, это, очевидно, не эффективный метод.

Я попытался захватить ElementID на странице создания страницы входа/пользователя с помощью автоматического редактора сценариев доступа к токенам, но все эти поля расположены в отдельном сценарии .js, поэтому ElementID не существует в SoapUI ,

Я собираюсь сделать это неправильно, или может быть что-то это может быть сделано? Я не ищу, чтобы кто-нибудь написал мой код, просто объясните этот процесс, если я неправильно его понимаю.

+0

Вы видели эту документацию? https://www.soapui.org/oauth2/automating-access-token-retrieval.html – Rao

+0

У меня есть Рао. Проблема, с которой я сталкиваюсь, состоит в том, что элементы, которые я ищу, находятся в отдельном сценарии .js, который не отображается в RESPONSE в SoapUI. – Andrew

+0

@Andrew Я никогда не использовал это в * SOAPUI *, поэтому я могу ошибаться, но вот это мое предположение: несмотря на то, что ваши элементы в разных '.js' могут быть доступны, вы можете получить доступ к объекты с момента загрузки в глобальном контексте? Или они являются частными членами другого файла .js'? Я не знаю, как * SOAPUI * предоставить js-контекст для этого, поэтому, возможно, это даже не возможно. – albciff

ответ

0

Мне удалось обойти метод аутентификации OAuth2, создав Groovy Script, который захватывает заголовок «Set-Cookie» из вызова токена, а затем добавляет куки к каждому вызову.

Этот метод, похоже, решил проблему!

import com.eviware.soapui.support.types.StringToStringMap 

def getcookie = context.testCase.testSteps["Token"].testRequest.response.responseHeaders["Set-Cookie"][0] 

def headers = new StringToStringMap() 
headers.put('Cookie', getcookie) 

testRunner.testCase.getTestStepByName('Get User').testRequest.setRequestHeaders(headers)