0
点赞
收藏
分享

微信扫一扫

appium触控和操作手机API

汤姆torn 2022-01-08 阅读 169
# -*- coding: utf-8 -*-
# 2022/1/8

from appium import webdriver
from time import time
from appium.webdriver.common.touch_action import TouchAction

desired_caps = {
    # 移动设备平台 Android / IOS
    'platformName': 'Android',
    # 平台OS--安卓版本号,写整数位即可
    'plathformVersion': '10',
    # 设备的名称
    'deviceName': 'X4UOCQOF79AUZX79',
    # 提供被测app的信息-包名,入口信息:
    'appPackage': 'com.hpbr.bosszhipin',
    'appActivity': '.module.launcher.WelcomeActivity',
    # 确保自动化之后不重置app
    'noReset': True,
    # 设置session的超时时间,单位秒,默认60s
    'newCommandTimeout': 6000,
    # 设置底层测试驱动-1.15默认使用的底层驱动就是UiAutomator2
    'automationName': 'UiAutomator2',  # 或者UiAutomator1
    # 'skipServerInstallation':True#跳过UI2的安装,如果第一次运行程序,不要添加该配置
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)
driver.implicitly_wait(10)
#手机设置->开发者选择->指针位置打开,获取坐标
#可以给一些无法定位的弹窗使用
#按坐标点击的触控操作
driver.tap([(500,100),100])#为确保元素加载完成再点击,强制睡眠
ele = driver.find_element_by_xpath()
ele1 = driver.find_element_by_android_uiautomator()
ele2 = driver.find_element_by_id()
TouchAction(driver).press(ele).release().perform()
TouchAction(driver).press(x=100,y=299).release().perform()
#长按一个元素或者坐标
TouchAction(driver).long_press(ele).release().perform()
TouchAction(driver).long_press(x=199,y=911,duration=6000).release().perform()
#连续点击某个元素
TouchAction(driver).tap(ele,count=3).release().perform()
TouchAction(driver).tap(x=110,y=119,count=5).release().perform()
#模拟手指等待,按下5秒后抬起
TouchAction(driver).press(ele).wait(5000).release().perform()
#多点连线,可以连续调用
TouchAction(driver).move_to(x=100,y=200).move_to(x=199,y=399)
#拖动元素,先按再移动
TouchAction(driver).press(ele).move_to(x=322,y=167).release().perform()

#手机操作API
#获取分辨率
driver.get_window_size()
#截图
driver.get_screenshot_as_file("./a.png")
#获取手机网络状态
driver.network_connection#0,1,2,4,6
#设置手机网络状态
driver.set_network_connection(6)
#获取手机当前时间
driver.device_time
#打开手机任务操作栏
driver.open_notifications()



举报

相关推荐

0 条评论