有没有办法为SoapUI项目中的所有请求设置HTTP基本身份验证?
我知道可以对TestSuite中的所有请求进行此操作,但我无法弄清楚如何为所有TestSuite中的所有请求执行此操作。
答案 0 :(得分:54)
在SOAPUI 5.0或更高版本中,您可以在左侧导航窗口中设置服务的basicHttpBinding(我认为它是界面)(它是您所有方法的父项和项目的直接子项)。
右键单击界面名称,然后选择“Show Interface Viewer”。然后转到“服务端点”选项卡。把你的身份验证信息。现在,您不必为服务中的每个方法指定身份验证。
答案 1 :(得分:8)
有几种方法可以做到这一点:
在端点级别设置凭据。当然,这将用于使用该端点的所有测试步骤。
在测试用例级别设置凭据(单击密钥图标)。凭据传播到每个测试步骤。
使用自定义项目属性存储凭据,然后在每个测试步骤的“身份验证”选项卡中使用“属性扩展”来获取自定义属性(用户名/密码)
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 Repository
和username
在password
标签中创建身份验证配置文件。
将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>