当前位置: 首页 > 知识库问答 >
问题:

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

段弘和
2023-03-14

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

Visual Studio test任务似乎是我需要的构建块。我认为您可以区分单元测试

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

实际上,我能够通过一个变通方法在发布管道中运行Selenium测试,该变通方法是:

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

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

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

我错过了什么,还是AzureDevops可能没有很好地支持Java?

共有2个答案

楚举
2023-03-14

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

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

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

2、发布工件以发布管道

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

水瀚漠
2023-03-14

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

 类似资料:
  • 当您选择此选项时,将生成 yaml 文件,如下所示: 在此 yaml 文件中,您可以定义从还原开始的整个部署周期

  • 我的任务是开发现有遗留应用程序的Azure DevOps实现。应用程序有一个QA团队,该团队使用500个自动化测试用例。此测试用例是使用量角器开发的。所有测试用例都是使用JavaScript开发的。 对于现有设置,以下是所采取的步骤:a.发布管道部署ASP。NET应用程序到Azure app services b。QA人员手动登录到VM并启动量角器测试。 我们可以使用Azure devOps管道中

  • 这就是输出: 问题是karma无法启动chrome浏览器。我认为这个问题会发生在任何码头工人的环境中。如何在bitbucket管道中运行测试?

  • 我有一个azure构建管道和发布管道。我在发布构建工件中面临问题。在构建管道中,发布构建工件被正确地创建在默认的“drop”目录中。 当我在发布管道中下载该工件时,发布文件正在服务抛出错误的中下载 您没有查看此目录或页面的权限。 这意味着我的发布工件没有在“home/wwwroot”目录中下载。 构建管道 释放管道 我错过了什么?

  • 我正在尝试使用YAML在Azure管道作业中运行cypress测试。当管道运行时,它到达运行cypress测试的行,并抛出以下错误: 下面是我的YAML文件: 我的package.json被签入我的Git存储库,并位于我的WebApp子文件夹中。我如何解决这个错误? 更新:我按照建议添加了workingDirectory参数,但现在出现了这个新错误: 我解决了“缺少脚本”错误。YAML文件中的cy

  • 这个问题看起来像是这个问题的重复。 我得到以下错误消息(在python sdk服务中): 我不知道日志记录或工件endpoint(等等)是什么通过检查源代码,似乎endpoint已经被硬编码到localhost中。