1.docker appium镜像和命令:https://github.com/appium/appium-docker-android

2.启动appium

docker run --privileged -d -p 4723:4723 -v ~/.android:/root/.android -v /dev/bus/usb:/dev/bus/usb --name appium appium/appium

3.docker appium连接设备

adb devices   # 查看windows连接设备
adb connect 127.0.0.1:62001   # 手动连接设备
adb -s 127.0.0.1:62001 tcpip 5555(自己设置的端口号)   # 更改连接方式
docker exec -it appium adb devices   # 查看连接设备
docker exec -it appium adb connect 127.17.100.15(模拟器ip):5555(端口)   # 手动连接设备

4.开启多个appium容器

docker run --privileged -d -p 4723:4723 -v ~/.android:/root/.android -v /dev/bus/usb:/dev/bus/usb --name appium1 appium/appium

docker run --privileged -d -p 4724:4723 -v ~/.android:/root/.android -v /dev/bus/usb:/dev/bus/usb --name appium2 appium/appium

docker run --privileged -d -p 4725:4723 -v ~/.android:/root/.android -v /dev/bus/usb:/dev/bus/usb --name appium3 appium/appium

5.docker appium连接

adb -s 127.0.0.1:62001 tcpip 5555(自己设置的端口号)   # 更改连接方式
docker exec -it appium adb devices   # 查看连接设备
docker exec -it appium adb connect 192.168.31.158(模拟器ip):5555(端口)

adb -s 127.0.0.1:62025 tcpip 5555(自己设置的端口号)   # 更改连接方式
docker exec -it appium adb devices   # 查看连接设备
docker exec -it appium adb connect 192.168.31.173(模拟器ip):5555(端口)

adb -s 127.0.0.1:62026 tcpip 5555(自己设置的端口号)   # 更改连接方式
docker exec -it appium adb devices   # 查看连接设备
docker exec -it appium adb connect 192.168.31.174(模拟器ip):5555(端口)

6.修改代码

from appium import webdriver

desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = '192.168.31.158(夜神模拟器ip):5555(tcpip转换的端口)'
# desired_caps['deviceName'] = '127.0.0.1:62001'  # 夜神模拟器
# self.desired_caps['deviceName'] = 'MXF5T15C24001273'  # 华为手机
desired_caps['platformVersion'] = '5.1.1'  # 夜神模拟器
# self.desired_caps['platformVersion'] = '6.0'  # 华为手机
desired_caps['appPackage'] = 'cn.rongcloud.kaixinliao'
desired_caps['appActivity'] = 'cn.rongcloud.kaixinliao.ui.activity.SplashActivity'
desired_caps['noReset'] = True
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True

driver = webdriver.Remote('http://192.168.31.111(服务器ip):4723(appium映射的端口号)/wd/hub', desired_caps)

  

  

docker 部署appium的更多相关文章

  1. 自动化测试平台环境docker部署

    参考资料:testin云测 https://www.testin.cn接口自动化测试平台:http://120.79.232.23星云测试 http://www.threadingtest.com腾讯 ...

  2. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  3. Windows下部署Appium教程(Android App自动化测试框架搭建)

    摘要: 1,appium是开源的移动端自动化测试框架: 2,appium可以测试原生的.混合的.以及移动端的web项目: 3,appium可以测试ios.android.firefox os: 4,a ...

  4. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

  5. 程序开发使用docker部署

    我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...

  6. 我使用celery以及docker部署遇到的问题

    首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...

  7. Docker部署SDN环境

    2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...

  8. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  9. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...

随机推荐

  1. Kubernetes集群的安全机制

    集群的安全性需要考虑以下几个目标: 1.保证容器与其所在宿主机的隔离 2.限制容器给基础设施及其他容器带来的消极影响的能力 3.最小权限原则——合理限制所有组件的权限,确保组件只执行它被授权的行为 4 ...

  2. Redis系列1——概述

    1. 简介 Redis,key-value内存存储的数据库,全称“”Remote Dictionary Service(Sever)“”,默认端口号:6379 Redis是一个开源的使用ANSI C语 ...

  3. springboot2.0 management.security.enabled无效

    在1.5.x版本中通过management.security.enabled=false来暴露所有端点 在使用springcloud的时候,如果基于springboot2的版本的配置中心,无法使用SV ...

  4. golang基础之工程结构

    Golang 工作空间 编译工具对源码目录有严格要求,每个工作空间 (workspace) 必须由 bin.pkg.src 三个目录组成. workspace | +--- bin // go ins ...

  5. OAuth2.0授权码模式

    OAuth2.0简单说就是一种授权的协议,OAuth2.0在客户端与服务提供商之间,设置了一个授权层(authorization layer).客户端不能直接登录服务提供商,只能登录授权层,以此将用户 ...

  6. 【MySQL】GTID小结

    1.GTID的概念 GTID(global transaction identifier)是全局事务标识符,在MySQL5.6版本中作为一个超级特性被推出.事务标识不仅对于Master(起源)的服务器 ...

  7. 使用LocalDateTime计算两个时间的差

    LocalDateTime now = LocalDateTime.now();System.out.println("计算两个时间的差:");LocalDateTime end ...

  8. AngleSharp 实战(05)之遍历内部子元素(x)元素,尝试着获取元素的 Attr 和 InnerText

    直接贴代码了: using System; using System.Linq; using System.Threading.Tasks; using AngleSharp; using Angle ...

  9. Python sorted 函数

    Python sorted 函数 sorted 可以对所有可迭代的对象进行排序操作,sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作.从新排序列表. sorted 语法: ...

  10. mysql建表中auto_increment=21

    CREATE TABLE `demo` ( `id` ) NOT NULL AUTO_INCREMENT, `img` ) DEFAULT NULL COMMENT '大图', `status` ) ...