python控制手机模拟器_Python3+Appium实现多台移动设备操作的方法

需求:

连接本机的(两台安卓手机)或者本机安装的(安卓模拟器两个),实现同时安装本地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()

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

本文标题: Python3+Appium实现多台移动设备操作的方法

本文地址: http://www.cppcns.com/jiaoben/python/264747.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值