如何传递运行时参数文件以供测试人员从天青管道运行集成测试,

时间:2020-05-21 23:25:15

标签: c# visual-studio .net-core integration-testing azure-pipelines

我们实际上是在蔚蓝的管道上工作,我们想要传递集成测试所需的参数以由测试人员运行,并查看是否通过了集成测试。我知道我们可以使用运行设置来传递数据-它对于很少的变量很有用,但是我们有大量数据可以传递给半自动化集成测试。有没有一种方法可以通过在测试人员运行集成测试时触发azure管道,将所有测试数据放入xml文件或其他某种文件格式,以便测试在运行时运行并在运行时传递文件。 还有一个选择是可以在管道中的模板中使用参数,如果可以的话,我可以使用这种方法吗?在运行集成测试时如何将这些值输入Visual Studio。

1 个答案:

答案 0 :(得分:0)

1,如果您的azure管道位于YAML文件中,则可以签出variable template

首先定义模板yaml文件(例如vars.yaml)

# File: vars.yml
variables:
  url: 'http://url'
  userName: "username"

然后在文件azure-pipelines.yml中,参考变量部分

中的模板vars.yml。
# File: azure-pipelines.yml

variables:
- template: vars.yml  # Template reference

steps:
- task: VSTest@2
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\*test*.dll
      !**\*TestAdapter.dll
      !**\obj\**
    searchFolder: '$(System.DefaultWorkingDirectory)'
    runSettingsFile: '**/*.runsettings'
    overrideTestrunParameters: '-url $(url) -userName $(userName)'

注意:变量模板文件也必须提交到您的代码存储库。它仅在 Yaml管道中可用。

2,您也可以尝试在天青管道中以secure file的形式上传测试参数文件。

然后,您可以在天蓝色管道中添加Download secure file task,以便在运行时下载参数文件。通过下载安全文件任务下载它之后,可以在管道中将其路径引用为$(mySecureFile.secureFilePath)。另外,可以在$(Agent.TempDirectory)给定的目录中找到下载的安全文件。

然后您可以使用Copy files task在构建代理程序的参数文件中移动。

注意:使用安全文件不方便更新测试参数,每次需要更新测试参数时,都必须将测试参数文件上载到Azure Devops。在管道运行时检索参数文件中定义的测试参数将是一个问题。

3,您也可以尝试使用variable group。然后,您可以将所有测试参数存储在变量组中。您可以Link the variable group到管道。然后,变量组中存储的测试参数将在您的管道中可用。

在Visual Studio测试任务中,您可以轻松地用变量组中定义的参数覆盖测试运行参数。见下文:

enter image description here

我建议您在管道中使用变量组。将测试参数维护在变量组中很容易,并且可以在多个管道中重复使用。

希望上面有帮助!