在SoapUI中使用groovy脚本将授权设置为basic

在SoapUI中使用groovy脚本将授权设置为basic,groovy,soapui,Groovy,Soapui,我正在使用groovyscript运行和测试到服务器的SOAP消息。我需要我的邮件具有基本授权。我知道您可以使用soap消息下的选项卡手动执行此操作。我可以使用TestRequest属性输入用户名和密码,但是我找不到将auth设置为basic的方法。我尝试将“Authentication Type”属性编辑为“Global GTTP Settings”,这是我手动设置基本身份验证时给出的值。正如您在代码中所看到的,运行它时没有错误,它使用的是PW、username,但不是Auth类型。有没有一种

我正在使用groovyscript运行和测试到服务器的SOAP消息。我需要我的邮件具有基本授权。我知道您可以使用soap消息下的选项卡手动执行此操作。我可以使用TestRequest属性输入用户名和密码,但是我找不到将auth设置为basic的方法。我尝试将“Authentication Type”属性编辑为“Global GTTP Settings”,这是我手动设置基本身份验证时给出的值。正如您在代码中所看到的,运行它时没有错误,它使用的是PW、username,但不是Auth类型。有没有一种方法可以更改属性以使消息具有基本身份验证,或者使用UN和PW设置基本身份验证?目标是能够在将身份验证设置为basic的同时测试多个SOAP消息,并为其提供UN和PW

代码/Groovy脚本:

def TR = 
testRunner.testCase.testSuite.testCases["Get"].testSteps["getEmployee"]
TR.setPropertyValue("Username","usernamehere")
TR.setPropertyValue("Password","passwordgoeshere")
TR.setPropertyValue("Authentication Type","Global HTTP Settings")
log.info "done"
当前结果:更改了UN和PW属性,无法更改身份验证类型属性


目标:使用groovy脚本提供SOAP消息Basic Auth

请尝试检查此解决方案好吗

def httpRequest = context.testCase.getTestStepByName("test_step").getHttpRequest();

httpRequest.setSelectedAuthProfileAndAuthType("Basic", com.eviware.soapui.config.CredentialsConfig.AuthType.PREEMPTIVE);
httpRequest.setUsername("username");
httpRequest.setPassword("password");
以下是指向此类API的链接:


Marek

这看起来不像是授权错误。看起来您得到的响应包含
testStep
(单数),但您试图访问
testSteps
(复数)。是的,Groovy没有将“Authentication Type”属性作为现有属性读取。所以我不能像使用用户名和密码那样编辑该属性。第4行上方的代码是正确的,它成功地编辑了这两个属性。TR对象的类型为
WsdlTestRequestStep
,在该对象上,您再次尝试获取
WsdlTestRequestStep
对象(通过调用
TR.testSteps[“getEmployee”]
),这无疑会导致上述错误。Ty snieguu!我发现了这个问题并修复了它。它仍然不会编辑身份验证类型属性,因此我仍然无法使用groovy脚本将授权更改为basic。我对问题进行了编辑,以使问题更清楚。您是否阅读过文档?