如何将参数从一个项目传递到另一个项目?

How to pass parameter from one project to another project?

截至随附的屏幕截图,我有 4 个休息 API 的项目。

我需要将项目 1 (1_Admin Basics & Get APIs) 生成的用户 ID 传递给其他项目 (2_Courses & 类)。

我 运行 每个项目都使用测试运行器。全局 属性 传输在这种情况下不起作用。有没有哪位能帮我做一下上面提到的场景。

我不想将 4 个项目合并为 1 个项目。应该是4个项目,需要把1个项目的参数传递给其他项目。

例如,您可以使用 workspace 属性 从当前项目访问其他项目以从其获取属性。您可以通过 groovy 脚本 来完成。

在第一个项目中,在 testCase 中添加一个 groovy 脚本 testStep 并将 属性 设置为项目级别如下:

testRunner.testCase.testSuite.project.setPropertyValue('myProp','myValue')

在第二个项目中,在 testCase 中添加另一个 groovy 脚本 以获取您的 属性 通过 workspace 并分配到您想要的级别(例如在 testSuite 中,但您可以在需要的地方添加):

// get the other project
def otherProject = testRunner.testCase.testSuite.project.workspace.getProjectByName('SecondProjectName')
// get your property value
def value = otherProject.getPropertyValue('myProp')
log.info value
// set the var at some level in this case in testSuite
testRunner.testCase.testSuite.setPropertyValue('varFromOtherProject',value)

然后使用以下符号在第二个项目的 testStep 中使用变量:

${#TestSuite#varFromOtherProject}

更新:

似乎您 运行 您的项目单独使用 testRunner 因此您无法使用 workspace 访问其他项目,因此作为一个可能的解决方法您可以在第一个项目的 File 中写入 属性 值,然后在第二个项目中读取 File 内容。

所以在你的第一个项目中添加一个groovy脚本testStep,代码如下:

new File('./myProp').text = 'someValue'

然后在您的第二个项目中读取文件并将属性设置为某个测试级别:

// get the value from the file
def value = new File('./myProp').text
log.info value
// set the var at some level in this case in testSuite
testRunner.testCase.testSuite.setPropertyValue('varFromOtherProject',value)

正如之前解释的那样,在您的 SOAP testStep 中使用以下符号来获取 属性:

${#TestSuite#varFromOtherProject}

希望对您有所帮助,