上期我们以Jenkins为例,一边实战一边了解Docker的基础命令。这期,我们将带大家使用Docker搭建三个平时测试工作中非常有用的小工具。学会这三个实战之后,你就可以说对Docker不是浅尝即止在理论阶段,而是真正有一定了解,也能为你的工作,真正的解决一部分问题。 官网下载nodeexporter。地址:https:prometheus。io 2。启动下载好的nodeexporter文件 3。填写prometheus。yml配置文件内容 4。使用命令启动prometheus 5。输入ip和端口号进入prometheus的前端界面,然后进入Targets页面 6。在首页输入命令,然后点击execute,命令有 不过这个展示界面不够友好,而且不好保存。所以在业内,我们常常将prometheusgrafana配合使用 7。启动grafana 进入grafana界面,初始账号密码为adminadmin 进入Adddatasourcs选择prometheus 配置prometheus 8。import模板 grafanadashboard内填写 GrafanaLabs 1NodeExporterforPrometheusDashboardCN20201010dashboardforGrafana 【中文版本】2020。10。10更新,增加整体资源展示!支持Grafana67,NodeExporterv0。16及以上的版本,优化重要指标展示。包含整体资源展示与资源明细图表:CPU内存磁盘IO网络等监控指标。https:github。comstarsliaoPrometheus PrometheusDataSource字段选择prometheus点击Import,就搭建成功了 注意,前方有坑: 1。如果被监控的nodeexporter是mac的话,要去prometheus官网下载mac版本的nodeexporter执行,且mac需要修改一些配置参数。 2。如果修改了prometheus。yml需要重启镜像 1。下载prommysqldexporter镜像 2。启动mysql服务 3。启动mysqldexporter镜像 注意:e之后的参数要填对,分别对应用户名密码(ip:端口号)mysql 4。在prometheus。yml的配置文件中添加mysql的配置,并dockerrestartprometheus,重新加载prometheus的配置(可以参考上面的步骤2) 5。进入prometheus页面,查看Targets中mysql是否启动成功 6。按照上面的docker启动prometheus过程,配置好之后进去grafana页码,然后选择datasource,进入prometheus,输入prometheus的url,选择SaveTest 7。导入mysql模板到grafana,mysql的模板id为6239,其他步骤和前面搭建服务器监控是一样的哦。 下面是mysql的监控效果 如果我们的WebUI自动化测试用例有上千条,执行时间常常需要12天,我们用什么方法可以节省这个执行时间呢? 接下来我们就通过分布式UI自动化,即启动多个浏览器执行UI自动化测试用例,且每个浏览器执行的UI自动化测试用例都是不同的。这样子,就可以大大提升我们的UI自动化测试的效率。 UITest层会将测试请求发送到GridHub层,而GridHub则会将这些测试请求转换为测试任务下发到每一个Node节点(在每台机器上面我们可以装一个或多个Node节点。),随后Node节点驱动浏览器进行自动化测试。测试完成后,Node节点将测试结果发送到GridHub上面,GridHub再将结果转发回我们的测试程序UITest中 (如下图所示) Selenium镜像网上有很多,官网下载即可。也可以定制化。而且还有非可视化的镜像。具有调试作用的远程UI服务的可视化镜像,还有轻量级简易版镜像版本。 1。底层镜像,可以做定制化 seleniumbase:BaseimagewhichincludesJavaruntimeandSeleniumServerJARfile seleniumnodebase:BaseimageforGridNodeswhichincludesavirtualdesktopenvironment seleniumhub:ImageforrunningaGridHub 2。谷歌、火狐浏览器的非可视化镜像 seleniumnodechrome:GridNodewithChromeinstalled,needstobeconnectedtoaGridHub seleniumnodefirefox:GridNodewithFirefoxinstalled,needstobeconnectedtoaGridHub 3。具有远程UI服务的可视化镜像(调试作用): seleniumnodechromedebug:GridNodewithChromeinstalledandrunsaVNCserver,needstobeconnectedtoaGridHub seleniumnodefirefoxdebug:GridNodewithFirefoxinstalledandrunsaVNCserver,needstobeconnectedtoaGridHub 4。简易版镜像,不需要GridHub和Node架构: seleniumstandalonechrome:SeleniumStandalonewithChromeinstalled seleniumstandalonefirefox:SeleniumStandalonewithFirefoxinstalled seleniumstandalonechromedebug:SeleniumStandalonewithChromeinstalledandrunsaVNCserver seleniumstandalonefirefoxdebug:SeleniumStandalonewithFirefoxinstalledandrunsaVNCserver 文档链接: https:github。comSeleniumHQdockerselenium 使用docker启动GridHub docker启动Node 如果想启动多个Node,可以重新修改一下端口映射比如,将5902:5900修改为5903:5900这时候我们就可以发现图片中又显示了一个Node信息。 如果想在一个Node中启动多个浏览器,我们可以更改这两个字段的数量,比如我们将6修改为7NODEMAXINSTANCES7;NODEMAXSESSION7,这时候我们可以看到有7个谷歌浏览器的logo 准备一个自动化测试脚本,以Python为例 运行脚本 查看运行结果,成功! 注意:如果服务器系统不支持可视化不加这条会启动失败chromeoptions。addargument(’headless’)