DevOps:如何使用Maven与Docker运行Selenium测试

在这篇文章中,我们将向您展示如何创建交付流水线并实现以下目标:

  • 使用Web应用程序构建Docker镜像
  • 在Docker容器中运行该应用程序
  • 从不同的容器中使用Maven运行Selenium测试

出于本文演示目的,我们将使用托管在GitHub上的Java示例项目: github.com/buddy-red/node-maven-selenium-tests进行演示。

流水线流程

每次更改存储仓时,流水线将执行以下任务:

  1. 构建Web应用程序的Docker镜像
  2. 运行3个Docker容器:
  • 上一个操作中生成镜像的容器
  • Selenium服务器容器
  • 带有将运行测试的Maven容器
  1. 根据测试,流水线将给出以下两个结果:
  • [测试通过] 推送镜像至Docker注册中心 & 运行镜像于服务器
  • [测试失败] 通过Slack给团队发送通知


流水线配置

首先,我们需要在GitHub源代码存储仓库中对Buddy系统进行帐户身份验证:

接下来,我们新添一条流水线,并将其配置为在每次推送到主分支时自动运行:

操作

我们指定了流水线的目标分支和触发条件,是时候添加将运行任务的操作了。

构建Docker镜像

在操作列表中Docker部分找到如下图的构建镜像

定义Dockerfile和相关联环境(如果它与包含Dockerfile的目录不同)。在本例中是front:

使用Maven配置Selenium测试

随着Docker镜像的构建和等待,我们需要一个操作来运行测试。在构建工具 & 任务运行部分找到Maven操作或者在搜索框中直接搜索Maven:

输入将运行测试的命令,例如:mvn clean install :

现在,我们需要在服务标签页中添加两个微服务,这些本质上是附加并链接到主构建容器的Docker容器。

  1. 第一个应该是适用于您的浏览器类型的Selenium服务。在这个例子中,我们将使用Selenium Chrome:

  1. 现在,单击**+加号按钮附加另一个,然后选择Custom**自定义服务。将其配置为使用我们在上一步中构建的Docker容器:

确保设置应用程序将在其上运行的端口(本例为80)。这样在应用程序成功启动之前,Maven不会启动测试。

配置Selenium

配置后

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值