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()

最新文章

  1. android3D动画,绕y轴旋转
  2. python中set集合
  3. BZOJ 3110 k大数查询 &amp; 树套树
  4. Java遇见HTML——JSP篇之商品浏览记录的实现
  5. Java 正则表达式学习总结和一些小例子
  6. STL容器的遍历删除
  7. 让git忽略ignore所有文件,只对某些文件进行版本控制
  8. 基础学习总结(四)--SQLite
  9. java.util.regx Demo
  10. phpstorm 配置
  11. php 垃圾回收机制----写时复制和引用计数
  12. 规划(纪念我在ACM道路上的一年)
  13. 剑指offer 第九天
  14. 【编程练习】poj1111
  15. Linux内核之进程地址空间
  16. NoHttp封装--02 自定义请求
  17. 20155206 Exp5 MSF基础应用
  18. Python_oldboy_自动化运维之路_全栈考试(五)
  19. vue监听不到props中的值时
  20. 移动端App开发 - 01 - 开篇

热门文章

  1. [USACO08OPEN]农场周围的道路Roads Around The Farm BZOJ 1621 DFS
  2. C#WinForm POST方式提交给网页(与网页交互) (转)
  3. vim简单配置(tab,行号,自动缩进)
  4. Common Subsequence(最长公共子序列)
  5. buildKibanaServerUrl
  6. Linux 防火墙iptables 实例
  7. VMware硬盘空间&mdash;&mdash;扩容
  8. my27_OGG MySQL To MySQL错误汇总
  9. Angular JS ng-repeat 报错 Error: [ngRepeat:dupes]
  10. JedisCluster 链接redis集群