appium实现九宫格手势设置

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/dengachao/article/details/100290021

一、测试环境

Win 10
java version "1.8.0_181"
Appium v1.14.1(不能低于1.6.3)
selenium:3.141.0
测试设备:Android 5.1.1
Python:3.6
测试App:随手机App

二、测试场景
场景一:base脚本里的desired_caps['noReset'] = 'False'

1 自动安装随手机App,然后启动App

2 实现以下截图手势设置

三、参考代码

from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
from selenium.common.exceptions import NoSuchElementException
from time import sleep
from selenium.webdriver.support.ui import WebDriverWait

desired_caps={}
desired_caps['platformName'] = 'Android'
# desired_caps['deviceName'] = '127.0.0.1:62025'
# desired_caps['platforVersion'] = '5.1.1'

desired_caps['deviceName'] = 'HUAWEI Mate 20'
desired_caps['platforVersion'] = '9'
desired_caps['udid'] = '66J0218C28008638'
# desired_caps['automationName']='uiautomator2'

desired_caps['app'] = r'D:\download\mymoney.apk'
desired_caps['appPackage'] = 'com.mymoney'
desired_caps['appActivity'] = 'com.mymoney.biz.splash.SplashScreenActivity'


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

#获取尺寸
def get_size():
    x = driver.get_window_size()['width']
    print(x)
    y = driver.get_window_size()['height']
    print(y)
    return x,y
#显示屏幕尺寸:width,height
l = get_size()
print(l)
print(l[0])
#向左滑动
def swipeLeft():
    l = get_size()
    x1 = int(l[0] * 0.9)
    # print(l[0])
    y1 = int(l[1] * 0.5)
    x2 = int(l[0] * 0.1)
    driver.swipe(x1,y1,x2,y1,2000)

def swipeUp():
    l = get_size()
    x1 = int(l[0] * 0.5)
    # print(l[0])
    y1 = int(l[1] * 0.95)
    y2 = int(l[1] * 0.35)
    driver.swipe(x1,y1,x1,y2,2000)
WebDriverWait(driver,6).until(lambda x:x.find_element_by_id('com.mymoney:id/next_btn'))
for i in range(2):
    swipeLeft()
    sleep(0.5)
#滑动二次后开始点击开始随手机按钮
driver.find_element_by_id('com.mymoney:id/begin_btn').click()
try:
    closeBtn = driver.find_element_by_id('com.mymoney:id/close_iv')
except NoSuchElementException:
    pass
else:
    closeBtn.click()
#点击下面的更多
driver.find_element_by_id('com.mymoney:id/nav_setting_btn').click()
WebDriverWait(driver,6).until(lambda x:x.find_element_by_id('com.mymoney:id/content_container_ly'))
swipeUp()
# driver.find_element_by_android_uiautomator("new UiSelector().text('高级')").click()
driver.find_element_by_android_uiautomator('new UiSelector().text("高级")').click()
driver.find_element_by_id('com.mymoney:id/password_protected_briv').click()
driver.find_element_by_id('com.mymoney:id/lock_pattern_or_not_sriv').click()
for i in range(2):
    TouchAction(driver).press(x=165,y=201).wait(2000)\
    .move_to(x=163,y=606).wait(1500)\
    .move_to(x=365,y=794).wait(1500)\
    .move_to(x=559,y=753).wait(1500)\
    .release().perform()

猜你喜欢

转载自blog.csdn.net/dengachao/article/details/100290021