如何在一个地方保留SoapUI请求设置?

时间:2016-02-04 15:44:40

标签: web-services testing soapui

我创建了一个包含HTTP Request类型的测试步骤的项目。每个http请求都使用Basic Authorization。当我在Auth请求标签中指定用户名/密码值时,如下图所示,一切正常。 enter image description here 如果需要更改凭据,如何保留这些settings in a single place per a project并且不必更改每个请求?

我尝试了property expansion功能,但它在Auth标签中无效。 更新#3:有效!

实际上我有解决方案:项目文件是可读的XML,因此很容易在外部文本编辑器中替换用户名/密码值(或服务URL ......所有内容)。希望有更好的方式。

UPDATE#1: HTTP请求的可访问授权类型: enter image description here

更新#2:使用免费的SoapUI 5.2.1。

1 个答案:

答案 0 :(得分:2)

你是对的。如果使用属性,维护SoapUI项目将非常容易。
在您的情况下,根据需要使用 project level custom properties 是合适的。

你可以在下面做同样的事情:

  1. 选择项目。
  2. 左侧,您会看到向下的属性。
  3. 选择自定义属性标签。
  4. 定义用户名和密码的两个属性以及值。比方说,USERNAME和PASSCODE。
  5. 现在,在每个步骤中,分别用${#Project#USERNAME}, ${#Project#PASSOCDE}替换为用户名和密码。这将是一次性的努力。
  6. 您可以在下面的屏幕截图中看到在使用property expansion进行授权后发送请求时右侧的响应。

    Defining project properties and using them in authorization

    请注意,您可能会注意到与授权相比,屏幕截图有所不同,因为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}}无线电检查。