2011-08-23 29 views
27

¿Hay alguna forma de configurar la autenticación HTTP básica para todas las solicitudes en un proyecto SoapUI?Configuración de autenticación básica HTTP para todas las solicitudes

Sé que se puede hacer para todas las solicitudes dentro de un TestSuite, pero no puedo encontrar la manera de hacerlo para todas las solicitudes en todos los TestSuites.

+0

¿Hay alguna razón en particular por la que no configura la Autenticación HTTP básica a través de la configuración del servidor web? – Oswald

+0

La autenticación se ha habilitado en el servidor, y no puedo autenticar utilizando SoapUI como cliente. Sin embargo, tengo que configurar la autenticación para cada solicitud/TestSuite individualmente cada vez. Me gustaría poder configurarlo una vez para todas las solicitudes en el proyecto – DisscCoder

Respuesta

7

Hay algunas maneras de hacer esto:

  1. Establecer credenciales en el nivel de punto final. Por supuesto, esto se usa para todos los Pasos de prueba donde se usa ese Punto final.

  2. Establezca las credenciales en el nivel de Caso de prueba (haga clic en el icono de la tecla). Las credenciales se propagan a cada paso de prueba.

  3. Use Propiedades del proyecto personalizadas para almacenar las credenciales, a continuación, utilizar expansión de la propiedad de la ficha de autenticación en cada paso de la prueba de agarrar sus propiedades personalizadas (nombre de usuario/contraseña) http://www.soapui.org/Scripting-Properties/working-with-properties.html
    http://www.soapui.org/Scripting-Properties/property-expansion.html

+2

¿Cómo se realiza el paso 1? ¿Cómo se agregan las credenciales directamente al punto final? –

+2

2 y 3 solo funcionan en un conjunto de pruebas, no en los objetos de solicitud en la definición del servicio. Y 1 no funciona sin entrar en todos los métodos y configurar auth. Bastante inútil para ponerlo en la definición del punto final cuando todavía tiene que activarlo en cada método. No sé por qué no tiene un mecanismo para hacer auth siempre que se proporcionen las credenciales de autenticación, pero estoy bastante convencido de que nadie en SB realmente usa su propio producto. –

40

En SOAPUI 5.0 o superior, puede configurarlo en el enlaceHttp básico de su servicio desde la ventana de navegación a la izquierda (creo que es la interfaz) (es el padre de todos sus métodos y el hijo directo del proyecto).

Haga clic con el botón derecho en el nombre de la interfaz y seleccione "Mostrar visor de interfaz". Luego vaya a la pestaña "Puntos finales de servicio". Pon tu información de autenticación allí. Ahora no tiene que especificar la autenticación para cada método en su servicio.

+3

Esta es la respuesta más simple. ¡Gracias! No sé por qué esto no es más obvio en SoapUI ... – Tim

+2

¿Alguien confirma que esto funciona para un proyecto REST/punto final? Obtendré una 'ClientProtocolException' si coloco la información de autenticación aquí, mientras que la misma autenticación funciona bien si la agrego a cada mensaje de solicitud individualmente. – dbreaux

+0

Lo estoy usando para acceder a la API REST de Redmine y está funcionando. En el panel de navegación, haga clic con el botón derecho en el nodo de servicio (que con la URL del servicio), seleccione "Mostrar visor de servicios". En el Visor de servicios, seleccione la pestaña "Puntos finales del servicio" y complete los campos de nombre de usuario y contraseña. No estoy seguro sobre "modo", pero estoy usando COMPLEMENTO. Después de eso, para cada solicitud, seleccione la pestaña "Auth" y especifique "Básico". Deja los campos de nombre de usuario y contraseña vacíos. Haga clic en "Autenticar preempfectamente" para forzar el encabezado de autenticación (sin esperar un desafío del servidor). – jramos

0

En ReadyAPI (SOAP UI Pro) Versión 2.2.0:

En Pestaña Proyectos, en la parte superior, hay una Auth Manager

En este gerente, crear un perfil de autenticación en la pestaña Auth Repository, con la apropiada username y password. Deja Domain en blanco y establecer Authenticate Pre-emptively

En la pestaña Auth Manager, seleccione el nivel superior se requiere de la que desea aplicar sus credenciales (utilicé la parte superior uno) y, en la columna de la authorization method, seleccione su perfil. En la solicitud de 'extensión a niños' diga 'sí', todos deben cambiar al estado 'Heredar de padre'.

Cuando genera el TestSuite de su proyecto, todas sus solicitudes heredarán del padre y aplicarán las credenciales que estableció en el perfil.

Cuestiones relacionadas