[英]Run Java Selenium tests in Azure DevOps release pipeline
我正在为 AzureDevops CI/CD 管道中的 Java 项目做 POC。 我创建了一个 Maven 项目,其中包含针对独立于我的项目的演示网站运行的 Selenium 测试 (TestNG)。 我想在构建管道中运行单元测试,在发布管道中运行 UI Selenium 测试。
Visual Studio test
任务似乎是我需要的构建块。 我认为您可以使用 **\unit*Test.dll、**\ui*Test 等“测试文件”字段来区分单元测试和 UI 测试。 不幸的是,此任务不适用于 Java 项目/不兼容。
我能够在构建期间使用 Maven 任务和 Surefire 插件运行 Selenium 测试,但请记住,我只想在构建期间运行单元测试。
实际上,我能够通过以下解决方法在发布管道中运行 Selenium 测试:
通常,您只会将工件复制到工件目录,所以我认为这样做是一个巨大的黑客攻击。
另一个问题是 Maven 将在构建和发布期间构建项目,这很浪费。 为了减少浪费,一些精明的 Maven 配置可能会有所帮助。 我正在考虑在发布期间跳过编译并解决依赖项,但我不知道在哪里可以找到 DevOps 生态系统中的 Maven 依赖项。
我是否遗漏了某些东西,或者 AzureDevops 可能没有那么好地支持 Java?
我确实遵循了一种在 Azure DevOps 上进行 Maven 硒测试的方法。 我所做的是,在构建管道中,我构建测试的方式是生成一个包含所有依赖项和测试类的 jar。 我也在我的方法中使用了 testng。 接下来,我将构建工件复制到 Artifactory。 这样就完成了构建。 现在,在发布期间,我从 Artifactory 下载了我的 Artifact,并检查了我想要运行的环境,并通过运行 java -jar myfile.jar testngIT.xml 注入了正确的 testng 文件。 这可以更快更好地运行我的测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.