码迷,mamicode.com
首页 > 其他好文 > 详细

docker+selenium Grid搭建自动化分布式测试环境

时间:2018-10-26 12:08:24      阅读:602      评论:0      收藏:0      [点我收藏+]

标签:tps   分布式测试   link   pull   tcp   连接   find   使用   containe   

当自动化测试需要考虑到兼容性的时候,之前的做法是每个执行机上安装不同版本的浏览器,实际上这样做会很浪费资源,现在有了docker容器化技术,让一切变得简单

 

1、首先安装一台Ubuntu系统的服务器,可以在workstations里面创建一个虚拟机

2、虚拟机创建好了之后使用xshell连接,

  2.1 安装docker

  2.2 获取镜像

    

  docker pull selenium/hub
  docker pull selenium/node-firefox-debug
  docker pull selenium/node-chrome-debug

  2.3 使用镜像创建容器

    

  docker run -d - -p 5555:4444 --name selenium_hub registry.docker-cn.com/selenium/hub 
  docker run -d  -p 5900:5900 --link selenium_hub:hub --name chrome_node selenium/node-chrome-debug
  docker run -d  -p 5901:5901 --link selenium_hub:hub --name firefox_node selenium/node-firefox-debug
  docker ps -a查看容器运行状态
  
chen@ubuntu:~$ docker ps
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS              PORTS                    NAMES
a3110167a391        selenium/node-chrome-debug            "/opt/bin/entry_po..."   About an hour ago   Up About an hour    0.0.0.0:5902->5900/tcp   chrome_node
b230ed926f09        selenium/node-firefox-debug           "/opt/bin/entry_po..."   About an hour ago   Up About an hour    0.0.0.0:5901->5900/tcp   agitated_jepsen
ac2bd2b8912f        registry.docker-cn.com/selenium/hub   "/opt/bin/entry_po..."   24 hours ago        Up About an hour    0.0.0.0:5555->4444/tcp   selenium_hub

 

  可以访问  虚拟机ip:5555/grid/console来验证容器是否启动,如下
  技术分享图片

 

 
 安装VNC viewer
  vnc viewer是一款优秀的远程控制工具软件
  官网下载地址:https://www.realvnc.com/en/connect/download/viewer/
  安装好以后File->New connection,在弹出的界面中输入node的ip和端口号,保存后双击启动。
  连接,会要求输入密码,默认密码就是secret
  技术分享图片技术分享图片

 

 出现这个页面就代表成功连接了

技术分享图片

 

编写脚本测试一下

#coding=utf-8
from  selenium import webdriver
firefox_capabilities ={
"browserName": "firefox",
"version": "62.0.3",#注意版本号一定要写对
"platform": "ANY",
"javascriptEnabled": True,
"marionette": True,
}
browser=webdriver.Remote("http://192.168.179.128:5555/wd/hub",desired_capabilities=firefox_capabilities)#注意端口号5555是我们上文中映射的宿主机端口号
browser.get("http://www.baidu.com")
browser.find_element_by_id(kw).send_keys(docker)
browser.get_screenshot_as_file("D:/baidu.png")
browser.close()

运行脚本后,可以在VNC中实时看到运行界面

技术分享图片

 

docker+selenium Grid搭建自动化分布式测试环境

标签:tps   分布式测试   link   pull   tcp   连接   find   使用   containe   

原文地址:https://www.cnblogs.com/gcgc/p/9855431.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!