gpt4 book ai didi

java - 在 docker 容器内运行仪表测试

转载 作者:行者123 更新时间:2023-12-02 09:27:00 24 4
gpt4 key购买 nike

我正在尝试对 Gauge 测试自动化项目进行 Docker 化,以便可以在 Docker 容器内运行规范。该项目是用 Java 和 Spring Boot 编写的。

我看到了这个tutorial在仪表文档中。

这是教程中的 DockerFile:

FROM ubuntu

# Install Java.
RUN apt-get update && apt-get install -q -y \
openjdk-8-jdk \
apt-transport-https \
gnupg2 \
ca-certificates

# Install gauge
RUN apt-key adv --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys 023EDB0B && \
echo deb https://dl.bintray.com/gauge/gauge-deb stable main | tee -a /etc/apt/sources.list

RUN apt-get update && apt-get install gauge

# Install gauge plugins
RUN gauge install java && \
gauge install screenshot

ENV PATH=$HOME/.gauge:$PATH

如您所见,DokcerFile 中没有“ADD”/“COPY”。

这是否只是建议在主机上安装 Gauge 和其他软件包的替代方案?

关于如何在 Docker 容器内运行规范有什么想法吗?

最佳答案

这是我为在 Docker 容器中运行测试所做的操作。

在我的项目结构中,src 旁边有一个 specs 文件夹,这意味着量规测试将使用 JAR 文件运行,但它们本身不是 JAR 文件的一部分。

--MyProject
----specs
----src
...

我使用maven在容器内运行测试。这就是为什么我更喜欢在容器内构建项目,这样我就可以使用运行测试的相同版本的 Maven 准备好 JAR 文件。

这是 DockerFile。我开发了一个 bash 脚本来运行测试。您可以使用 CMD 或 ENTRYPOINT 运行脚本:

FROM maven:3.6.1-jdk-8

# add any project resources needed
ADD env /home/e2e/env
ADD specs /home/e2e/specs
ADD src /home/e2e/src
ADD src/main/scripts/entrypoint.sh /home/e2e/
ADD pom.xml /home/e2e/

RUN ["chmod", "+x", "./home/e2e/entrypoint.sh"]

# Install Gauge, web browser and webdriver in your preferred way...

ENV PATH=$HOME/.gauge:$PATH
# I'm keeping the cntainer running. But it's all up to you.
CMD /home/e2e/entrypoint.sh && tail -f /dev/null

这是简单的entrypoint.sh 脚本:

#!/bin/bash
cd /home/e2e/
mvn clean package
gauge --version
google-chrome --version
mvn -version
mvn gauge:execute -DspecsDir=specs/myTest.spec

当然,您可以只使用现成的 JAR,而不是在容器内构建它。或者您可以在创建 docker 镜像时构建 JAR。

关于java - 在 docker 容器内运行仪表测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58277726/

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