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

测试app:今日头条apk

测试设备:夜游神模拟器

代码如下:

先用x、y获取当前的width和height

  1. def getSize(): #获取当前的width和height的x、y的值
  2. x = driver.get_window_size()['width'] #width为x坐标
  3. y = driver.get_window_size()['height'] #height为y坐标
  4. return (x, y)

屏幕向上滑动

  1. def swipeUp(t): #当前向上滑动swipeup
  2. l = getSize()
  3. x1 = int(l[0] * 0.5)
  4. y1 = int(l[1] * 0.75)
  5. y2 = int(l[1] * 0.25)
  6. driver.swipe(x1, y1, x1, y2,500) #设置时间为500
  7. swipeUp(9000) #向上滑动9000

屏幕向左滑动

  1. def swipLeft(t): #当前向左进行滑动swipleft
  2. l=getSize()
  3. x1=int(l[0]*0.75)
  4. y1=int(l[1]*0.5)
  5. x2=int(l[0]*0.05)
  6. driver.swipe(x1,y1,x2,y1,500)
  7. swipLeft(3000) #向左滑行3000

屏幕向右滑动

  1. def swipRight(t): #向右滑行swipright
  2. l=getSize()
  3. x1=int(l[0]*0.05)
  4. y1=int(l[1]*0.5)
  5. x2=int(l[0]*0.75)
  6. driver.swipe(x1,y1,x2,y1,500)
  7. swipRight(3000) #向右滑行3000,回到初始位置

屏幕向下滑动

  1. def swipeDown(t): #向下滑动swipedown
  2. l = getSize()
  3. x1 = int(l[0] * 0.5)
  4. y1 = int(l[1] * 0.25)
  5. y2 = int(l[1] * 0.75)
  6. driver.swipe(x1, y1, x1, y2,500)
  7. swipeDown(10000) #向下滑动10000

测试今日头条向上、向下、向左、向右滑动操作完整代码

  1. #coding=utf-8
  2. from appium import webdriver
  3. import time
  4. desired_caps={
  5. 'platformName':'Android',
  6. 'deviceName':'127.0.0.1:62001', #模拟器名称
  7. 'platformVersion':'4.4.2', #安卓版本
  8. 'appPackage':'com.ss.android.article.news', #当前apk的包名
  9. 'appActivity':'com.ss.android.article.news.activity.SplashBadgeActivity' #当前apk的appActivity
  10. }
  11. driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
  12. time.sleep(10)
  13.  
  14. def getSize(): #获取当前的width和height的x、y的值
  15. x = driver.get_window_size()['width'] #width为x坐标
  16. y = driver.get_window_size()['height'] #height为y坐标
  17. return (x, y)
  18.  
  19. def swipeUp(t): #当前向上滑动swipeup
  20. l = getSize()
  21. x1 = int(l[0] * 0.5)
  22. y1 = int(l[1] * 0.75)
  23. y2 = int(l[1] * 0.25)
  24. driver.swipe(x1, y1, x1, y2,500) #设置时间为500
  25. swipeUp(9000) #向上滑动9000
  26.  
  27. def swipLeft(t): #当前向左进行滑动swipleft
  28. l=getSize()
  29. x1=int(l[0]*0.75)
  30. y1=int(l[1]*0.5)
  31. x2=int(l[0]*0.05)
  32. driver.swipe(x1,y1,x2,y1,500)
  33. swipLeft(3000) #向左滑行3000
  34.  
  35. def swipeDown(t): #向下滑动swipedown
  36. l = getSize()
  37. x1 = int(l[0] * 0.5)
  38. y1 = int(l[1] * 0.25)
  39. y2 = int(l[1] * 0.75)
  40. driver.swipe(x1, y1, x1, y2,500)
  41. swipeDown(10000) #向下滑动10000
  42.  
  43. def swipRight(t): #向右滑行swipright
  44. l=getSize()
  45. x1=int(l[0]*0.05)
  46. y1=int(l[1]*0.5)
  47. x2=int(l[0]*0.75)
  48. driver.swipe(x1,y1,x2,y1,500)
  49. swipRight(3000) #向右滑行3000,回到初始位置
  50. time.sleep(20)
  51. driver.quit() #退出当前的app

appium滑动操作(向上、向下、向左、向右)的更多相关文章

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

    前言 这几天在修复一个web问题时,需要捕获Mac触摸板双指事件(上.下.左.右.放大.缩小),但发现并没有现成的轮子,还是要自己造. 例如:jquery.mousewheel.js(添加跨浏览器的鼠 ...

  2. 硅谷新闻4--解决页签手指按下从左到右滑动的bug

    有一种方法可以阻止父层的View截获touch事件,就是调用 getParent().requestDisallowInterceptTouchEvent(true);方法.一旦底层View收到tou ...

  3. ViewPager 滑动一半的判断方法以及左滑右滑判断

    做项目的时候,会碰到用viewpager + fragments去实现多页滑动.有些时候需要完成:界面在滑动到一半或是一半以上的时候,需要把title之类的切换到下一个页面.这个时候仅仅依赖Viewp ...

  4. java编写一个可以上、下、左、右移动的坦克

    唉,本人学习进度缓慢,但依然会坚持不懈!有感兴趣的朋友可以在下面留言. 源代码献上: /* * 画出我的坦克,使他可以上下左右移动 */package com.test4; import javax. ...

  5. Unity3D_(游戏)控制物体的上、下、左、右移动

    通过键盘上↑.↓.←.→实现对物体的控制 using System.Collections; using System.Collections.Generic; using UnityEngine; ...

  6. 在Button上、下、左、右位置加入图片和文字

    转载请注明出处:http://blog.csdn.net/droyon/article/details/37564419 非常多人有如标题所述的需求,并且大多数人採用了自己定义组件攻克了需求,事实上还 ...

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

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

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

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

  9. Atitit.获得向上向下左的右的邻居的方法 软键盘的设计..

    Atitit.获得向上向下左的右的邻居的方法 软键盘的设计.. Left right可以直接使用next prev.. Up down可以使用pix 判断...获得next element的posit ...

随机推荐

  1. Codeforces 899 F. Letters Removing (二分、树状数组)

    题目链接:Letters Removing 题意: 给你一个长度为n的字符串,给出m次操作.每次操作给出一个l,r和一个字符c,要求删除字符串l到r之间所有的c. 题解: 看样例可以看出,这题最大的难 ...

  2. Hystrix请求命令 HystrixCommand、HystrixObservableCommand

    Hystrix有两个请求命令 HystrixCommand.HystrixObservableCommand. HystrixCommand用在依赖服务返回单个操作结果的时候.又两种执行方式  -ex ...

  3. python_计算1+……+100中偶数和

    如何计算1+--+100中偶数和? 1. 把奇数去掉,通过if,判断累加数除以2的余数,是否为1,判断是否是奇数 2. 通过continue 跳过对奇数的累加 #!/usr/bin/python3 d ...

  4. 无废话XML--XML解析(DOM和SAX)

    XML处理模式 处理XML有2种方式,DOM和SAX.一般的实际开发中,这2种使用的不多,直接用dom4j来解析XML就好了,包括CRUD等操作都很方便的.这里介绍的DOM和SAX是比较底层的,具体的 ...

  5. viewpager 设置预加载项

    live_pager.setOffscreenPageLimit(3); 防止viewpager 左右滑动 fragment消失

  6. weex 启动 ios 模拟器

    前提需要的安装 node npm weex-toolkit cocoaPods 1. 创建weex工程 weex create helloWolrd 2. 进入helloWolrd文件夹安装依赖,我用 ...

  7. js禁止滚动条移动

    js禁止滚动条移动 var scrollFunc=function(e){ e=e||window.event; if (e&&e.preventDefault){ e.prevent ...

  8. 关于word图片显示不全

    问题:在编辑word时,在其中一行插入一张图片,但是显示不全. 原因:给文字行距设置成 [ 固定值 ]的原因. 解决方案:先删除图片,在插入图片的一行右键--> 段落,弹出对话框,找到设置行距的 ...

  9. 2. getline()和get()

    1.面向行输入:getline() ---其实还可以接受第三个参数. getline()函数读取整行,调用该方法 使用cin.getline().该函数有两个参数, 第一个参数是是用来存储输入行的数组 ...

  10. Vue.js根据列表某列值更新filter

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...