为所有请求设置HTTP基本身份验证

时间:2011-08-23 08:18:13

标签: soapui http-basic-authentication

有没有办法为SoapUI项目中的所有请求设置HTTP基本身份验证?

我知道可以对TestSuite中的所有请求进行此操作,但我无法弄清楚如何为所有TestSuite中的所有请求执行此操作。

4 个答案:

答案 0 :(得分:54)

在SOAPUI 5.0或更高版本中,您可以在左侧导航窗口中设置服务的basicHttpBinding(我认为它是界面)(它是您所有方法的父项和项目的直接子项)。

右键单击界面名称,然后选择“Show Interface Viewer”。然后转到“服务端点”选项卡。把你的身份验证信息。现在,您不必为服务中的每个方法指定身份验证。

答案 1 :(得分:8)

有几种方法可以做到这一点:

  1. 在端点级别设置凭据。当然,这将用于使用该端点的所有测试步骤。

  2. 在测试用例级别设置凭据(单击密钥图标)。凭据传播到每个测试步骤。

  3. 使用自定义项目属性存储凭据,然后在每个测试步骤的“身份验证”选项卡中使用“属性扩展”来获取自定义属性(用户名/密码) http://www.soapui.org/Scripting-Properties/working-with-properties.html
    http://www.soapui.org/Scripting-Properties/property-expansion.html

答案 2 :(得分:0)

在ReadyAPI(SOAP UI Pro)版本2.2.0中:

在“项目”选项卡的上半部分,有一个Auth Manager

在此管理器中,使用正确的Auth Repositoryusernamepassword标签中创建身份验证配置文件。 将Domain留空并设置Authenticate Pre-emptively

Auth Manager标签中,选择您要应用凭据的所需上级(我使用了最高级别),然后在authorization method列中选择您的个人资料。 在“对孩子的延伸”请求中说'是',他们都应该切换到'继承父母'状态。

从项目生成TestSuite时,您的所有请求都将从父项继承并应用您在配置文件中设置的凭据。

答案 3 :(得分:0)

如果您在soapUI中使用休息服务,请首先执行以下操作,如 goku_da_master 所述:

  

右键单击服务名称,然后选择“显示服务   查看器”。然后转到“服务端点”标签。   那里的验证信息。

由于我找不到将这些设置批量应用于所有请求的方法,因此最简单的解决方法是将设置应用于1个请求,将项目保存为xml,然后在您的数据库中进行简单的查找替换代码编辑器?

  

打开随机的请求1 ,在请求标签中,点击左下角的 Auth 按钮。在授权:选择“添加新授权...”,然后选择“基本”。也许您还需要启用先行允许设置。您可以立即测试此请求。

现在保存项目并使用您的代码编辑器打开它,我使用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>