• IOS自动化之批量解锁&锁定屏幕


    直接上代码

    获取所有设备连接信息

    # 获取所有连接设备的信息
    device_list = tidevice.Usbmux().device_list()
    
    • 1
    • 2

    批量解锁&锁定屏幕

    # -*- coding: utf-8 -*-
    """
    @Time : 2023/10/18 15:09
    @Email : Lvan826199@163.com
    @公众号 : 梦无矶的测试开发之路
    @File : 批量锁屏.py
    """
    __author__ = "梦无矶小仔"
    
    import time
    
    from airtest.core.api import *
    from airtest.core.ios.ios import IOS, wda
    import tidevice
    
    # 获取所有连接设备的信息
    device_list = tidevice.Usbmux().device_list()
    
    # 将所有的设备udid加入一个列表里面
    device_udid_list = []
    for device in device_list:
        device_udid_list.append(device.udid)
    
    
    ### 批量解锁
    def unlock_device():
    
        for device_udid in device_udid_list:
            print(device_udid)
            try:
                dev = connect_device(f"iOS:///http+usbmux://{device_udid}")
                c = wda.Client("http+usbmux://{udid}".format(udid=device_udid))
                # 判断屏幕是否锁定,锁定为True,未锁定为False
                if c.locked():
                    # 如果锁定了,则解锁
                    try:
                        c.unlock()
                    except:pass
                    print(f"{device_udid}屏幕已解锁")
                else:
                    print((f"{device_udid}屏幕原本就是解锁状态"))
            except:
                print(f"{device_udid},设备WDA服务未启动...")
    
    ### 批量锁屏
    def lock_device():
        for device_udid in device_udid_list:
            print(device_udid)
            try:
                dev = connect_device(f"iOS:///http+usbmux://{device_udid}")
                c = wda.Client("http+usbmux://{udid}".format(udid=device_udid))
                # 判断屏幕是否锁定,锁定为True,未锁定为False
                if not c.locked():
                    # 如果锁定了,则解锁
                    try:
                        c.lock()
                    except:pass
                    print(f"{device_udid}屏幕已锁屏")
                else:
                    print((f"{device_udid}屏幕原本就是锁屏状态"))
            except:
                print(f"{device_udid},设备WDA服务未启动...")
    
    
    if __name__ == '__main__':
    
        ### 批量解锁
        # unlock_device()
        ### 批量锁屏
        lock_device()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
  • 相关阅读:
    K8S Sonatype/Nexus安装(jar包管理Maven私有仓库)
    MySQL 学习笔记①
    springboot+大学生就业规划系统 毕业设计-附源码191451
    http://39.98.219.132 题库标准答案(题库序号:1969)之母舰
    Tomcat
    Springboot毕设项目城乡客运服务系统7y7y1(java+VUE+Mybatis+Maven+Mysql)
    利用SSLsplit+arpspoof 实现ARP欺骗
    华为昇腾云平台适配Baichuan2大模型记录
    【IVA】什么是IVA?
    人工神经网络可以做什么,人工神经网络有什么用
  • 原文地址:https://blog.csdn.net/qq_46158060/article/details/133932562