【问题标题】:How to add Robot Framework, Selenium, browser-test-support to a docker container?如何将机器人框架、硒、浏览器测试支持添加到 docker 容器?
【发布时间】:2019-03-11 16:36:53
【问题描述】:

如何将机器人框架添加到 Docker 映像?我已经在使用 Jenkins 镜像和 Maven 等。

我已经查看了很多帖子,但是(据我所知)没有完整的操作集通过 Dockerfile 将 1 层添加到 docker 映像。

拥有这个扩展容器后,我可以执行 shell 脚本命令,通过“机器人 ...”启动测试。它还应该与 Firefox 浏览器一起运行。

向这个容器添加 RF 的好处是,在崩溃后可以很容易地创建一个新的图像/容器。

据我了解,之后我添加并可以使用机器人框架插件来显示报告。

我当前的 Dockerfile 包含 Jenkins、Docker(参考)、docker-compose、Maven 和 Npm。效果很好!

FROM jenkins/jenkins:lts
USER root

... docker

ENV MAVEN_VERSION 3.5.4
RUN curl -fsSL http://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz | tar xzf - -C /usr/share \
  && mv /usr/share/apache-maven-$MAVEN_VERSION /usr/share/maven \
  && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn

ENV MAVEN_HOME /usr/share/maven
COPY settings.xml /root/.m2/settings.xml

RUN apt-get install -y curl \
  && curl -sL https://deb.nodesource.com/setup_9.x | bash - \
  && apt-get install -y nodejs \
  && curl -L https://www.npmjs.com/install.sh | sh

user jenkins

【问题讨论】:

  • 你能发布你当前的 Dockerfile 吗?

标签: docker jenkins robotframework


【解决方案1】:

在使用 Robot Framework 调查了一些现有的 docker 镜像后,我发现为了在浏览器级别进行测试,需要添加一些附加功能,例如 chromedriver、geckodriver 和无头浏览器。

将所有这些软件添加到我现有的 Jenkins 映像中会使映像增长到远远超过 1 Gig。这实在是太多了。离开此方法的第二个原因:一般的 Jenkins 映像只会在特定情况下执行功能测试,因此并非总是如此。

所以,我采用的第二种方法是从 Jenkinsfile 启动 Robot Framework 测试。我找到了一个很好的现有 Docker 映像,其中包含 Robot Framework 和驱动程序。完整且有效的解决方案可以在this Jenkinsfile 的帖子中找到。

Robot Framework 测试的结果呢?状态通过控制台显示(如通过/失败)。其余信息可通过(存档的)log.html 和其他 html 文件获得。不需要机器人框架插件。像魅力一样工作!

【讨论】:

    【解决方案2】:

    我认为我们应该在忽略 GUI 的情况下检查机器人代码运行自动化测试用例。

    我有一个将 git lab CI 与 Robot 框架集成的想法,看看吧!

    https://github.com/dylanops/docker-robot-framework

    喂!

    【讨论】:

      猜你喜欢
      • 2013-02-07
      • 2016-09-06
      • 2021-11-15
      • 2010-11-09
      • 2018-01-29
      • 2017-09-09
      • 2016-09-22
      • 2022-01-22
      • 2018-03-06
      相关资源
      最近更新 更多