关于appium自动化swipe模拟滑动操作

swipe可以模拟我们平时玩手机时的,上下左右滑动的功能,首先来看swepi接收的参数,

start_x, start_y, end_x, end_y, duration=None

swipe可以接收5个参数,其中4个必填,1个选填。4个必填参数分别是:X轴开始,Y轴开始,X轴结束,Y轴结束。选填参数是持续时间,也就是滑动速度,数值越小滑动速度越快,数值越大滑动

速度就越慢。一般duration填500,就可以看出滑动效果。

看源码参数:

duration数值越小还有一个功能,可以模拟成点击按钮的功能。每个手机分辨率不同,因此屏幕尺寸就不同,可以用size = driver.get_window_size(),获取到屏幕的尺寸。然后打印出屏幕尺寸

打印出来是个字典,如图:

然后就分别获取他们的值,width = size["width"] ,height = size["height"]

从下往上滑,起始y1比结束坐标y2大,差距越大,滑动距离越大,

从上往下滑,起始y1比结束坐标y2小,差距越大,滑动距离越大,

从左往右滑,起始x1比结束坐标x2大,差距越大,滑动距离越大

从右往左滑,起始x1比结束坐标x2小,差距越大,滑动距离越大


然后分别赋值

x1 = width*0.2

y1 = height*0.9

x2 = width*0.2

y2 = height*0.1

demo如下:

# todo 滑动模拟
from appium import webdriver
import time

desired_caps = {
    "platformName":"Android",
    "platformVersion":"5.1",
    "deviceName":"127.0.0.1:62001",
    "appPackage":"com.android.settings",
    "appActivity":".Settings",
    "noreset":"True"
               }

# 声明driver对象
driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub‘,desired_caps)
size = driver.get_window_size()
print(size)
width = size["width"]
height = size["height"]
print(width,height)

# todo 从下往上滑,起始y1比结束坐标y2大,差距越大,滑动距离越大,
# TODO 从上往下滑,起始y1比结束坐标y2小,差距越大,滑动距离越大
# todo 从左往右滑,起始x1比结束坐标x2大,差距越大,滑动距离越大
# TODO 从右往左滑,起始x1比结束坐标x2小,差距越大,滑动距离越大

x1 = width*0.2
y1 = height*0.9
x2 = width*0.2
y2 = height*0.1

driver.swipe(x1,y1,x2,y2,500)
time.sleep(10)
driver.quit()

原文地址:https://www.cnblogs.com/xiamaojjie/p/11421089.html

时间: 2024-10-10 09:44:40

关于appium自动化swipe模拟滑动操作的相关文章

Appium + python - swipe滑屏操作实例

方法一: from appium import webdriverfrom time import sleep descred_caps = { "platformName":"Android", "platformVersion":"5.1.1", "deviceName":"127.0.0.1:62001", "appPackage":"com.baid

python selenium模拟滑动操作

selenium.webdriver提供了所有WebDriver的实现,目前支持FireFox.phantomjs.Chrome.Ie和Remote quit()方法会退出浏览器,而close()方法只是关闭页面,但如果只有一个页面被打开,close()方法同样会退出浏览器 使用remote WebDriver 使用remote WebDriver之前,需要先启动selenium server,命令如下: java -jar selenium-server-standalone-2.x.x.ja

Android自动化框架 模拟操作 模拟测试

转自:http://bbs2.c114.net/home.php?mod=space&uid=1025779&do=blog&id=5322 几种常见的Android自动化测试框架及其应用 随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的基于UI层面的自动化测试工具.趁晚上有空总结下,好记心不如烂笔头呀! 一 常见Android自动

Appium自动化WebView中元素的操作

在App开发过程中,很容易用到第三方的WebView控件,这个属于移动端混合型App.在我们做自动化测试的过程中,就要对这种情况进行处理,最通用的办法就是先将appium切换到webview模式然后按查找web元素的方法对WebView里面的元素进行操作即可.具体实施方法,可以参考:http://www.tuicool.com/articles/bIBRZze 可是也有很多情况,如新浪微博第三方授权登录页面(如图一),这个嵌入到App中的第三方WebView,在查上下文信息的时候,找不到对应的W

appium自动化之对手机按键的操作

简单说说通过appium模拟系统按键的操作,如返回键,home键,音量键等等.要模拟按键操作得用到 keyevent方法,参数如下 keyevent(keycode, metastate=None) keycode:发送给设备的关键代码,关键代码,指的是实体按键对应的编码 metastate:默认值不用填 操作音量键的demo如下: from appium import webdriver import time desired_caps = { "platformName":&quo

滑动操作以及滑动方法封装

滑动解析 滑动主要分为:水平滑动.垂直滑动.任意方向滑动 滑动轨迹 在Appium中模拟用户滑动操作需要使用swipe方法,该方法定义如下: def swipe(self, start_x, start_y, end_x, end_y, duration=None): """Swipe from one point to another point, for an optional duration. 从一个点滑动到另一个点,duration是滑动时间 :Args: - st

appium自动化基础总结

---恢复内容开始--- 断断续续学了2周appium自动化,把经常用到基础写出来吧!方便日后便于查看. appium解决中文无法输入和,启动app自动清除数据的问题.在前置代码里面加上这3句就可以解决. desired_caps = { "unicodeKeyboard": "True", # 使用unicode输入法 "resetKeyboard": "True", # 重置输入法到初始状态 "noReset&q

Appium-Java滑动操作

Java滑动操作,通常可以直接使用API中AndroidDriver类中的swipe方法,直接进行调用 swipe(int startx, int starty, int endx, int endy, int duration) 但是,现在屏幕各式各样,滑动的结束位置均不太好掌控,因此,为了方便,可以将swipe方法进行如下改善 1.不可配置滑动次数 public void swipeToUp(AndroidDriver<AndroidElement> driver,int during){

Android手机上,利用bat脚本模拟用户操作

---- 那么你就可以来看看这篇帖子了. 言归正传 利用bat脚本模拟用户操作,需要用到两点: ①就是adb命令了,adb命令可以用来模拟用户在手机上的操作 ②bat语言,就是批处理语言,主要用来进行逻辑处理,跟众多语言语法一样,批处理语言也包括for循环.if语句之类的语法: 一.adb命令 首先我们来介绍模拟用户在手机上操作的adb命令 input keyevent //发送键盘事件 用法说明: adb shell input keyevent "value" usage: inp