写点什么

BAT 大厂都在用的 Docker。学会这三招,面试、工作轻松 hold 住

  • 2022 年 9 月 30 日
    北京
  • 本文字数:2096 字

    阅读完需:约 7 分钟

上期我们以 Jenkins 为例,一边实战一边了解 Docker 的基础命令。这期,我们将带大家使用 Docker 搭建三个平时测试工作中非常有用的小工具。学会这三个实战之后,你就可以说对 Docker 不是浅尝即止在理论阶段,而是真正有一定了解,也能为你的工作,真正的解决一部分问题。

官网下载 node_exporter 。地址:https://prometheus.io/

2.启动下载好的 node_exporter 文件

3.填写 prometheus.yml 配置文件内容

4.使用命令启动 prometheus

5.输入 ip 和端口号进入 prometheus 的前端界面,然后进入 Targets 页面

6.在首页输入命令,然后点击 execute,命令有不过这个展示界面不够友好,而且不好保存。所以在业内,我们常常将 prometheus+grafana 配合使用

7.启动 grafana 进入 grafana 界面,初始账号密码为 admin/admin 进入 Add data sourcs->选择 prometheus 配置 prometheus


8.import 模板

grafana dashboard 内填写

Grafana Labs



1 Node Exporter for Prometheus Dashboard CN 20201010 dashboard for Grafana

【中文版本】2020.10.10 更新,增加整体资源展示!支持 Grafana6&7,Node Exporter v0.16 及以上的版本,优化重要指标展示。包含整体资源展示与资源明细图表:CPU 内存 磁盘 IO 网络等监控指标。https://github.com/starsliao/Prometheus

Prometheus Data Source 字段选择 prometheus 点击 Import,就搭建成功了注意,前方有坑:1.如果被监控的 node_exporter 是 mac 的话,要去 prometheus 官网下载 mac 版本的 node_exporter 执行,且 mac 需要修改一些配置参数。2.如果修改了 prometheus.yml 需要重启镜像

1.下载 prom/mysqld-exporter 镜像

2.启动 mysql 服务

3.启动 mysqld-exporter 镜像注意:-e 之后的参数要填对,分别对应 用户名/密码 @(ip:端口号)/mysql

4.在 prometheus.yml 的配置文件中添加 mysql 的配置,并 docker restart prometheus ,重新加载 prometheus 的配置(可以参考上面的步骤 2)

5.进入 prometheus 页面,查看 Targets 中 mysql 是否启动成功 6.按照上面的 docker 启动 prometheus 过程,配置好之后进去 grafana 页码,然后选择 data source,进入 prometheus,输入 prometheus 的 url,选择“Save&Test”

7.导入 mysql 模板到 grafana,mysql 的模板 id 为 6239,其他步骤和前面搭建服务器监控是一样的哦。

下面是 mysql 的监控效果

如果我们的 Web UI 自动化测试用例有上千条,执行时间常常需要 1~2 天,我们用什么方法可以节省这个执行时间呢?接下来我们就通过分布式 UI 自动化,即启动多个浏览器执行 UI 自动化测试用例,且每个浏览器执行的 UI 自动化测试用例都是不同的。这样子,就可以大大提升我们的 UI 自动化测试的效率。UITest 层会将测试请求发送到 GridHub 层,而 GridHub 则会将这些测试请求转换为测试任务下发到每一个 Node 节点(在每台机器上面我们可以装一个或多个 Node 节点。),随后 Node 节点驱动浏览器进行自动化测试。测试完成后,Node 节点将测试结果发送到 GridHub 上面,GridHub 再将结果转发回我们的测试程序 UITest 中

(如下图所示)

Selenium 镜像网上有很多,官网下载即可。也可以定制化。而且还有非可视化的镜像。具有调试作用的远程 UI 服务的可视化镜像,还有轻量级简易版镜像版本。

1.底层镜像,可以做定制化 selenium/base: Base image which includes Java runtime and Selenium Server JAR fileselenium/node-base: Base image for Grid Nodes which includes a virtual desktop environmentselenium/hub: Image for running a Grid Hub

2.谷歌、火狐浏览器的非可视化镜像 selenium/node-chrome: Grid Node with Chrome installed, needs to be connected to a Grid Hubselenium/node-firefox: Grid Node with Firefox installed, needs to be connected to a Grid Hub

3.具有远程 UI 服务的可视化镜像(调试作用):selenium/node-chrome-debug: Grid Node with Chrome installed and runs a VNC server, needs to be connected to a Grid Hubselenium/node-firefox-debug: Grid Node with Firefox installed and runs a VNC server, needs to be connected to a Grid Hub

4.简易版镜像,不需要 GridHub 和 Node 架构:selenium/standalone-chrome: Selenium Standalone with Chrome installedselenium/standalone-firefox: Selenium Standalone with Firefox installedselenium/standalone-chrome-debug: Selenium Standalone with Chrome installed and runs a VNC serverselenium/standalone-firefox-debug: Selenium Standalone with Firefox installed and runs a VNC server

文档链接:https://github.com/SeleniumHQ/docker-selenium使用 docker 启动 GridHub

docker 启动 Node 如果想启动多个 Node,可以重新修改一下端口映射比如,将 5902:5900 修改为 5903:5900 这时候我们就可以发现图片中又显示了一个 Node 信息。如果想在一个 Node 中启动多个浏览器,我们可以更改这两个字段的数量,比如我们将 6 修改为 7NODE_MAX_INSTANCES=7;NODE_MAX_SESSION=7,这时候我们可以看到有 7 个谷歌浏览器的 logo 准备一个自动化测试脚本,以 Python 为例

运行脚本查看运行结果,成功!

更多学习资料戳下方!!!

https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=infoQ&timestamp=1662366626&author=xueqi

用户头像

社区:ceshiren.com 2022.08.29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
BAT大厂都在用的Docker。学会这三招,面试、工作轻松hold住_测试_测吧(北京)科技有限公司_InfoQ写作社区