Appium 滑动API:Swipe(int start x,int start y,int end x,int y,duration)

解释:int start x-开始滑动的x坐标,

int start y -开始滑动的y坐标。

int end x -结束点x坐标,

int end y -结束点y坐标。

duration 滑动时间(默认5毫秒);

代码:

// 分辨率

int widht = driver.manage().window().getSize().width;

int height = driver.manage().window().getSize().height;

for(int i = 0; i<3; i++){

// 向左滑动!

driver.swipe(widht*6/7, height/2, widht/7, height/2, 2);

Python-appium手机自动测试如何实现滑动呢,在webdriver 的api中只提供了指定两个坐标的滑动,但不同的手机分辨率不同,这样写出来的自动化脚本兼容性就不是那么好了。。那么怎么实现滑动呢,仔细看了下webdriber中的方法,发现有个方法get_window_size() ,这个方法可以获得手机的宽度和高度,这样我们就可以实现按屏幕比率滑动了。。具体方法如下:

#获取屏幕宽和高

def getSize(self):

x=self.driver.get_window_size()['width']
        y=self.driver.get_window_size()['height']
        return(x,y)

#向左滑动

def swipeLeft(self,t):
        l=self.getSize()
        x1=int(l[0]*0.75)
        y1=int(l[1]*0.5)
        x2=int(l[0]*0.25)
        self.driver.swipe(x1,y1,x2,y1,t)

#向右滑动

def swipeRight(self,t):
        l=self.getSize()
        x1=int(l[0]*0.25)
        y1=int(l[1]*0.5)
        x2=int(l[0]*0.75)
        self.driver.swipe(x1,y1,x2,y1,t)

#向上滑动

def swipeUp(self,t):
        l=self.getSize()
        x1=int(l[0]*0.5)
        y1=int(l[1]*0.75)
        y2=int(l[1]*0.25)

self.driver.swipe(x1,y1,x1,y2,t)

#向下滑动

def swipeDown(self,t):
        l=self.getSize()
        x1=int(l[0]*0.5)
        y1=int(l[1]*0.25)
        y2=int(l[1]*0.75)
        self.driver.swipe(x1,y1,x1,y2,t)

下面贴上自己稍稍修改的左滑脚本:

#获取屏幕宽高

def getSize():
  x=driver.get_window_size()['width']
  y=driver.get_window_size()['height']
  return (x,y)

#向左滑

def swipeLeft(n,t):    #n代表滑动次数,t代表滑动时间
  l=getSize()        #调用getSize()
  x1=int(l[0]*0.75)
  y1=int(l[1]*0.5)
  x2=int(l[0]*0.25)
  for i in range(0,n):     #for循环,控制滑动次数
    time.sleep(3)
    driver.swipe(x1,y1,x2,y1,t)

swipeLeft(4,200)     #调用swipeLeft()

Appium 滑动界面swipe用法的更多相关文章

  1. Python+Appium自动化测试(8)-swipe()滑动页面

    app自动化测试过程中,经常会遇到滑动屏幕操作,appium框架的话我们可以使用webdriver提供的swipe()方法来对屏幕页面进行上滑.下滑.左滑.右滑操作. 一,swipe方法介绍 swip ...

  2. appium滑动操作(向上、向下、向左、向右)

    appium滑动操作(向上滑动.向下滑动.向左滑动.向右滑动) 测试app:今日头条apk 测试设备:夜游神模拟器 代码如下: 先用x.y获取当前的width和height def getSize() ...

  3. Python Appium 滑动、点击等操作

    Python Appium 滑动.点击等操作 1.手机滑动-swipe # FileName : Tmall_App.py # Author : Adil # DateTime : 2018/3/25 ...

  4. android关于实现滑动界面

    首先要说的是,滑动界面,我们需要一个以上的view切换,实际上可以使用ArrayList<View> pageViews要保存view信息,然后切换 LayoutInflater infl ...

  5. Appium滑动函数:Swipe()

    Appium处理滑动方法是swipe 滑动API:Swipe(int start x,int start y,int end x,int y,duration) 解释: int start x-开始滑 ...

  6. python+Appium自动化:app滑动操作swipe

    swipe Appium使用滑动操作用到了swipe方法,定义如下: swipe(self, start_x, start_y, end_x, end_y, duration=None) 从一个点滑动 ...

  7. appium java 滑动(js滑动和swipe滑动)

    最近有一个页面的内容很多,有的元素需要滑动到底部才能看到,所以就研究一下滑动,下面是我学习到的两种滑动方式 一:用js滑动 用js滑动的思路是很简单,首先是先定位到这个元素,定位到之后不做任何操作,然 ...

  8. appium 操作界面

    操作界面函数: 1.swipe():模拟滑动 2.tap():点击坐标 1.swipe()函数:用来模拟滑动操作 参数说明: 坐标就是x/y坐标 duration是滑动从起点到终点坐标所耗费的时间. ...

  9. appium 滑动

    前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:htt ...

随机推荐

  1. POJ1053 Set Me

    题目来源:http://poj.org/problem?id=1053 题目大意: 有一种牌,共有81张.每张牌有四个属性,每种属性有三种可能取值:形状(D,O,S),数字(1,2,3),颜色(R,G ...

  2. poj2253青蛙(可到达路径的单次跳跃最短距离)

    Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 55388   Accepted: 17455 Descrip ...

  3. Ubuntu 14.04下MySQL服务器和客户端的安装

    下面进行简单的配置 安装完成后通过修改/etc/mysql/my.cnf(此文件为mysql的配置文件).将文件中的binding-address=127.0.0.1注释掉.其它配置根据需要更改. H ...

  4. mysql 示例数据库安装

    示例数据库不和bin安装文件在一块, 安装数据库没有这个选项 https://dev.mysql.com/doc/index-other.html

  5. Windows下 virtualenv 使用

    Windows下 virtualenv 使用 win python virtualenv 首先在电脑上安装两个不同版本的python mkvirtualenv --python C:\Python34 ...

  6. c#之GDI简单实现代码及其实例

    作业:文档形式 3到5页理解 1.理解 2.源代码解释(1到2页) 3.实现效果 项目地址: https://github.com/zhiyishou/polyer Demo:https://zhiy ...

  7. ls -ilh 查看文件属性

    属性信息[H0f@localhost ~]$ ls -hiltotal 12K139323 -rw-rw-r--. 1 H0f H0f    7 Mar 14 00:49 1.txt139318 -r ...

  8. Eclipse + Git + 码云

    1. 进入码云个人首页 点击自己的名称即可 2. 添加一个项目 3. 在Eclipse中创建一个本地Git Eclipse不建议git目录创建在项目的目录下,因此另选一个目录作为本地Git目录 选择一 ...

  9. ES6数组新增方法总结

    关于数组中forEach() .map().filter().reduce().some().every()的总结 let arr = [1, 2, 3, 4, 5] // forEach遍历数组 a ...

  10. indexOf 可用于字符串和数组

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. indexOf 与String类似,Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = ...