appium实现app上、下、左、右滑动操作

1. swipe方法语法

swipe(self, start_x, start_y, end_x, end_y, duration=None):

    参数
    - start_x - 开始滑动的x坐标
    - start_y - 开始滑动的y坐标
    - end_x - 结束点x坐标
    - end_y - 结束点y坐标
    - duration - 持续时间,单位毫秒

2. 手机坐标:

手机从左上角开始为0,横着的是x轴,竖着的是y轴

3. 获取屏幕的size

size = driver.get_window_size()

print (size)         # {‘width‘: 1080, ‘height‘: 1920} ,返回字典类型,可使用字典的方法取width/height的值
print (size["width"]) # 获取浏览器的宽度1080
print (size["height"]) # 获取浏览器的高度1920

4. app上、下、左、右滑动方法

# coding:utf-8
from appium import webdriver
from time import sleep
desired_caps = {
                ‘platformName‘: ‘Android‘,
                ‘deviceName‘: ‘30d4e606‘,
                ‘platformVersion‘: ‘4.4.2‘,
                # apk包名
                ‘appPackage‘: ‘com.taobao.taobao‘,
                # apk的launcherActivity
                ‘appActivity‘: ‘com.taobao.tao.welcome.Welcome‘
                }
driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub‘, desired_caps)

def swipeUp(driver, t=500, n=1):
    ‘‘‘向上滑动屏幕‘‘‘
    l = driver.get_window_size()
    x1 = l[‘width‘] * 0.5     # x坐标
    y1 = l[‘height‘] * 0.75   # 起始y坐标
    y2 = l[‘height‘] * 0.25   # 终点y坐标
    for i in range(n):
        driver.swipe(x1, y1, x1, y2, t)

def swipeDown(driver, t=500, n=1):
    ‘‘‘向下滑动屏幕‘‘‘
    l = driver.get_window_size()
    x1 = l[‘width‘] * 0.5          # x坐标
    y1 = l[‘height‘] * 0.25        # 起始y坐标
    y2 = l[‘height‘] * 0.75         # 终点y坐标
    for i in range(n):
        driver.swipe(x1, y1, x1, y2,t)

def swipLeft(driver, t=500, n=1):
    ‘‘‘向左滑动屏幕‘‘‘
    l = driver.get_window_size()
    x1 = l[‘width‘] * 0.75
    y1 = l[‘height‘] * 0.5
    x2 = l[‘width‘] * 0.25
    for i in range(n):
        driver.swipe(x1, y1, x2, y1, t)

def swipRight(driver, t=500, n=1):
    ‘‘‘向右滑动屏幕‘‘‘
    l = driver.get_window_size()
    x1 = l[‘width‘] * 0.25
    y1 = l[‘height‘] * 0.5
    x2 = l[‘width‘] * 0.75
    for i in range(n):
        driver.swipe(x1, y1, x2, y1, t)

if __name__ == "__main__":
    print(driver.get_window_size())
    sleep(5)
    swipLeft(driver, n=2)
    sleep(2)
    swipRight(driver, n=2)

原文地址:https://www.cnblogs.com/zpf1092841490/p/11663159.html

时间: 2024-11-07 19:42:55

appium实现app上、下、左、右滑动操作的相关文章

js实现Mac触摸板双指事件(上/下/左/右/放大/缩小)

前言 这几天在修复一个web问题时,需要捕获Mac触摸板双指事件(上.下.左.右.放大.缩小),但发现并没有现成的轮子,还是要自己造. 例如:jquery.mousewheel.js(添加跨浏览器的鼠标滚轮支持), 给得太简单,没有处理Mac双指行为,所以不能用. 目标 获取Mac触摸板双指行为,具体有两个,一个是实时拖动路线,二是手势(上.下.左.右.放大.缩小). 难点 双指行为只会触发mousewheel事件,其他什么的touch,mouse都不会触发,只能从这个下手. 双指特性 1.在快

vue组件弹框过渡效果,如,点击显示为从左到右滑动,收回隐藏为从右到左滑动

vue组件 <transition name="carHistory"> <car-History-Line v-show="showHistoryLine" @closeHitsory='closeHitsory'></car-History-Line> </transition> css .carHistory-enter { animation: carHistory-dialog-fade-in 0.3s ea

app电池续航上&amp;&amp;下--Android自动化测试学历历程

章节:自动化基础篇——电池续航自动化测试上&&下 主要讲解内容及笔记: 一.影响手机电量的因素和理论: 下面是一个表格:当今主流手机显示屏技术.机型与功耗对照表:   技术  类型  主流机型  功耗  LCD  LCD+LED背光   四颗星  TFT-LCD   三颗星   IPS iphone  三颗星   SLCD HTC.三星Nexus S(19023)  两颗星   OLED  AMOLED  三星Nexus S(19020) 一颗星  Super  AMOLED  三星 一颗

Appium+Python app自动化测试之脚本启动和停止Appium服务

研究了一段时间的Appium android app的自动化测试,工作中需要连接多台手机终端同时执行测试用例,我实现的方式是获取用例中需要执行用例的设备id个数以及实际连接到的设备数(通过adb devices获取),然后启动相应数量的Appium 服务,以便每个设备执行时并发进行并且互不影响.当然也可以通过selenium grid来实现,只是目前还在学习研究中,还是先把目前启动多个appium服务实现的方式记录下来. 一.Windows下启动单个appium服务 需要启动多个appium服务

Python + Robotframework + Appium 之APP自动化测试小试牛刀(Android)

Robotframework如何好?这里先不说了~ Python更不用说了~ Appium前面的文章有介绍~ 今天直接来Python+Robotframework+Appium 三者结合起来,对Andoid app小试牛刀下,后续再作更多介绍. 1.环境搭建(之前已经介绍过Python+Appium了) 直接用pip命令安装: pip install robotramework pip install robotframework-appiumlibrary 最好再安装  pip install

IOS APP 上传到AppStore

由于第一次接触要把 app 上传到 AppStore 比较棘手,很多地方不懂,研究了 大半天 终于给上传成功了,现在坐等审核吧,首先把上传到AppStore的流程 整理下 : 第一 :准备证书 (要确保证书安装正确)不然给你个9000 如果你不能确保证书 是 哪个证书,可以把证书全部删掉,然后 重新创建证书 ,回到创建证书界面 选择如下 : 选择证书 点击 "Choose File " 就是用钥匙串生成的 ,如果是默认用钥匙串 就是 "CertificateSigningRe

ios - 如何获取app上的数据

做过ios开发的人应该都用过Charles,通常叫它花瓶.Charles是Mac下常用的对网络流量进行分析的工具,类似于Windows下的Fiddler.在开发iOS程序的时候,往往需要调试客户端和服务器的API接口,这个时候就可以用Charles,Charles能够拦截SSL请求.模拟慢速网络.支持修改网络请求包并多次发送.能够篡改Request和Response等强大的功能.这款软件非常实用,尤其是新手.它可以帮助你轻松的获取每一款app上的任何部分的数据接口.但是值得注意的是:手机和电脑必

深喉起底APP线下预装市场,如何一夜间拥有千万用户

注:预装对于中国的移动互联网创业者有多重要?i黑马知道这样一个内幕,某商务告诉我他们公司的前2000万用户就是靠预装打下来的,总部在北京,直接派驻商务长期扎根在深圳搞定手机厂商.而这家公司初期发展得益于此,如今已经成长为估值5亿美金的中国互联网新贵,并且在前段时间由于风头太盛而被产业群起而攻之. 总之,搞好预装,对于创业者来说,可能就意味能轻松获得几百万甚至几千万用户,这种用户基量可以快速催生出下一个移动互联网新贵. 这篇关于预装的文章,拖了有大概两周.再不写都要鄙视自己了. 事情的起因是这样的

android金阳光自动化测试——学习历程:电池续航上&amp;&amp;下

章节:自动化基础篇——电池续航自动化测试上&&下 网易云课堂: http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878098&courseId=712011 http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878099&courseId=7120