我要实现的目标:
我在Azure DevOps上有一个存储我的Web应用程序的存储库。我使用赛普拉斯为UI自动化编写了一个测试套件。我为测试用例创建了一个单独的存储库,以检查它们是否正常工作。我创建了一个具有以下内容的管道:
}
我将触发器设置为存储UI自动化代码的存储库分支。我想要的是,当对Web应用程序存储库的某个分支进行推送时,触发自动化脚本。有办法吗?我们可以将测试用例文件存储在应用程序存储库中,并提供测试脚本的路径吗?
答案 0 :(得分:1)
UI Automation Repo
和Web Application Repo
似乎是两个单独的存储库。
要触发我的自动化脚本,请在Web应用程序存储库的某个分支上进行推送。有办法吗?
功能:“从其他存储库触发管道”现在不可用。
此功能仍在开发中。 Azure devops服务将很快提供对YAML管道的多存储库支持。
请检查Azure DevOps Feature Timeline 2020 Q2中的函数:“ YAML管道的多存储库支持”。该功能将于2020年7月底向所有人推出。
解决方法:
您可以尝试使用Pipeline triggers。
以下是步骤:
第一步:使用Web应用程序存储库创建管道,然后可以设置触发器分支。
步骤2:在Yaml文件(UI自动化存储库)中添加管道触发器。
例如:
resources:
pipelines:
- pipeline: Name
source: Pipeline name
trigger:
branches:
- releases/*
- master
在Web应用程序存储库中进行更改时,将触发Web应用程序的管道。
运行管道之后,将触发具有UI自动化仓库的管道。
我们可以将测试用例文件存储在应用程序存储库中,并提供测试脚本的路径吗?
当然。你可以做到的。
如果要在管道(UI自动化仓库)中使用测试文件,则可以在管道中添加repo resouces。
例如:
resources:
repositories:
- repository: MyAzureReposGitRepository
type: git
name: MyProject/WebapplicationRepo
...
steps:
- checkout: MyAzureReposGitRepository
注意:回购将签出到代理源文件夹。
希望这会有所帮助。