• TouchAction的花式应用——APP九宫格绘制


    # !/usr/bin/env python3
    # -*- coding: utf-8 -*-
    # @Time : 2019/12/27 18:16
    # @Author : "小多肉"
    # @Email : 1021181701@qq.com
    
    """
    TODO:1225- 前程贷app(也可用其它app)九宫格绘制实现
    TouchAction的花式应用。。。
    """
    
    import time
    
    from appium import webdriver
    from appium.webdriver.common.mobileby import MobileBy
    from appium.webdriver.common.touch_action import TouchAction
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.wait import WebDriverWait
    
    desired_caps = {
    # "automationName":"appium" # 自动化引擎,不设置的话,默认为appium.
    "platformName":"Android", # 操作系统
    "platformVersion":"5.1", # 系统版本号
    "deviceName":"huawei Honor V9", # 设备名称
    "noReset":True, # 应用不重置
    
    # app: 独一无二的包名. 入口页面: activity
    "appPackage": "com.xxzb.fenwoo", # 包名
    "appActivity": "com.xxzb.fenwoo.activity.addition.WelcomeActivity" # 入口页面: activity
    }
    
    # 与appium server建立连接
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
    wait = WebDriverWait(driver,30)
    
    # driver.install_app(r"C:UsersqianerDesktopFuture-release-2018.apk")
    
    #封装点击操作
    def app_click(loc):
    wait.until(EC.visibility_of_element_located(loc))
    driver.find_element(*loc).click()
    
    # 封装输入操作
    def app_input(loc, value):
    wait.until(EC.visibility_of_element_located(loc))
    driver.find_element(*loc).click()
    driver.find_element(*loc).send_keys(value)
    
    # 定位
    loc_my = (MobileBy.XPATH,"//android.widget.TextView[@text='我']") #我的
    loc_phone = (MobileBy.ID,"com.xxzb.fenwoo:id/et_phone") #手机号
    loc_next_step = (MobileBy.ID,"com.xxzb.fenwoo:id/btn_next_step") #下一步
    loc_pwd = (MobileBy.ID,"com.xxzb.fenwoo:id/et_pwd") #密码
    loc_login = (MobileBy.ID,"com.xxzb.fenwoo:id/btn_next_step") #确定
    loc_set = (MobileBy.XPATH,"//*[@text='马上设置']") #马上设置 按钮
    loc_btn_gesturepwd_guide = (MobileBy.ID,"com.xxzb.fenwoo:id/btn_gesturepwd_guide") # 设置手势密码 按钮
    loc_right_btn = (MobileBy.ID,"com.xxzb.fenwoo:id/right_btn") #手势密码页面 ,确定
    loc_create_lockview = (MobileBy.ID,"com.xxzb.fenwoo:id/gesturepwd_create_lockview") #图形密码
    
    # 操作。前置条件,退出登录状态
    app_click(loc_my) #点击我的
    app_input(loc_phone,"18684720553") #输入用户名
    app_click(loc_next_step) #点击下一步
    app_input(loc_pwd,"python") #输入密码
    app_click(loc_login) #点击确定
    app_click(loc_set) #点击马上设置
    app_click(loc_btn_gesturepwd_guide) #点击设置收拾密码
    app_click(loc_right_btn) #点击确定
    
    ta = TouchAction(driver)
    # 得到元素本身的起点坐标,它的高和宽
    ele = driver.find_element(*loc_create_lockview)
    loc = ele.location # 起点
    size = ele.size
    step = size["width"]/6
    
    p1 = (loc["x"]+step,loc["y"]+step)
    p2 = (p1[0] + 2*step, p1[1])
    p3 = (p2[0] - 2*step, p2[1] + 2*step)
    p4 = (p3[0] + 2*step, p3[1] + 2*step)
    p5 = (p4[0] - 2*step, p4[1])
    
    #绘制图案
    ta.press(x=p1[0],y=p1[1]).wait(200).
    move_to(x=p2[0],y=p2[1]).wait(200).
    move_to(x=p3[0],y=p3[1]).wait(200).
    move_to(x=p4[0],y=p4[1]).wait(200).
    move_to(x=p5[0],y=p5[1]).wait(200).
    release().
    perform()
  • 相关阅读:
    一周见闻速记
    glibc下的内存管理
    流(flow)
    Liunx学习笔记
    逆向工程androidAPK(待补充)
    Ubuntu Linux环境搭建|软件篇
    Ubuntu Linux 源记录
    android 权限
    Android源码下载(ubuntu12.04(amd64))
    游戏外挂编程之神器CE的使用
  • 原文地址:https://www.cnblogs.com/momoon/p/12204978.html
Copyright © 2020-2023  润新知