gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 00:57:06 25 4
gpt4 key购买 nike

我正在 AzureDevops CI/CD 管道中为 Java 项目进行 POC。我创建了一个 Maven 项目,其中包含 Selenium 测试 (TestNG),该测试针对独立于我的项目的演示网站运行。我想在构建管道中运行单元测试,并在发布管道中运行 UI Selenium 测试。

Visual Studio 测试 任务似乎是我需要的构建 block 。我认为您可以使用“测试文件”字段(如 **\unit*Test.dll、**\ui*Test)来区分单元测试和 UI 测试。不幸的是,此任务对于 Java 项目不可用/不兼容。

我能够在构建期间使用 Maven 任务和 Surefire 插件运行 Selenium 测试,但请记住,我只想在构建期间运行单元测试。

我实际上能够通过以下解决方法在发布管道中运行 Selenium 测试:

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

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

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

我是否遗漏了什么,或者 AzureDevops 可能无法很好地支持 Java?

最佳答案

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

关于java - 在 Azure DevOps 发布管道中运行 Java Selenium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57807346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com