自动化测试平台环境docker部署
参考资料:
testin云测 https://www.testin.cn
接口自动化测试平台:http://120.79.232.23
星云测试 http://www.threadingtest.com
腾讯云测 http://wetest.qq.com
阿里云测 http://mqc.aliyun.com
51testing社区: http://www.51testing.com/html/
testhome社区: https://testerhome.com/topics/
霍格沃兹测试学院
http://www.dragontesting.cn
https://viptest.net
http://www.primeton.com/products/uc/overview.php
https://www.cnblogs.com/40406-jun/p/6642112.html
Appium+Python3+iOS真机环境搭建
Appium+IOS+Java真机自动化环境搭建配置
Selenium Grid/zalenium+robotium
selenium+testng/unitest/pytest
##可视化测试系统
demo: http://47.100.231.216:8083/atnest/
用户名:user
密码: user
Allure--自动化测试报告生成
https://github.com/allure-framework/allure2/releases
自动化测试--实现一套完全解耦的测试框架(三)
https://www.cnblogs.com/clairejing/p/9756385.html
https://opensource.zalando.com/zalenium/#usage
sonarqube+jenkins实现持续CodeReview
itest--https://www.cnblogs.com/mypm/p/10823752.html
Java+Testng+Maven+Jenkins+ExtentReports+Retrofit2+Git
自动化、极速、稳定
www.importnew.com/14508.html
http://www.dragontesting.cn/index.html
项目管理、接口管理、用例管理、测试报告、任务设置
https://www.xuebuyuan.com/763996.html
https://testerhome.com/opensource_projects/37
###git项目
https://github.com/liuweijw/fw-cloud-framework
https://github.com/ZhuBaker/Tracing
https://www.infoq.cn/article/kFSZ-ZBBp566XD8hTiwt 蚂蚁金服自动化测试框架 SOFAActs 原理和使用
https://github.com/sofastack/sofa-acts
##自动化测试
https://git.bxd365.com/laoliang/autotestclient.git
##
http://itindex.net/detail/58083-%E6%80%A7%E8%83%BD-%E6%B5%8B%E8%AF%95
############自动化测试开发服务器地址:
192.168.1.81
root
xiangju123456
##jenkins发布机##
http://192.168.1.81:9090
jenkins_admin
###luckyframe测试环境地址:192.168.1.117
root
abcd.1234A117
Maven 3.5.4+idea
###MAT云真机地址
http://192.168.1.81:8080/
##stf原生群控地址:
http://192.168.1.81:7100/
##HttprunnerManager系统地址:
http://192.168.1.81/api/register/
用户名:maxtian
密码: tianyi
https://github.com/HttpRunner/HttpRunnerManager
接口测试jmeterweb化地址:
http://ownerworld.tpddns.cn:8089/#/home
账号:zgq346712481
###testin云测平台
https://www.testin.cn/realmachine/index.htm
calfonlyone@foxmail.com
##docker官方账号
zgqdocker123456
12列shfit12列
docker镜像迁移
nohup docker save test_init_img | gzip > /home/xiangju/soft_three/open-MAT-test_img201904.tar.gz 2>&1 &
https://www.jianshu.com/p/64becdd8927c
###############################
Hadoop(hdfs+hbase+MapReduce+hive)
兼容测试的原理,遍历跑业务脚本到批量真机驱动APP进行业务操作,然后收集监控日志分析,输出测试报告
#############如何通过 Docker 快速构建 Appium 开发环境
###
1 添加用户
adduser xiangju
passwd xiangju
**cabuxj123
whereis sudoers
ls -l /etc/sudoers
chmod -v u+wrx /etc/sudoers
vi /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
xiangju ALL=(ALL) ALL
centos7中没有安装ifconfig命令的解决方法
yum install net-tools.x86_64
二 部署docker
https://www.runoob.com/docker/centos-docker-install.html
sudo usermod -aG docker your-user
$ sudo docker run hello-world
docker ps
https://www.runoob.com/docker/docker-hello-world.html
###使用docker部署STF服务(CentOS环境)
一、安装docker环境
https://hub.docker.com/r/appium/appium
sudo service docker restart
1 docker中启动所有的容器命令
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2);
docker restart nginx
2 docker中关闭所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2);
3 docker中删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2);
docker rm fb087642b497(镜像ID)
4 docker中删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2);
su root # 先切换到root用户, 再执行以下命令
systemctl enable docker # 开机自动启动docker
systemctl start docker # 启动docker
systemctl restart docker # 重启dokcer
查看日志
docker logs -f 容器名
Docker 容器镜像删除
1.停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
2.查看当前有些什么images
docker images
3.删除images,通过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部image的话
docker rmi $(docker images -q)
更新软件
sudo yum update
执行安装
sudo yum install docker
查看docker镜像
sudo docker images
docker pull muicoder/appium
//(1)启动镜像并运行命令
sudo docker run centos echo 'hello word'
//(2)启动交互式终端
docker run --name=bxp02 -i -t centos /bin/bash
##进入指定的容器--根据服务关键字过滤
sudo docker exec -it `(docker ps -a|grep help|sed -n "1, 1p"| awk '{print $1}')` /bin/bash
1 docker start 容器名 启动某个容器
2 docker stop 容器名 停止某个容器
3 docker rm 容器名 删除某个容器
二、拉取相关镜像
STF镜像
sudo docker pull openstf/stf:latest
Android adb镜像
sudo docker pull sorccu/adb:latest
rethinkdb镜像
sudo docker pull rethinkdb:latest
ambassador镜像
sudo docker pull openstf/ambassador:latest
nginx代理镜像
sudo docker pull nginx:latest
三、创建容器实例
在CentOS7中运行docker容器,挂载的本地目录在容器中没有执行权限,原因是CentOS7中的安全模块selinux禁用了相关权限。
关闭selinux
su -c "setenforce 0"
启动容器
启动rethinkdb数据库
sudo docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
启动adb service ##把docker adb服务设备挂载目录--映射到宿主机的挂载设备目录--插上USB设备(手机)
sudo docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
启动stf(最后的ip地址参数为本机的局域网ip地址)
sudo docker run -d --name stf --net host openstf/stf stf local --public-ip 192.168.1.81
##abd远程连接无线设备
sudo docker run -d --name stf --net host openstf/stf stf local --public-ip 192.168.1.81 --adb-host 192.168.10.135 --adb-port 5037 --allow-remote
查看启动的docker容器
sudo docker ps -a
四、关闭防火墙 查看stf服务
关闭系统防火墙
systemctl stop firewalld.service
打开浏览器输入:http://192.168.1.81:8090/ 访问rethinkdb数据库
对象数据库查询
使用示例: Data Explorer 在线查询工具
0.列出所有的数据库
r.dbList()
1.列出数据库rethinkdb下所有表
r.db('rethinkdb').tableList()
2.列出jobs表下面的内容
r.db('rethinkdb').table('jobs')
打开浏览器输入:http://192.168.1.81:7100 访问stf服务
####http://192.168.1.81:7100/auth/mock/
stftest
346712481@qq.com
作者:与你若只如初见v
链接:https://www.jianshu.com/p/10bdf33d2c64
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
###########################
###docker appium环境搭建
Docker Appium 配置
docker pull appium/appium:1.9.1-p0
docker pull appium/appium-emulator:1.1-arsenal
docker run --privileged -d -p 4723:4723 -v /dev/bus/usb:/dev/bus/usb --name appium-1.9.1-p0 appium/appium:1.9.1-p0
#####基于docker实现APP和WEB自动化测试分布式并发执行脚本
####docker+selenium grid+python实现分布式自动化测试
https://blog.csdn.net/songer_xing/article/details/78626592
docker run -p 5556:4446 -d --name hub selenium/hub
docker run -d -p 5901:5901 --link hub:hub selenium/node-chrome-debug
使用APPium+Robotframework框架实现一台电脑连接多台安卓设备自动化测试
###stf二次开发
1 修改登录页logo
/usr/local/node/node-v8.11.2-linux-x64/lib/node_modules/stf/res/common/logo
2 修改设备页logo
http://192.168.10.135:7100/static/app/build/e831b7164c8a65b849691bff62cdb160.png
/usr/local/node/node-v8.11.2-linux-x64/lib/node_modules/stf/res/build
3 OPENSTF平台网络流量优化方案详解--https://blog.csdn.net/zhonglunshun/article/details/80831537
/usr/local/lib/node_modules/stf/lib/units/device/plugins/screen/stream.js
docker下修改
/app/lib/units/device/plugins/screen
80--50
/app/lib/cli/device/index.js
/app/lib/cli/provider/index.js
cat /app/lib/cli/provider/index.js|grep 50
/app/node_modules/eventemitter3/index.js
####项目介绍
功能
系统支持
支持Android版本2.3.3 (SDK10) 到7.1 (SDK25))
支持Wear 5.1
无需root
Web浏览器管理设备
屏幕操作和显示(30-40fps)
支持PC机键盘输入到远程的设备(复制粘贴)
支持多点触控操作远程设备
支持adb connnect远程连接调试
拖拽安装APK
远程设备提供
设备信息的展示(如:网络状态,MIME,android版本,手机型号等等)
远程开关机,远程开关WIFI,截屏,LogCat等等
执行Shell命令
设备文件管理
主要依赖
Node.js >= 4.2 (latest stable version preferred)
ADB properly set up
RethinkDB >= 2.2
GraphicsMagick (for resizing screenshots)
ZeroMQ libraries installed
Protocol Buffers libraries installed
yasm installed (for compiling embedded libjpeg-turbo)
pkg-config so that Node.js can find the libraries
平台语言
页面html使用Pug模版引擎
前端使用的是Angularjs
后端使用的是Nodejs
数据库使用的是对象型数据库Rethinkdb
Rethinkdb
Rethinkdb 属于对象型数据库,使用的是json字符串格式保存数据。
目录详解
/.tx #集成翻译平台Transifex的相关配置,用于语言翻译
/bin #启动文件,调用的是lib/cli.js
/docker #Docker的相关配置
/lib #后端
/res #前端
/doc #文档说明,包含VNC,部署,API
/test #状态检测
/vendor #安装到手机上的应用和服务,包括minirev,minitouch,STFService
前端res
主要为Service服务和View页面两大部分
/app #前端web
- /components/stf #服务组件,用于与后端通讯
- /control-panes #页面,设备控制
- /device-list #页面,设备列表
- /docs #页面,帮助
- /layout #页面,布局
- /menu #页面,菜单
- /setting #页面,设置
- /terminal #页面,终端样式
- /user #页面,用户,暂未完成
- /views #页面,主视图
/auth #登录认证
- /ladp #页面,LADP认证
- /mock #页面,默认验证
/common #其他
- /lang #语言包
- /logo #页面,图标
- /status #页面,脚本
/test #登录,跳转
/web_modules #样式
后端lib
/db #数据操作相关文件
/units #核心代码,用于功能实现
- /api #主要的RESTful APIs
- /app #提供主要HTTP服务,处理所有静态资源,包括图片,脚本和样式表
- /auth #授权验证,Mock auth,OAuth 2.0,LDAP,SAML 2.0
- /device #设备功能的具体实现.设备端底包,服务和STFservice.apk的安装
- /log #将设备事件log存储至数据库
- /notify #用于推送通知或到你的环境
- /pooxy #数据库代理相关
- /processer #设备和app之间的桥,几乎所有通讯都经过它
- /provider #设备提供和发收命令
- /reaper #接收心跳,处理设备异常断连
- /storage #截图,图像存储和调整,操作apk
- /triproxy #用于接受和处理来自app和设备端的请求
- /websocket #用于客户端js和服务端(ZeroMQ,Protobuf )的通讯,所有action均由此发送
/util #内部方法
/wire #队列,路由,流相关方法
##########################################################
docker restart adbd #开启容器内的adb
docker rm CONTAINER ID
sudo docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
docker exec -it CONTAINER ID /bin/sh
docker restart hub
docker restart stf
docker restart rethinkdb
docker restart new_appium1
docker logs -f 容器名 #查看日志
docker exec -it `(docker ps -a|grep help|sed -n "1, 1p"| awk '{print $1}')` /bin/bash
docker exec -it CONTAINER ID /bin/bash
docker exec -it CONTAINER ID /bin/sh
docker ps -a #查看当前运行的容器
########stf--adb远程无线连接设备
http://192.168.10.135:7100/#!/control/192.168.10.236:5554
##error: could not install *smartsocket* listener: Address already in use
adb kill-server 杀掉宿主机的adb服务端口 (docker sorccu/adb与宿主机只能运行其中一个)
lsof -i tcp:5037
docker exec -it 42624571f8e6 /bin/sh 进入容器
adb tcpip 5555 开启无线端口
adb connect 192.168.10.115:5555 ## 服务器adb 连接无线设备IP+端口
adb connect命令连接多个Android设备
adb shell 进入手机的控制终端,相当于原生的Linux系统的各种操作。
当提示符为$符号,说明未获得超级管理员权限,输入su,可编程#
adb kill-server
adb start-server
adb push /data/data/123.txt D:\ 复制文件到d盘目录adb
lsof -n -i4TCP:5037 | grep LISTEN
kill -9 <PID>
adbkit abd无线连接
STF中ADB connect的使用
安装nodejs
推荐使用nvm安装
安装adbkit
$ npm i -g adbkit
启动usb转tcp服务
$ adbkit usb-device-to-tcp -p $port $serial
再另一台装有adb的机器上进行设备的连接
假设启动adbkit服务的机器ip是10.0.0.1 端口是15555
$ adb connect 10.0.0.1:15555
STF 远程控制大量 Android 设备
ADB连接手机的两种方式(usb数据线连接和wifi连接)
通过adb连接到Docker容器中的USB Android设备
如何通过 Docker 快速构建 Appium 开发环境?
https://jingyan.baidu.com/article/ce436649379e0a3772afd354.html
###docker制作镜像,然后导出,上传远程服务器,然后再导入运行
docker save eb40dcf64078> /root/mydjango-save-1016.tar 将镜像保存为本地文件,其中eb40dcf64078为image id
使用load方法加载刚才上传的tar文件
docker load < /root/mydjango-save-1016.tar
#查看容器
docker ps -a|grep help
#进入容器
docker exec -it 1113a9057304 /bin/bash
##进入指定的容器--根据服务关键字过滤
docker exec -it `(docker ps -a|grep help|sed -n "1, 1p"| awk '{print $1}')` /bin/bash
docker exec -it `docker ps -a|grep help|sed -n "1, 1p"| awk '{print $1}'` /bin/bash
##查看php服务
ps -ef|grep php
docker ps -a|grep help|awk -f {}
docker ps -a|grep help|sed -n "1, 1p"| awk '{print $1}'
docker exec -it |docker ps -a|grep help|sed -n "1, 1p"| awk '{print $1}'|/bin/bash
docker exec -it < `docker ps -a|grep help|sed -n "1, 1p"| awk '{print $1}'` /bin/bash
docker exec -it | (docker ps -a|grep help|sed -n "1, 1p"| awk '{print $1}') /bin/bash
docker rm `docker ps -a | grep Exited | awk'{print $1}'` 删除异常退出的容器
docker exec -it `(docker ps -a|grep help|sed -n "1, 1p"| awk '{print $1}')` /bin/bash
docker ps -q --no-trunc --filter name=^/foo$
docker ps -q --no-trunc --filter name=^rest-helper.beta$
自动化测试平台环境docker部署的更多相关文章
- 生产环境Docker部署ELK跨区访问kafka不通问题的解决
由于分布式系统的日志集中采集的需求非常强烈,我们组通过调研和实践搭建了一套基于Docker的日志收集系统Amethyst. 我们首先在测试环境搭建了一套基于Docker swarm集群的ELK分布式环 ...
- web自动化测试---测试环境的部署
当前我的测试环境配置如下: python3.6 下载地址: https://www.python.org/downloads/release/python-365/ 选择windows版本,下载完成后 ...
- dapi 基于Django的轻量级测试平台八 Docker部署
QQ群: GitHub:https://github.com/yjlch1016/dapi 采用Docker+Supervisor+Nginx+uWSGI+Django 一.Dockerfile文件: ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip
之前在测试环境(centos7.2)上部署了openstack云平台(完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建),openstack在neutron组网 ...
- Docker部署SDN环境
2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...
- 测试环境docker化(一)—基于ndp部署模式的docker基础镜像制作
本文来自网易云社区 作者:孙婷婷 背景 我所在测试项目组目前的测试环境只有一套,在项目版本迭代过程中,开发或产品偶尔会在测试环境进行数据校验,QA人数在不断增加,各个人员在负责不同模块工作时也会产生脏 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像
在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...
- 在生产环境使用Docker部署应用
导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...
- 学习笔记TF022:产品环境模型部署、Docker镜像、Bazel工作区、导出模型、服务器、客户端
产品环境模型部署,创建简单Web APP,用户上传图像,运行Inception模型,实现图像自动分类. 搭建TensorFlow服务开发环境.安装Docker,https://docs.docker. ...
随机推荐
- 模拟vue实现简单的webpack打包
一.安装nodejs,查看是否安装成功 二.package.json项目初始化 npm init 电脑有node环境,在根目录下运行命令npm init初始化项目,根据提示输入项目相关信息,然后运行. ...
- SQL Server DACPAC数据库部署错误
DACPAC使用sqlpackage.exe进行部署,部署时候报错: EXEC : error SQL72035: [dbo].[table] is under change data capture ...
- React-Native 之 GD (九)POST 网络请求封装
1.POST /** * * POST请求 * * @param url * @param params {}包装 * @param headers * * @return {Promise} * * ...
- ORA-00972
SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') as 日期时间 from dual;select to_char(sysdate,'YY ...
- LinkedBlockingDeque 源码分析
LinkedBlockingDeque LinkedBlockingDeque 能解决什么问题?什么时候使用 LinkedBlockingDeque? 1)LinkedBlockingDeque 是基 ...
- day50—JavaScript鼠标拖拽事件
转行学开发,代码100天——2018-05-05 今天通过鼠标拖拽事件复习巩固一下鼠标事件. 鼠标拖拽事件需要记住两点: 1.距离不变 2.鼠标事件(按下,移动,抬起) <div id=&quo ...
- VMware 虚拟化编程(6) — VixDiskLib 虚拟磁盘库详解之二
目录 目录 前文列表 VixDiskLib 虚拟磁盘库 VixDiskLib_Open 打开 VMDK File VixDiskLib_Read 读取 VMDK File 数据 VixDiskLib_ ...
- 写Rust的感觉
以前写代码,像是学会了语言规则,可以在不违反规则的情况下,随便使用特性,这个世界就是你的了. 写Rust,就像是一个法律文本,编译器像是一个法官. 你只能在法律容许的情况下,做事情,更法官很严格,在编 ...
- shift()函数
用于对dataframe中的数整体上移或下移, 当为正数时,向下移. 当为负数时,向上移. 缺少的会填充NaN 参考: https://blog.csdn.net/kizgel/article/det ...
- request.getParameter() 和request.getAttribute()
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wrs120/article/details/79287607[相同点] 1.都是HttpServle ...