Есть ли способ настроить базовую аутентификацию HTTP для всех запросов в проекте SoapUI?
Я знаю, что это можно сделать для всех запросов в TestSuite, но я не могу понять, как это сделать для всех запросов во всех TestSuite.
Есть ли способ настроить базовую аутентификацию HTTP для всех запросов в проекте SoapUI?
Я знаю, что это можно сделать для всех запросов в TestSuite, но я не могу понять, как это сделать для всех запросов во всех TestSuite.
В SOAPUI 5.0 или выше вы можете установить его в basicHttpBinding вашей службы из окна навигации слева (я думаю, что это интерфейс) (это родитель всех ваших методов и прямой дочерний элемент проекта).
Щелкните правой кнопкой мыши имя интерфейса и выберите «Показать средство просмотра интерфейса». Затем перейдите на вкладку «Конечные точки службы». Поместите туда данные для аутентификации. Теперь вам не нужно указывать аутентификацию для каждого метода в вашей службе.
После ввода учетных данных вам необходимо назначить свои запросы. (Кнопка Назначить под вкладками)
ClientProtocolException, если помещаю здесь информацию об аутентификации, в то время как та же аутентификация работает нормально, если я добавляю ее к каждому сообщению запроса отдельно.
- person dbreaux; 01.12.2015
Есть несколько способов сделать это:
Установите учетные данные на уровне конечной точки. Конечно, это затем используется для всех шагов тестирования, где используется эта конечная точка.
Установите учетные данные на уровне Test Case (щелкните значок ключа). Учетные данные распространяются на каждый шаг теста.
Используйте пользовательские свойства проекта для хранения учетных данных, затем используйте расширение свойства на вкладке «Аутентификация» на каждом этапе тестирования, чтобы получить свои настраиваемые свойства (имя пользователя/пароль) http://www.soapui.org/Scripting-Properties/work-with-properties.html
http://www.soapui.org/Scripting-Properties/property-expansion.html
В ReadyAPI (SOAP UI Pro) версии 2.2.0:
Во вкладке «Проекты» в верхней части есть значок Auth Manager
В этом менеджере создайте профиль аутентификации на вкладке Auth Repository с правильными username и password. Оставьте Domain пустым и установите Authenticate Pre-emptively
Во вкладке Auth Manager выберите необходимый верхний уровень, с которого вы хотите применить свои учетные данные (я использовал верхний), и в столбце authorization method выберите свой профиль. На запрос «расширение для детей» скажите «да», все они должны переключиться в состояние «Наследовать от родителя».
Когда вы создаете TestSuite из своего проекта, все ваши запросы будут наследоваться от родителя и применять учетные данные, которые вы установили в профиле.
Если вы используете остальные сервисы в soapUI, сначала сделайте следующее, как описано goku_da_master:
Щелкните правой кнопкой мыши имя службы и выберите «Показать средство просмотра службы». Затем перейдите на вкладку «Конечные точки службы». Поместите туда данные для аутентификации.
Поскольку я не могу найти способ применить эти настройки сразу ко всем запросам, самый простой обходной путь — применить настройки к 1 запросу, сохранить проект (в формате xml) и выполнить простую замену поиска в редакторе кода ????
Откройте случайный Запрос 1, на вкладке запроса нажмите кнопку Аутентификация в левом нижнем углу. В разделе Авторизация: выберите "Добавить новую авторизацию..." и выберите "Основная". Возможно, вам также потребуется включить параметр Разрешить упреждающе. Вы можете протестировать этот запрос прямо сейчас.
Теперь сохраните проект и откройте его в редакторе кода. Я использую vsCode, так как он позволяет выполнять многострочный поиск и замену и имеет функцию формата xml (или плагин). Итак, моя находка и замена выглядели так:
<con:credentials>
<con:username>***</con:username>
<con:password>******</con:password>
<con:domain xsi:nil="true"/>
</con:credentials>
------------------------------------------------------------------------
<con:credentials>
<con:username>***</con:username>
<con:password>******</con:password>
<con:domain xsi:nil="true"/>
<con:selectedAuthProfile>Basic</con:selectedAuthProfile>
<con:addedBasicAuthenticationTypes>Basic</con:addedBasicAuthenticationTypes>
<con:preemptive>true</con:preemptive>
<con:authType>Preemptive</con:authType>
</con:credentials>