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原 ...
随机推荐
- openssl-1.17.0安装(centos7)
##编译环境前提,安装了gcc 和gcc-c++ ## 下载源码包prce-8.43.tar.gz tar -zxvf pcre-8.43.tar.gz ## 下载源码包openssl-1.02.ta ...
- sql注入01
1.SLQ:操作数据 数据库结构 create/drop database create/alter/drop table 数据库内容 insert values语句 insert into tabl ...
- 【编程开发】非对称加密过程详解(基于RSA非对称加密算法实现)
1.非对称加密过程: 假如现实世界中存在A和B进行通讯,为了实现在非安全的通讯通道上实现信息的保密性.完整性.可用性(即信息安全的三个性质),A和B约定使用非对称加密通道进行通讯,具体 ...
- 第8课.第一个ARM裸板程序(点亮led)及申引
1.原理图 2.芯片手册 3.几条汇编代码 1.ldr:读内存 ldr R0, [R1] 假设R1的值是x,读取地址x上的数据(4字节),保存到R0中 ldr R0, =0x12345678 (4字节 ...
- Minimizing Difference 【思维】
题目链接: https://vjudge.net/contest/336389#problem/B 题目大意: 给出一个长度为n的数列以及操作次数k.k的范围为1e14.每次操作都可以选择给任意一个数 ...
- 《MIT 6.828 Lab1: Booting a PC》实验报告
<MIT 6.828 Lab1: Booting a PC>实验报告 本实验的网站链接见:Lab 1: Booting a PC. 实验内容 熟悉x86汇编语言.QEMU x86仿真器.P ...
- 一个包含python和java环境的dockerfile
现在一个项目中遇到python调用java的jar包的环境.为了方便发布,编写了这个dockerfile,作为基础镜像. #this docker file is used to build runt ...
- spark机器学一Mllib 数据抽象
spark 提供了两个机器学习库 MLlib 和 ML,MLlib 是 spark 第一个机器学习库,相比于 ML,它更加成熟 rdd 是 spark core 的数据抽象,dataframe 是 s ...
- bzoj2152 聪聪可可 (树形dp)
大意: 给定树, 随机选两点, 求两点距离是3的倍数的概率. 树形dp入门水题, 枚举每个点作为lca时的答案即可. #include <iostream> #include <qu ...
- IP 、127.0.0.1、localhost 三者区别
一.Ping命令 1.Ping命令,用来检查两台物理机间的TCP/IP网络是否通畅或者网络连接速度,是TCP/IP协议的一部分. 2.PING (Packet Internet Groper),因特网 ...