如何检索服务的端点

How to retreive endpoint of a service

我想在项目拆卸脚本中添加我的项目端点。获取所有请求和测试请求的端点的语法是什么,因为用户将在 运行 项目之前通过所有请求和测试请求分配他们的端点?

我看到了一个使用测试步骤的示例,但我不想通过测试步骤路径检索它:

testRunner.testCase.getTestStepByName("dd").getHttpRequest().getEndpoint();

拆卸脚本使用 log、context、runner 和项目变量。

谢谢

根据问题中更新的信息,您似乎必须访问项目 TearDown Script 中的端点。

您似乎还需要针对 endpointdomain[=61= 的不同 base url 执行同一组测试].甚至您也不确定是否需要相应地使用凭据。

考虑到以上情况,投影级别的属性就很容易了。

给你:

  • base url 创建项目级自定义 属性,将 BASE_URL 命名为 属性,并将值命名为 http://10.0.0.1:8008。当然,对于要执行的测试,根据需要将其更改为实际值。
  • 类似地为创建另一个项目级别属性,比如DOMAIN_NAME并根据测试提供它的值。
  • 双击服务/接口,点击Service Endpoints标签。
  • 删除所有现有值。
  • 通过单击 + 图标添加新端点。
  • 添加 ${#Project#BASE_URL} 作为端点,添加 ${#Project#DOMAIN_NAME} 作为域值
  • 如果需要,您可以对凭据使用相同的方法。
  • 现在点击 Assign 按钮并从下拉列表中选择 All requests and Tests 选项。
  • 同样,如果您有多个服务/接口,请执行相同的操作。

如何访问TearDown Script中的上述值?

log.info "Endpoint : ${project.getPropertyValue('BASE_URL')}"
log.info "Domain : ${project.getPropertyValue('DOMAIN_NAME')}"

当您想更改 domainbase url 时,只需在 运行 对不同的服务器/环境执行测试之前更改相应项目属性的值。

编辑:

endpointdomain 的值可以在执行测试时使用 SOAPUI_HOME/bin/testrunner 实用程序从命令行动态传递(甚至无需更改项目中保存的值)。详情请参考documentation