在脚本中为SoapUI中的测试步骤设置抢占式AuthType

时间:2016-02-15 21:36:30

标签: authentication groovy authorization soapui

在SoapUI 5.0.0中,我尝试通过脚本为测试请求步骤设置抢占式身份验证值(全局设置或抢占式)。这是基本授权。

我可以通过脚本设置用户名,密码和域,但不能设置AuthType

def testStep = testRunner.testCase.testSteps["MyTestRequest"]
testStep.setPropertyValue("Username", "myusername")
testStep.setPropertyValue("Password", "mypassword")
testStep.setPropertyValue("Domain", "domain-name")

testStep.setPropertyValue("AuthType", "Preemptive")

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:3)

只是为了把它带到关闭,因为:

  1. 将评论添加为答案,以便将来获益。
  2. 问题仍然有效。
  3. 因此,在此处放置所需的代码,如何设置 AuthType - >先发制人通过代码。

    凭据,端点可以是一个有效的关注点,它们会根据环境(例如 Dev,QA或Production 等)进行更改,

    但是,AuthType不属于上述类别,因为它在设置后在整个环境中得到修复,无需触摸它。

    以下脚本

    import com.eviware.soapui.SoapUI
    import com.eviware.soapui.settings.HttpSettings
    //To enable Pre-emptive, set it true. Set it to false otherwise
    SoapUI.getSettings().setBoolean(HttpSettings.AUTHENTICATE_PREEMPTIVELY, true)
    SoapUI.saveSettings()
    

    上述脚本运行后如何检查?

    转到(使用菜单)File -> Preferences -> Http Settings -> Authenticate Preemptively {em>复选框应该是{em>复选框,标记为 true。如果设置为unticked,则复选框false显然为。

    另一种方法是检查何时设置为true是进行Web服务调用。然后转到请求编辑器Raw Request标签。您应该能够看到身份验证已添加到请求中。当然,当你得到有效的回复时,它会自己告诉上面的代码实际上做了它想做的事情。