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