繁体   English   中英

在 Azure DevOps 发布管道中运行 Java Selenium 测试

[英]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 测试:

  • 在构建期间将整个项目复制到发布的 artifacts 目录(复制文件任务)。
  • 将 Maven 任务添加到发布管道
  • 在 pom.xml 中触发 Selenium 测试

通常,您只会将工件复制到工件目录,所以我认为这样做是一个巨大的黑客攻击。

另一个问题是 Maven 将在构建和发布期间构建项目,这很浪费。 为了减少浪费,一些精明的 Maven 配置可能会有所帮助。 我正在考虑在发布期间跳过编译并解决依赖项,但我不知道在哪里可以找到 DevOps 生态系统中的 Maven 依赖项。

我是否遗漏了某些东西,或者 AzureDevops 可能没有那么好地支持 Java?

我确实遵循了一种在 Azure DevOps 上进行 Maven 硒测试的方法。 我所做的是,在构建管道中,我构建测试的方式是生成一个包含所有依赖项和测试类的 jar。 我也在我的方法中使用了 testng。 接下来,我将构建工件复制到 Artifactory。 这样就完成了构建。 现在,在发布期间,我从 Artifactory 下载了我的 Artifact,并检查了我想要运行的环境,并通过运行 java -jar myfile.jar testngIT.xml 注入了正确的 testng 文件。 这可以更快更好地运行我的测试。

您可以尝试在发布管道中添加测试任务,就像在构建管道中一样。 并在构建管道中添加复制任务,将测试代码和文件复制到构建工件并发布到发布管道。

以下步骤仅供参考(在经典视图中)。 希望它可以有所帮助。

1,在构建管道中添加copy file任务,将所有测试文件和所有依赖的设置文件复制到工件中的测试文件夹中。

在此处输入图像描述

2、发布工件到发布管道

在此处输入图像描述

3,在发布管道中,添加任务以执行测试,就像在构建管道中一样

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM