zoukankan      html  css  js  c++  java
  • appium实现向上滑动,向下滑动,向左滑动,向右滑动

    一.配置连接

    from appium import webdriver
    
    desired_caps = {}
    desired_caps['platformName'] = 'Android'  # 系统名
    desired_caps['platformVersion'] = '5.1.1' # adb版本 
    desired_caps['deviceName'] = 'emulator-5554' # adb的名字 cmd输入adb devices可以查到
    
    #导出模拟器中的apk,然后使用Android Kille将APK包进行反编译
    desired_caps['appPackage'] = 'com.liulianp.android' # app的包名 
    desired_caps['appActivity'] = 'com.liulianp.android.module.welcome.SplashActivity' # app的主入口名
    desired_caps['unicodeKeyboard'] = True
    desired_caps['resetKeyboard'] = True
    
    
    #启动appium-desktop服务器,服务器IP根据实际填写
    ip = 'appnium的IP'
    prot = 'appnium的prot'
    driver = webdriver.Remote(f'http://{id}:{prot}/wd/hub', desired_caps)
    
    

    二.向各个方向滑动

    #原理使用driver.swipe方法()  swipe(self, start_x, start_y, end_x, end_y, duration=None)
    start_x:起始横坐标
    start_y:起始纵坐标
    end_x:结束横坐标
    end_y:结束纵坐标
    duration:起始位置到结束位置用时间单位ms
    #你可以把它想象成手指在app界面的一开始按着的位置到结束的位置
    
    def get_size(driver):
        '''获取长宽'''
        x = driver.get_window_size()['width']
        y = driver.get_window_size()['height']
    	return x,y
    
    def swipeUp(driver, t=500, n=1):
        '''向上滑动屏幕'''
        x,y=get_size(driver)
        x1 = x * 0.5
        y1 = y * 0.2
        y2 = y * 0.8 
        for i in range(n):
            driver.swipe(x1, y1, x1, y2, t)
    
    def swipeDown(driver, t=500, n=1):
        '''向下滑动屏幕'''
        x,y=get_size(driver)
        x1 = x * 0.5        
        y1 = y * 0.2       
        y2 = y * 0.8       
        for i in range(n):
            driver.swipe(x1, y1, x1, y2,t)
    
    def swipLeft(driver, t=500, n=1):
        '''向左滑动屏幕'''
        x,y=get_size(driver)
        x1 = x * 0.8
        y1 = y * 0.5
        x2 = x * 0.2
        for i in range(n):
            driver.swipe(x1, y1, x2, y1, t)
    
    def swipRight(driver, t=500, n=1):
        '''向右滑动屏幕'''
        x,y=get_size(driver)
        x1 = x * 0.2
        y1 = y * 0.5
        x2 = x * 0.8
        for i in range(n):
            driver.swipe(x1, y1, x2, y1, t)
    
  • 相关阅读:
    Java 内部类理解
    Java 抽象类和接口的理解
    Java String 和 new String()的区别
    Java 基本类型和对象类型的区别
    Java对象与对象引用变量的理解
    bash: crontab: command not found
    Linux下压缩某个文件夹命令
    爬虫实战项目二、字体反爬
    Pandas学习之四:修改增加
    Pandas库学习之三:处理元素
  • 原文地址:https://www.cnblogs.com/pythonywy/p/12627021.html
Copyright © 2011-2022 走看看