我创建了一个包含HTTP Request
类型的测试步骤的项目。每个http请求都使用Basic Authorization
。当我在Auth
请求标签中指定用户名/密码值时,如下图所示,一切正常。
如果需要更改凭据,如何保留这些settings in a single place per a project
并且不必更改每个请求?
我尝试了property expansion功能,但它在Auth
标签中无效。 更新#3:有效!
实际上我有解决方案:项目文件是可读的XML,因此很容易在外部文本编辑器中替换用户名/密码值(或服务URL ......所有内容)。希望有更好的方式。
更新#2:使用免费的SoapUI 5.2.1。
答案 0 :(得分:2)
你是对的。如果使用属性,维护SoapUI
项目将非常容易。
在您的情况下,根据需要使用 project level custom properties
是合适的。
你可以在下面做同样的事情:
${#Project#USERNAME}, ${#Project#PASSOCDE}
替换为用户名和密码。这将是一次性的努力。 您可以在下面的屏幕截图中看到在使用property expansion
进行授权后发送请求时右侧的响应。
请注意,您可能会注意到与授权相比,屏幕截图有所不同,因为SoapUI
版本为4.5.1。但是,这不应该引起任何关注。
完成更改后,保存项目。现在,只需修改用户凭据single place
即可SOAPUI_HOME/bin/testrunner.bat or .sh
。当然,你也可以像你提到的那样从xml文件中更改这些值。
除了上述内容之外,如果在命令提示符下使用-P
实用程序在cmd > cd %SOAPUI_HOME%\bin
cmd > testrunner.bat -PUSERNAME=user1 -PPASSCODE=user1passcode -R"Project Report" c:\projects\my-soapui-project.xml
实用程序的帮助下运行SoapUI项目,甚至无需在soapui-project xml文件中进行修改即可覆盖项目属性值。 {1}}选项,如下所述。
File -> Preferences -> HTTP Settings -> Authenticate Preemptively
有关运行soaui项目的完整命令行选项,请访问here。
更新:由于SoapUI 4.5.1屏幕截图,看起来存在混淆。但是上面也适用于SoapUI-5.x版本。
确保已设置
选中specific for SoapUI-5.x
(复选框)(将身份验证信息添加到外出请求中)并保存首选项。
以下是Authorization -> Basic
设置。
在Use global preference
[正如您在屏幕截图中提到的],如上所述为凭据设置属性扩展。此外,先发制人的身份验证:{{1}}无线电检查。