编辑

上期咱们以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内填写


编辑

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启动GridHub

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


编辑

运行脚本查看运行后果,胜利!