如何将参数从一个项目传递到另一个项目?
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}
希望对您有所帮助,
截至随附的屏幕截图,我有 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}
希望对您有所帮助,