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

Dis*_*der 37 soapui basic-authentication

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

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

gok*_*ter 57

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

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

  • 这是最简单的答案.谢谢!我不知道为什么在SoapUI中这不是更明显... (5认同)
  • 它实际上并没有对所有请求进行auth.即使您在HTTP属性中配置了抢占式身份验证.您仍然需要逐个完成所有请求并在auth选项卡中启用auth.几乎没有意义. (5认同)
  • 有人确认这适用于REST项目/端点吗?如果我在这里放置auth信息,我会得到一个`ClientProtocolException`,而如果我将它单独添加到每个请求消息中,则相同的auth工作正常. (2认同)
  • 这应该标记为正确的答案. (2认同)

小智 8

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

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

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

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

  • 第1步是如何完成的?如何将凭据直接添加到端点? (2认同)
  • 2和3只能在testsuite中工作,而不能在服务定义中的请求对象中工作.如果没有进入每个方法并配置auth,1就无法工作.当你仍然必须将它激活到每个方法时,将它放在端点定义中是毫无意义的.我不知道为什么它没有一个机制来提供身份验证,如果提供auth凭证,但我相信SB中没有人真正使用他们自己的产品. (2认同)