如何将Robot Framework,Selenium,浏览器测试支持添加到Docker容器?

时间:2018-10-06 10:15:41

标签: docker jenkins robotframework

如何将Robot Framework添加到Docker映像?我已经在Maven等上使用Jenkins图像了。

我已经阅读了很多文章,但据我所知,没有完整的动作集可以通过Dockerfile向Docker映像添加一层。

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

向该容器中添加RF的优点是,崩溃后很容易创建新的新图像/容器。

据我了解,此后我添加并可以使用Robot Framework插件显示报告。

我当前的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

1 个答案:

答案 0 :(得分:0)

在使用Robot Framework研究了许多现有的docker映像之后,我看到要在浏览器级别进行测试,还需要添加一些其他功能,例如chromedriver,geckodriver和无头浏览器。

要将所有这些软件添加到我现有的Jenkins图像中,会使图像扩展到超过1 Gig。真的太多了。留下这种方法的第二个原因:一般的Jenkins映像只会在特定情况下执行功能测试,因此并不总是如此。

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

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