Python3+Appium实现多台移动设备操作的方法


Posted in Python onJuly 05, 2019

需求:

连接本机的(两台安卓手机)或者本机安装的(安卓模拟器两个),实现同时安装本地apk包 。

demon.py

特别说明:必须写udid才能实现同时对两台以上的移动设备操作。对deviceName中的值进行修改后是无法区分移动设备的,如果只修改deviceName的value就只能在同一台设备上进行安装了。

下面代码只是基础介绍,扩展到框架中需要根据自己需求做;

import os
import threading
import multiprocessing
from appium import webdriver
class ConcurrentExecution:
   """
   多进程并发安装本地apk
   """
     def __init__(self):
      self.driver_port = [[4700,"127.0.0.1:21503"],[4701,"127.0.0.1:21513"]]


  def android_driver(self,i):
     driver_list = []
     capabilities = {
        "platformName" : "Android",
        "udid"          : self.driver_port[i][1],
        "deviceName"   : self.driver_port[i][1],
        "app"          : "E:\\appiumautocode\\xxxoooox.apk",
        "noReset"       : "True"
         }
     driver = webdriver.Remote("http://127.0.0.1:{0}/wd/hub".format(self.driver_port[i][0]),capabilities)
     driver_list.append(driver)
     return driver_list


   def kill_server(self):
     """
      清理appium环境,杀node.exe的进程
      :return:
   
 """
     server_list = os.popen('tasklist | find "node.exe"').readlines()
     print(server_list)
     if len(server_list)>0:
      os.system("taskkill -F -PID node.exe")


   def start_appium_server(self,j):
     """
      启动appium服务器
      :return:
     """
     li_port = [4700,4701]
     os.system("appium -p {0}".format(li_port[j]))


if __name__ == '__main__':

   obj = ConcurrentExecution()
   obj.kill_server()
  
   for j in range(2): #启动服务
      th = threading.Thread(target=obj.start_appium_server,args=(j,))
    
th.start()

   for i in range(2): #运行
      t = multiprocessing.Process(target=obj.android_driver,args=(i,))
      t.start()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中反射用法实例
Mar 27 Python
探究数组排序提升Python程序的循环的运行效率的原因
Apr 01 Python
python验证码识别教程之滑动验证码
Jun 04 Python
pandas 条件搜索返回列表的方法
Oct 30 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
Mar 11 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
django rest framework vue 实现用户登录详解
Jul 29 Python
python sqlite的Row对象操作示例
Sep 11 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
python字典和json.dumps()的遇到的坑分析
Mar 11 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
python opencv旋转图片的使用方法
Jun 04 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 #Python
python读出当前时间精度到秒的代码
Jul 05 #Python
python读写csv文件方法详细总结
Jul 05 #Python
Python考拉兹猜想输出序列代码实践
Jul 05 #Python
python读写csv文件实例代码
Jul 05 #Python
python暴力解压rar加密文件过程详解
Jul 05 #Python
Python 使用folium绘制leaflet地图的实现方法
Jul 05 #Python
You might like
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
python 实时遍历日志文件
2016/04/12 Python
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
python实现图片横向和纵向拼接
2020/03/05 Python
Python中格式化字符串的四种实现
2020/05/26 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
Java语言程序设计测试题选择题部分
2014/04/03 面试题
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
网上蛋糕店创业计划书
2014/01/24 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
给校长的建议书范文
2015/09/14 职场文书
Python函数中apply、map、applymap的区别
2021/11/27 Python