docker实现web端自动化测试(docker运行GUI)
来源:互联网 发布:dwg mac 免费 编辑:程序博客网 时间:2024/06/06 02:52
最近正在将自动化代码,移植到docker容器中,以方便打包给客户,顺便就把一些心得写下吧。话不多说,下面进入正题。
在这里先说明,本文章的目的在于如何使用docker,而不是深入研究其原理。
1.先普及一下什么是docker
dockers是一个开源的应用容器引擎,让使用者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上。
2.环境搭建正式开始
理解docker是什么了之后,现在开始正式构建吧(本文以Ubuntu16.04为基础搭建)。
2.1 下载docker工具
sudo apt-get install docker (此方法下载不一定是最新的docker,但不影响使用)
2.2下载docker镜像
sudo docker search $(you need images name)
sudo docker pull $(you want to use image name)
2.3搭建符合自己需求的image(注意apt-get源)
(1) 通过dockerfile文件搭建(官方推荐),通过编写dockerfile文件(dockerfile文件如何编写,网上有很多教程,在这里不详叙述)。
编写完成dockerfile,打开ubuntu终端,cd到dockerfile所在目录下,运行如下命令
sudo docker build -t="你的镜像名字:镜像Tag" .
注意命令行里面最后那个".",不要丢了。
(2) 通过commit命令构建,方法如下
sudo docker -it $(you image name) bash 进入docker容器伪终端,然后在终端里面安装自己需要的配件,安装完成后,
退出当前伪终端,运行下面命令完成新镜像搭建。
sudo docker ps -a 查找当前运行的容器 ID
sudo docker commit $(ID) "你的镜像名字:镜像Tag"
2.4 实现GUI运行
使用Xvfb来提虚拟界面显示,使用x11vnc获取Xvfb中显示内容数据,docker容器通过暴露的端口映射到主机的某一个端口,主机
通过VNCviewer就可以查看docker容器中浏览器运行画面。
sudo apt-get installl xvfb
sudo apt-get install x11vnc
Xvfb :99 &
export DISPLAY=:99
x11vnc -storepasswd(设置x11vncserver密码)
x11vnc -forever -usepw -shared -rfbport $(容器暴露端口号) -display $(DISPLAY) &
2.5 运行
至此一个可以观察容器里面浏览器运行的image搭建完毕,运行以下命令用一下吧。
sudo docker run -p 127.0.0.1:5000:5900(image暴露的端口) -it $(imageName:imageTag) bash
sudo vncviewer 127.0.0.1:5000 (输入x11vncserver密码,即可以了)
- docker实现web端自动化测试(docker运行GUI)
- Docker+Rally实现OpenStack性能测试自动化
- Docker+Rally实现OpenStack性能测试自动化
- Docker+Rally实现OpenStack性能测试自动化
- docker+selenium web自动化测试环境的部署
- docker+selenium grid+python实现分布式自动化测试
- web GUI 自动化测试调研
- docker web-GUI DockerUI和Shipyard对比
- 基于 docker 的 UI 自动化测试实践
- Docker生成自动化测试环境镜像
- Docker与Web自动化测试:一键创建Selenium Grid集群
- 构建基于 Docker + Jenkins + Sahi 的 Web UI 自动化测试环境
- 使用docker selenium 构建web自动化分布式测试环境时,遇到的一些问题
- gradle + Jetty + docker 实现Java自动化打包
- Docker容器的自动化监控实现
- jenkins和docker实现自动化构建部署
- 【jeecg Docker安装】使用 Docker 搭建 Java Web 运行环境
- supervisord + docker run = web页面管理运行的docker
- 你真的不知道你的CPU到底有多强!
- 基础+就业\黑马程序员_Springmvc+Mybatis由浅入深全套视频教程video\Springmvc+Mybatis由浅入深全套视频教程\springmvc\day0\11springmvc入
- 二维数组可以赋值一维数组
- 敲黑板敲黑板,流量卡怎么选?
- 小鑫の日常系列故事(二)——石头剪子布
- docker实现web端自动化测试(docker运行GUI)
- ts中根据一个日期获取n天前后的日期或时间戳
- spring boot之本地图片不能加载(图片路径)的问题
- Understanding reference in java
- Error:(84, 17) java: 方法不会覆盖或实现超类型的方法
- 每天一道LeetCode-----对表达式添加括号并求值,返回所有可能的计算结果
- VS2015设置头文件搜索路径
- windows核心编程---未处理异常,向量化异常处理与C++异常
- HTTP请求报文和HTTP响应报文