Appium python 实现 app 九宫格手势密码设置和解锁操作,支持你想要的任何手势

我这么菜,这么办 · 2016年12月26日 · 最后由 bauul 回复于 2017年05月25日 · 1797 次阅读

testerhome 里看了很多前辈对九宫格手势密码的操作,也看到许多人在问,前段时间也刚做完 app,也封装了一个手势你们操作,分享给大家,希望给大家一些思路
我的这个是这样的,首先自己标记九宫格的排列顺序即索引 (list 里会用到),横三排数分别是 0,1,2,3,4,5,6,7,8 对,就跟大家通过 UIautomator 获取到的索引一致,在设置或者解锁时,自行输入索引号即可 (该索引号是可在手机上连滑成功的,而非类似 01238 这样跳点滑),说那么多,看代码

#coding=utf-8
'''手势密码模块'''
import os,sys,time
sys.path.append(os.path.abspath('..'))
from appium.webdriver.common.touch_action import TouchAction
from test_control.app_mylog import logs
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from test_control.app_page_objectdata import pageobject
class GesturePwd(object):
    """手势密码操作"""
    @classmethod
    def gesture_pwd(cls,driver,gesture_pwd_index):
        u"""
        1.gesture_pwd_index 是手势密码点排列顺序
        2.采用字符串拼接方式,根据密码点个数拼接,最后执行
        """
        logs.info(u'手势密码操作')
        bt =driver
        WebDriverWait(bt,10).until(expected_conditions.presence_of_element_located((By.ID,pageobject['gesture'])))
        pwd_point_list = bt.find_elements_by_class_name(pageobject['gesture_elements'])  #获取9个密码点元素
        touch_start = "TouchAction(bt).press(pwd_point_list[gesture_pwd_index[0]]).move_to(pwd_point_list[gesture_pwd_index[0]])"
        a = touch_start
        for i in gesture_pwd_index[1:-2]:
            b = ".move_to(pwd_point_list[{}]).wait(100)".format(i)
            a = a + b
        final = "{0}.move_to(pwd_point_list[gesture_pwd_index[{1}]]).release().perform()".format(a,-1)
        exec(final)
        logs.info(u'手势密码操作完成')
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 1 条回复 时间 点赞

android 没问题,但是 ios 不行吧

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册