python+Appium自动化:app滑动操作swipe
swipe
Appium使用滑动操作用到了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是持续时间,单位毫秒,可以不填,一般设置为500-1000之间吧
#水平向右滑动
比如driver.swipe(100,500,600,500,500)
获取屏幕大小
由于每个手机终端的分辨率都不一样,所以再调用的时候可以先获取到手机的屏幕尺寸
from appium import webdriver
desired_caps = {
"platformName": "Android",
"platformVersion": "5.1",
"deviceName": "U4KF9HSK99999999",
"appPackage": "com.taobao.taobao",
"appActivity": "com.taobao.tao.welcome.Welcome",
"unicodeKeyboard":True,
"resetKeyboard":True,
"noReset": True
}
driver = webdriver.Remote("http://localhost:4723/wd/hub",desired_caps) # 获取屏幕的size
size = driver.get_window_size()
print(size)
输出结果:
{'height': 1920, 'width': 1080}
封装一下代码:
# -*- coding: utf-8 -*-# from appium import webdriver
import time
desired_caps = {
"platformName": "Android",
"platformVersion": "5.1",
"deviceName": "U4KF9HSK99999999",
"appPackage": "com.taobao.taobao",
"appActivity": "com.taobao.tao.welcome.Welcome",
"unicodeKeyboard":True,
"resetKeyboard":True,
"noReset": True
}
driver = webdriver.Remote("http://localhost:4723/wd/hub",desired_caps) def get_size():
#获取窗口尺寸
size=driver.get_window_size()
x=size['width']
y=size['height']
return x,y def swipe_up():
#向上滑动
size = get_size()
x1=int(size[0]*0.5)
y1=int(size[1]*0.9)
y2=int(size[1]*0.1)
driver.swipe(x1,y1,x1,y2,500) def swipe_down():
#向下滑动
size = get_size()
x1=int(size[0]*0.5)
y1=int(size[1]*0.1)
y2=int(size[1]*0.9)
driver.swipe(x1,y1,x1,y2,500) def swipe_left():
#向左滑动
size = get_size()
x1=int(size[0]*0.9)
x2=int(size[0]*0.1)
y1=int(size[1]*0.5)
driver.swipe(x1,y1,x2,y1,500) def swipe_right():
#向右滑动
size = get_size()
x1=int(size[0]*0.1)
x2=int(size[0]*0.9)
y1=int(size[1]*0.5)
driver.swipe(x1,y1,x2,y1,500) if __name__ == "__main__": print(get_size())
for i in range(2):
swipe_up()
time.sleep(2)
swipe_down()
time.sleep(2)
swipe_left()
time.sleep(2)
swipe_right()
time.sleep(2)
python+Appium自动化:app滑动操作swipe的更多相关文章
- Python appium搭建app自动化测试环境
appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...
- Python+Selenium自动化-模拟键盘操作
Python+Selenium自动化-模拟键盘操作 0.导入键盘类Keys() selenium中的Keys()类提供了大部分的键盘操作方法:通过send_keys()方法来模拟键盘上的按键. # ...
- Python+Selenium自动化 模拟鼠标操作
Python+Selenium自动化 模拟鼠标操作 在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就 ...
- python3+Appium自动化07-滑动操作以及滑动方法封装
滑动解析 滑动主要分为:水平滑动.垂直滑动.任意方向滑动 滑动轨迹 在Appium中模拟用户滑动操作需要使用swipe方法,该方法定义如下: def swipe(self, start_x, star ...
- Python + Appium 自动化操作微信入门看这一篇就够了
简介 Appium 是一个开源的自动化测试工具,支持 Android.iOS 平台上的原生应用,支持 Java.Python.PHP 等多种语言. Appium 封装了 Selenium,能够为用户提 ...
- python+Appium自动化:TouchAction九宫格实战
TouchAction Touch Action包含一系列操作,比如按压.长按.点击.移动.暂停. 使用TochAction需要先导入对应的模块 from appium.webdriver.commo ...
- python+appium 自动化1--启动手机京东app
出处:https://www.cnblogs.com/yoyoketang/p/6128735.html 前言: 环境搭建好了.接下来先体验下如何启动app--1.首先获取包名:2.然后获取launc ...
- Java&Python&Appium 驱动APP及Desired Capabilities配置
一.摘要 本篇博文,将阐述如何将环境&代码&APP联系起来工作 二.Java代码 我们先看一段真实的java代码,我将他放在了TestNG框架的@BeforeTest里,执行这段即可启 ...
- python+Appium自动化:H5元素定位
问题思考 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 解决思路 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原 ...
随机推荐
- vue知识点积累
vue中 列表组件写key,起作用是什么? <ul> <li v-for="item in items" :key="item.id"> ...
- H3C路由器登录策略专题讲解
password-control login-attempt login-times [ exceed { lock | lock-time time | unlock } ] undo passwo ...
- ES-实战
一.环境准备 操作系统:mac 依赖的软件:JDK1.8.Postman.NodeJs6.0以上.Maven.Idea ES下载:Elastic官方网站: http://www.elastic.co ...
- (六)mybatis 全局配置文件讲解
目录 properties (属性) settings 全局参数配置 typeAliases 别名设置 typeHandlers 类型处理器 mapper (映射器) 细节 properties (属 ...
- Go-函数高级使用-条件分支-包管理-for循环-switch语句-数组及切片-与或非逻辑符
目录 科普 python 注释 # 函数高级 if else if else 包管理 下载第三方包 比较热门的框架 for 循环 for 循环的几种写法 switch 语句 数组及数组切片 数组迭代 ...
- Python 运算符与数据类型
Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...
- javascript 的惯性运动
移动端的惯性运动,最早来自 ios 的专利.用于手指滑动,离开屏幕之后,屏幕内容继续滚动.更有动态感. 这里,以 pc 端,鼠标横向(沿x轴) 拖拽的,惯性计算.移动端同理 具体代码如下: <! ...
- TCP协议探究(四):定时器
1 概述 重传定时器:使用于当希望收到另一端的确认. 坚持(persist)定时器:使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口 保活(keepalive)定时器:用于检测一个空闲连接的另一 ...
- HTML练习一
效果图 动态图 html代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- Git FLS的使用
克隆git地址后,一些文件内容被隐藏. 显示如下: version https://git-lfs.github.com/spec/v1oid sha256:xxxxxxxxxxxxxxxxxxxxx ...