python批量启动ios设备的WebDriverAgent

简介: python批量启动ios设备的WebDriverAgent
# -*- coding: utf-8 -*-
## coding =utf-8
import os,subprocess
def get_ios_devices():
    print("===============================================================")
    print("========= 识别扫描连接IOS设备,开启tidevice终端=================")
    print("===============================================================")
    s = os.popen("tidevice list")
    s = s.buffer.readlines()
    ios_list = []
    for ios in s:
        if len(ios.split()) > 1:
            ios = ios.decode('utf-8')
            ios_list.append(ios.split()[0])
            print("苹果设备{}被扫描识别".format(ios.split()[0]))
    print('本次共扫描出%s个苹果设备' % len(ios_list))
    port = 0
    for devices in ios_list:
        port+=1
        print(devices)
        os.popen( "tidevice --udid "+ str(devices) +" xctest -B com.facebook.WebDriverAgentRunnerxzz.xctrunner -e USB_PORT:830"+ str(port)+'')
        # os.system( "tidevice --udid "+ str(devices) +" xctest -B com.facebook.WebDriverAgentRunnerxzz.xctrunner -e USB_PORT:830"+ str(port)+'')
        print(f"开启成功:{devices}:830{port}")
    return True
get_ios_devices()

com.facebook.WebDriverAgentRunnerxzz.xctrunner

这个需要替换成你自己的Xcode打包的BuildID

代码更新:

修复了os.popen()读取乱码问题‘gbk‘ codec can‘t decode byte 0x80

之前代码中没有s.buffer.readlines()及ios.decode(‘utf-8’),会报gbk错误。

使用buffer.readlines()读取出来的数据是字节,不是字符串,所以还需要将字节转化成字符,即代码中的ios.decode(‘utf-8’)。

也可以使用buffer.read().decode('utf-8),但读取出来的整体为str类型,需要自己转化成列表。建议用我的方法,readlines字节转字符再存列表。

相关文章
|
4月前
|
机器学习/深度学习 PyTorch TensorFlow
是否有其他框架可以在iOS设备上进行机器学习?
是否有其他框架可以在iOS设备上进行机器学习?
21 1
|
4月前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
33 1
|
4月前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
20 0
|
4月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
64 0
|
14天前
|
机器学习/深度学习 人工智能 物联网
hummingbird,一个便于将模型部署到边缘设备的Python库!
hummingbird,一个便于将模型部署到边缘设备的Python库!
22 1
|
4月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
32 0
|
4月前
|
iOS开发
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
101 0
|
6月前
|
缓存 Unix Linux
尝试安装或升级Python包时,由于设备上没有足够的空间而导致的错误
尝试安装或升级Python包时,由于设备上没有足够的空间而导致的错误
106 4
|
7月前
|
iOS开发 开发者
Xcode7.2真机调试iOS 9.3的设备
Xcode7.2真机调试iOS 9.3的设备
111 0
|
8月前
|
iOS开发
iOS 获取设备-语言,版本,国家
iOS 获取设备-语言,版本,国家
99 0