swipe滑动操作
1.swipe() 滑动用法
swipe(self, start_x, start_y, end_x, end_y, duration=None)
:Args:
- start_x - 开始滑动的x坐标
- start_y - 开始滑动的y坐标
- end_x - 结束点x坐标
- end_y - 结束点y坐标
- duration - 持续时间,单位毫秒
#coding=utf-8
from appium import webdriver
import time
# 定义启动设备需要的参数
desired_caps = {
"platformName": "Android", #手机系统
"deviceName": "127.0.0.1:62001",#设备名称,在dos输入adb devices获取
"platformVersion": "5.1.1", #手机系统版本
"appPackage": "com.yw.yzz", #包名(#在dos下进入xxx.apk所存在的文件夹中,输入aapt dump badging xxx.apk获取)
"appActivity": "com.yw.yzz.biz.splash.SplashActivity",#APP活动(#在dos下进入xxx.apk所存在的文件夹中,输入aapt dump badging xxx.apk获取)
"unicodeKeyboard": "True",#使用appium的输入法,支持中文并隐藏键盘
"resetKeyboard": "True", #将输入法重置回设备默认的输入法
"noReset": "True"#appium启动app时会自动清除app里面的数据,noReset=True就是启动app不清除数据
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)
#代码脚本和服务端是通过 http://127.0.0.1:4723/wd/hub 来进行通信的(固定格式)
time.sleep(1)
print(driver.get_window_size())#打印屏幕高和宽
time.sleep(2)
#向左滑动引导页
y = 0
while y < 3:
driver.swipe(350, 900, 350, 100, 1000)
time.sleep(1)
y += 1
time.sleep(1)
driver.find_element_by_id("com.yw.yzz:id/btn_open").click()
time.sleep(4)
driver.find_element_by_id("com.yw.yzz:id/recyclerview").click()
driver.find_element_by_id("com.yw.yzz:id/recyclerview").click()
driver.find_element_by_id("com.yw.yzz:id/recyclerview").click()
driver.find_element_by_id("com.yw.yzz:id/seting_tab").click()
driver.find_element_by_id("com.yw.yzz:id/fragment_my_nickname").click()
driver.find_element_by_id(")
driver.find_element_by_id(")
driver.find_element_by_id("com.yw.yzz:id/btn_login").click()
2.滑动封装
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.9
y1 = l['height'] * 0.5
x2 = l['width'] * 0.1
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)
swipe滑动操作的更多相关文章
- swipe 滑动操作
1.swipe() 滑动用法 swipe(self, start_x, start_y, end_x, end_y, duration=None) :Args: - start_x - 开始滑动的x坐 ...
- python+Appium自动化:app滑动操作swipe
swipe Appium使用滑动操作用到了swipe方法,定义如下: swipe(self, start_x, start_y, end_x, end_y, duration=None) 从一个点滑动 ...
- iOS之UITableView带滑动操作菜单的Cell
制作一个可以滑动操作的 Table View Cell 本文翻译自 http://www.raywenderlich.com/62435/make-swipeable-table-view-cell- ...
- appium滑动操作(向上、向下、向左、向右)
appium滑动操作(向上滑动.向下滑动.向左滑动.向右滑动) 测试app:今日头条apk 测试设备:夜游神模拟器 代码如下: 先用x.y获取当前的width和height def getSize() ...
- appium java 滑动(js滑动和swipe滑动)
最近有一个页面的内容很多,有的元素需要滑动到底部才能看到,所以就研究一下滑动,下面是我学习到的两种滑动方式 一:用js滑动 用js滑动的思路是很简单,首先是先定位到这个元素,定位到之后不做任何操作,然 ...
- Appium-Java滑动操作
Java滑动操作,通常可以直接使用API中AndroidDriver类中的swipe方法,直接进行调用 swipe(int startx, int starty, int endx, int endy ...
- 制作一个可以滑动操作的 Table View Cell
本文转载至 https://github.com/nixzhu/dev-blog Apple 通过 iOS 7 的邮件(Mail)应用介绍了一种新的用户界面方案——向左滑动以显示一个有着多个操作的菜单 ...
- Android SwipeActionAdapter结合Pinnedheaderlistview实现复杂列表的左右滑动操作
在上一篇博客<Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作>里,已经介绍了利用SwipeActionAdapter来左右滑动操作列表: 然,有时 ...
- Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作
我们做listview左右滑动操作时,一般中情况下,都是像QQ那样,左滑弹出操作菜单(删除.编辑),然后选择菜单操作: 这样的效果不可谓不好,算是非常经典. 另外,有少数的APP,尤其是任务管理类的A ...
随机推荐
- zabbix-钉钉报警媒介
(1)第三方报警平台(钉钉) 先指定要发送的群,在群里创建机器人 添加机器人 可以参考 “说明文档” 创建测试文档 vim ceshi.sh curl 'https://oapi.dingta ...
- three.js 加载STL文件
注意: TrackballControls.js 和 TDSLoader.js 都引用了 three.module.js,特别注意引用的路径 比如: 直接代码咯 <!DOCTYPE html&g ...
- 洛谷 P2580 【于是他错误的点名开始了】题解
XS中学化学竞赛组教练是一个酷爱炉石的人. 他会一边搓炉石一边点名以至于有一天他连续点到了某个同学两次,然后正好被路过的校长发现了然后就是一顿欧拉欧拉欧拉(详情请见已结束比赛CON900). 题目背景 ...
- Oracle客户端和服务端菜单区别
- js中的自动包装机制
有一行语句: 1.toString() //error 那么问题来了,为什么报错? 我的第一想法就是1是一个基本类型,所以它没有toString方法 嗯,理直气壮 接下来有大佬show me code ...
- wkhtmltopdf cpdf HTML转pdf 及pdf合并
将 html 转为 pdf :wkhtmltopdf wkhtmltopdf 是一个使用 webkit 网页渲染引擎开发的用来将 html 转成 pdf 的工具,可以跟多种脚本语言进行集成来转换文档. ...
- Spring Security教程之退出登录logout(十)
要实现退出登录的功能我们需要在http元素下定义logout元素,这样Spring Security将自动为我们添加用于处理退出登录的过滤器LogoutFilter到FilterChain.当我们指定 ...
- Prometheus安装部署说明
本文主要介绍了如何二进制安装Prometheus.使用 Node Exporter 采集主机信息并使用Grafana来进行图形化的展示. 1. 安装Prometheus Server Promethe ...
- apt-get命令使用
1.apt-get命令 apt-get命令是Debian Linux发行版中的APT软件包管理工具,所有基于Debian的发行都使用这个包管理系统. (1)命令语法 apt-get(选项)(参数) ( ...
- C语言知识点总结篇
Debug和Release版本比较 Debug附加了许多调试信息,主要用于调试,故文件大: Release是经过优化后的版本,去掉了调试信息,代码进行了优化,故文件较小,且编译速度快过Debug,用于 ...