zoukankan      html  css  js  c++  java
  • APP——自动化——python——swipe从坐标点滑动到坐标点以及其它滑动

    1.swipe从坐标点滑动到坐标点


    5个参数(起始横坐标,起始纵坐标,结束横坐标,结束纵坐标,滑动时长单位毫秒)


    driver.swipe(start_x,start_y,end_x,end_y,duration=None)

    注意:
               每次操作的期望时间与真实时间有误差,造成了每次的滑动距离不等。
               滑动操作具有惯性,速度快,惯性大;速度慢惯性小。可能导致每次滑动的距离不等
               滑动时长越大,惯性越小,滑动距离越准确

    ===============================================================================

    用5秒的时间,向下滑动900个像素点,代码:

    # 计算器:     C:Usersdel>adb shell dumpsys window w |findstr / |findstr name=
    #              mSurface=Surface(name=com.youba.calculate/com.youba.calculate.MainActivity)            #adb命令查看包名和启动activity
    
    #com.youba.calculate:id/btn_plus  +
    #com.youba.calculate:id/btn_equal  =
    
    
    #凤凰网:   C:Usersdel>adb shell dumpsys window w |findstr / |findstr name=
    #           mSurface=Surface(name=com.ifeng.news2/com.ifeng.news2.activity.IfengTabMainActivity)
    
    from appium import webdriver
    import  time
    
    desired_caps = {
        'platformName': 'Android',             #待测试手机的系统
        'deviceName':'8DF6R17503000072',     #使用手机或模拟器的类型
        'platformVersion': '8.0.0',                         #待测手机系统版本
         "unicodeKeyboard":"true",   #支持中文输入,会自动安装unicode输入法,默认是false
         "resetKeyboard":"true",    #如果设置了中文输入为true,此设置为自动化退出后,重置输入法到原来状态
        #'app': 'C:\Users\del\Desktop\b\jsq.apk',         #手机未按照待测app时,设置安装路径、包名、启动activity
        'appPackage': 'com.youba.calculate',
        'appActivity': 'com.youba.calculate.MainActivity',
    }
    
    
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    
    
    time.sleep(15)
    
    driver.close_app()
    
    time.sleep(15)
    
    driver.start_activity('com.baidu.searchbox','com.baidu.searchbox.MainActivity')
    
    time.sleep(15)
    
    driver.swipe(100,1000,100,100,5000)                #用5秒的时间,向下滑动900个像素点
    
    
    time.sleep(3)                  #等待3秒
    
    driver.quit()

    参考文章:https://blog.csdn.net/E_I_F/article/details/105376301

    2.scroll从元素位置滑动到元素位置(有惯性)

    #从一个元素滑动到另一个元素,有惯性
    #2个参数(起始元素,终止元素)
    driver.scroll(origin_el,des_el)

    从蓝牙滑动到无线网络,代码:

    #导入库
    from appium import webdriver
    import time

    desired_caps = dict()#创建字典
    desired_caps['platformName'] = 'Android'#添加字典字段:手机平台(Android、iOS)
    desired_caps['platformVersion'] = '5.1'#添加字典字段:系统版本号(可从手机的设置里面查看)
    desired_caps['deviceName'] = 'myphone'#添加字典字段:设备名称(随便写即可)
    desired_caps['appPackage'] = 'com.android.settings'#添加字典字段:要打开的app包名
    desired_caps['appActivity'] = 'com.android.settings.Settings'#添加字典字段:APP的界面名
    desired_caps['unicodeKeyboard'] = True
    desired_caps['resetKeyboard'] = True
    driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)#调用方法,其中'http://localhost:4723/wd/hub'即为appium服务器地址
    driver.find_element_by_id("android:id/button1").click()#根据id定位元素,弹出应用的授权框,点击“确认”

    bluetooth=driver.find_element_by_xpath("//*[@text='蓝牙']")
    wifi=driver.find_element_by_xpath("//*[@text='无线网络']")

    driver.scroll(bluetooth,wifi)#从蓝牙滑动到无线网络
    time.sleep(3)#等待3秒

    driver.quit()#退出此次驱动连接

    3.drag_and_drop从元素位置滑动到元素位置(无惯性)

    从一个元素滑动到另一个元素,没有惯性
    2个参数(起始元素,终止元素)
    driver.drag_and_drop(origin_el,des_el)


    从蓝牙滑动到无线网络,代码:

    #导入库
    from appium import webdriver
    import time

    desired_caps = dict()#创建字典
    desired_caps['platformName'] = 'Android'#添加字典字段:手机平台(Android、iOS)
    desired_caps['platformVersion'] = '5.1'#添加字典字段:系统版本号(可从手机的设置里面查看)
    desired_caps['deviceName'] = 'myphone'#添加字典字段:设备名称(随便写即可)
    desired_caps['appPackage'] = 'com.android.settings'#添加字典字段:要打开的app包名
    desired_caps['appActivity'] = 'com.android.settings.Settings'#添加字典字段:APP的界面名
    desired_caps['unicodeKeyboard'] = True
    desired_caps['resetKeyboard'] = True
    driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)#调用方法,其中'http://localhost:4723/wd/hub'即为appium服务器地址
    driver.find_element_by_id("android:id/button1").click()#根据id定位元素,弹出应用的授权框,点击“确认”

    bluetooth=driver.find_element_by_xpath("//*[@text='蓝牙']")
    wifi=driver.find_element_by_xpath("//*[@text='无线网络']")

    driver.drag_and_drop(bluetooth,wifi)#从蓝牙滑动到无线网络
    time.sleep(3)#等待3秒

    driver.quit()#退出此次驱动连接
    1

  • 相关阅读:
    linux驱动程序设计的硬件基础,王明学learn
    linux设备驱动概述,王明学learn
    应用程序调试工具gdb,王明学learn
    usb设备驱动描述,王明学learn
    OK6410移植madplay播放器,王明学learn
    bootstrap使用入门(bootstrap4.2.1版本)
    IntelliJ Idea 常用快捷键列表
    javaFX 多窗口编程
    Spring Boot框架入门教程(快速学习版)
    BindingNavigator 控件
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/13195095.html
Copyright © 2011-2022 走看看