python + appium 玩法

环境:

appium桌面版

python 3.10

点击startServer

 

 

---------------------------------------------------------------------------------------------------

kill_remote_control.py

# coding=utf-8
import os
import time

from appium import webdriver
from selenium.webdriver.common.by import By
import my_driver


def kill_remotely(i):
    desired_caps = {
        "platformName": "Android", # 设备类型
        "platformVersion": "11",
        "deviceName": my_driver.drivers[i],
        "udid": my_driver.drivers[i],
        "appPackage": "com.android.tv.settings",
        "appActivity": "com.android.tv.settings.MainSettings",
        "unicodeKeyboard": True,
        "resetKeyboard": True,
        "noReset": True,
        "newCommandTimeout": 3600 # 设置超时时间,超过后会自动关闭 session
    }

    driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)

    # 旧版本的调用
    # driver.find_element_by_xpath("//android.widget.TextView[@text='Device Preferences']").click()
    # driver.find_element_by_xpath("//android.widget.TextView[@text='Accessibility']").click()

    # selenium 4.4 的调用
    driver.find_element(By.XPATH, "//android.widget.TextView[@text='Device Preferences']").click()

    width = driver.get_window_size()['width']

    height = driver.get_window_size()['height']

    print(width, height)

    # adb 命令
    adb_common_keyevent_20 = 'adb -s ' + my_driver.drivers[i] + ' shell input keyevent 20'
    adb_common_install_ZTEJavaWirelesskey_apk = 'adb -s ' + my_driver.drivers[i] + r' install -r D:\zhw\apk\ZTEJavaWirelesskey.apk'
    adb_common_keyevent_4 = 'adb -s ' + my_driver.drivers[i] + r' shell input keyevent 4'
    adb_common_setprop_remotekey_2 = 'adb -s ' + my_driver.drivers[i] + ' shell "setprop sys.remotekey.forbid 2"'

    # 下拉设置界面
    for a in range(17):
        os.system(adb_common_keyevent_20)

    # 安装ZTEJavaWirelesskey.apk
    os.system(adb_common_install_ZTEJavaWirelesskey_apk)

    time.sleep(3)
    # driver.swipe(960, 960, 960, 540, duration=500) 页面滑动,可能是手机的才适用,机顶盒没有作用

    driver.find_element(By.XPATH, "//android.widget.TextView[@text='Accessibility']").click()

    # 下拉设置界面
    for a in range(10):
        os.system(adb_common_keyevent_20)

    driver.find_element(By.XPATH, "//android.widget.TextView[@text='ZTEJavaWirelesskey']").click()
    driver.find_element(By.XPATH, "//android.widget.TextView[@text='Enable']").click()
    driver.find_element(By.XPATH, "//android.widget.TextView[@text='OK']").click()

    for a in range(10):
        os.system(adb_common_keyevent_4)

    os.system(adb_common_setprop_remotekey_2)
    print('--------运行完成----------', my_driver.drivers[i])

my_main.py

import os
import threading
import kill_remote_control
import my_driver


if __name__ == '__main__':

    adb_devices = os.popen("adb devices")
    # splitlines \n换行符切割字符串
    adb_devices_list = adb_devices.read().split()

    i = 4
    while i <= len(adb_devices_list):
        j = 1
        my_driver.drivers[j] = adb_devices_list[i]
        i += 2
        j += 1

    for i in range(len(my_driver.drivers)):
        t = threading.Thread(target=kill_remote_control.kill_remotely, args=(i,))
        t.start()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值