我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

构建Web UI 自动化测试环境(3)

[复制链接]
一朵太阳花 发表于 2020-6-19 09:17:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
在容器中创建目录 /var/svn/repos(mkdir -p /var/svn/repos),并基于该目录创建 Subversion 资源库(svnadmin create /var/svn/repos)。 在资源库目录下的 svnserve.conf 文件中删除
  在容器中创建目录 /var/svn/repos(mkdir -p /var/svn/repos),并基于该目录创建 Subversion 资源库(svnadmin create /var/svn/repos)。
  在资源库目录下的 svnserve.conf 文件中删除“password-db = passwd”前面的注释符 #,并在 passwd 文件中添加一行“shenrui = password”。
  用命令“docker commit mysvn”把上面所做的修改保存下来创建一个新镜像 mysvn。
  最后,用命令“docker run -t -d -p 3690:3690 --name mysvn mysvn svnserve -d --foreground -r /var/svn/repos”启动 mysvn 容器。启动时,添加容器到主机的端口映射“-p 3690:3690”以便之后直接通过主机 IP 提交测试脚本。
  至此,Docker 上有两个正在运行的容器(docker ps),名字分别是 myjenkins 和 mysvn。
  准备 Sahi 测试脚本
  为实例编写的 Sahi 测试脚本是针对developerWorks 中国网站做的一些简单测试。目录结构如下图。Downloads.sah 和 topics.sah 分别点击首页上的“软件下载”和“技术主题”链接,然后验证跳转后的页面的标题。Search.sah 在首页的搜索框中输入 docker 并对搜索结果页面进行简单验证。Mytest.suite 是一个测试套件文件,用来包含其他三个测试脚本。
1.png
  图 7. Sahi 测试脚本目录
  run_tests.sh 的文件内容如下。它首先调用 init.sh 启动 Xvfb 和 Sahi,然后触发测试脚本的运行。命令中指定了 JUnit 报表的输出路径和 Sahi 自身的 HTML 报表的输出路径。
2.png
  图 8. run_tests.sh 文件内容
  将测试脚本提交到 Docker 的 Subversion 容器(svn://172.17.42.1/mytest)。
  配置 Jenkins
  首先,安装两个 Jenkins 插件:
  Docker Plugin
  该插件能够集成 Jenkins 与 Docker。其功能前文已有描述。
  HTML Publisher Plugin
  该插件用以发布构建生成 HTML 报表,方便日后查看。
  接下来,要开启 Docker 的 TCP 监听端口。开启的方法在不同的系统上有所不同。本实例 Docker 主机为 RHEL 6.5。开启的方法是在/etc/sysconfig/docker 中设置 other_args="-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock",然后运行“service docker restart”重启 Docker 服务。CoreOS 上的开启方法请参见Customizing docker。
  进入 Jenkins 的系统配置页面(Manager Jenkins>Configure System),在最底部比之前增加了一个 Cloud 的部分。点击 Add a new cloud,选择 Docker 添加一个 Docker 主机。这里,因为 Jenkins 运行在 Docker 的容器里,直接用私有 IP(ifconfig 里 docker0 对应的 IP)加端口 4243 填写 Docker URL 输入域。
3.png
  图 9. Docker Cloud 配置
  Figure xxx. Requires a heading
  接下来,添加 Docker 镜像。
1.png
  图 10. Docker 镜像配置
  建议将 Jenkins Slave 的 workspace 目录映射到 Docker 主机的一个文件夹,这样 workspace 的内容才能持久保存,并且从 Subversion 或者其他版本控制软件更新代码的时候才会以增量方式更新。在该实例中,配置如下。
2.png
  图 11. Docker 镜像 Volumes 配置
  同之前在启动 Jenkins 容器部分讲到的一样,必须修改主机上的目录的权限,以确保容器能够对其读写。
  现在,可以创建 Jenkins Job 了。
3.png
  图 12. Job 配置 – Docker 容器部分
  此时,Job 配置的页面里比之前增加了一个 Docker Container 的部分。在 Label Expression 里输入“docker”与之前定义的 shenrui/sahi 镜像绑定 (该输入域的值与镜像配置里的 Labels 输入域值相同)。
  Source Code Management 部分,选择 Subversion,并填入之前在 Subversion 容器上创建的资源库 URL。
4.png
  图 13. Job 配置 – 源代码管理部分



分享本篇文章给更多人:


63.9K
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子12

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备20001493号-1 )

版权所有 © 西安菁英教育科技有限公司 2023-2026