在脚本中为 SoapUI 中的测试步骤设置先发制人的 AuthType

Setting Pre-emptive AuthType for Test Step in SoapUI in script

在 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")

我将所需的代码放在这里,如何通过代码设置 AuthType -> Pre-emptive

凭据、端点 可能是一个有效的关注点,它们会根据 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 应该 勾选复选框 当它是 true 时。设置为false时勾选unticked,显然。

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