appium滑动

在app应用日常使用过程中,会经常用到在屏幕滑动操作。如刷朋友圈上下滑操作、浏览图片左右滑动操作等。在自动化脚本该如何实现这些操作呢?

在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.

:Args:

- start_x - x-coordinate at which to start

- start_y - y-coordinate at which to start

- end_x - x-coordinate at which to stop

- end_y - y-coordinate at which to stop

- duration - (optional) time to take the swipe, in ms.

:Usage:

driver.swipe(100, 100, 100, 400)

滑动解析

滑动主要分为:

  1. 水平滑动
  2. 垂直滑动
  3. 任意方向滑动

滑动轨迹图如下:

实践应用

测试场景

  • 安装启动考研帮,手动向水平左滑动首页引导页面。
  • 点击“立即体验”进入登录页面。

代码实现

swipe.py

from time import sleep

from find_element.capability import driver

#获取屏幕尺寸

def get_size():

x=driver.get_window_size()[‘width‘]

y=driver.get_window_size()[‘height‘]

return x,y

#显示屏幕尺寸(width,height

l=get_size()

print(l)

#向左滑动

def swipeLeft():

l=get_size()

x1=int(l[0]*0.9)

y1=int(l[1]*0.5)

x2=int(l[0]*0.1)

driver.swipe(x1,y1,x2,y1,1000)

#向左滑动2

for i in range(2):

swipeLeft()

sleep(0.5)

driver.find_element_by_id(‘com.tal.kaoyan:id/activity_splash_guidfinish‘).click()

注意:运行前记得将capablity里面的check_skipBtn()先注释掉,否则直接跳过了无法滑动引导页面。

课后作业

把垂直上下滑动以及向右滑动的也封装并实践。

  • def swipeUp()
  • def swipeDown()
  • def swipeRight()

参考答案

def swipeUp():

l = get_size()

x1 = int(l[0] * 0.5)

y1 = int(l[1] * 0.95)

y2 = int(l[1] * 0.35)

driver.swipe(x1, y1, x1, y2, 1000)

def swipeDown():

l=get_size()

x1 = int(l[0] * 0.5)

y1 = int(l[1] * 0.35)

y2 = int(l[1] * 0.85)

driver.swipe(x1, y1, x1, y2, 1000)

def swipeRight():

l=get_size()

y1 = int(l[1] * 0.5)

x1 = int(l[0] * 0.25)

x2 = int(l[0] * 0.95)

driver.swipe(x1, y1, x2, y1, 1000)

原文地址:https://www.cnblogs.com/xuzhongtao/p/9723217.html

时间: 2024-10-12 19:21:48

appium滑动的相关文章

appium 滑动

前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:http://www.cnblogs.com/tobecrazy/p/4579631.html appium实现截图和清空EditText:http://www.cnblogs.com/tobecrazy/p/4592405.html Appium 处理滑动 appium 处理滑动的方法是 swipe(i

Appium滑动函数:Swipe

Appium处理滑动方法是swipe 滑动API:Swipe(int start x,int start y,int end x,int y,duration) 解释: int start x-开始滑动的x坐标:int start y -开始滑动的y坐标 :int end x -结束点x坐标:int end y -结束点y坐标: duration 滑动时间(默认5毫秒). 屏幕左上角为起点,坐标为(0,0),起点往右为Y轴,起点以下为X轴 微信来说,登录按钮起点和终点坐标分别为(63,1716)

Python Appium 滑动、点击等操作

1.手机滑动-swip # FileName : Tmall_App.py # Author : Adil # DateTime : 2018/3/25 17:22 # SoftWare : PyCharm from appium import webdriver caps = {} caps['platformName'] = 'Android' caps['platformVersion'] = '6.0' caps['deviceName'] = 'N79SIV5PVCSODAQC' ca

Appium滑动直到页面底部

直接上代码 boolean isSwipe = true;String endString = "已加载全部数据";String endString2 = "没有更多的数据";// 滑动屏幕直到页面底部while (isSwipe) { swipeToUp(androidDriver,200,1);//向上滑动屏幕 String temp =androidDriver.getPageSource(); if(temp.contains(endString) || t

Appium for iOS setup

windows下appium设置 之前研究了一段时间的appium for native app 相应的总结如下:                                            appium测试环境搭建 :http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:http://www.cnblogs.com/tobecrazy/p/4579631.html appium实现截图和清空EditText:

appium for mobile web 之使用 ChromeDriver

之前研究了一段时间的appium for native app 相应的总结如下:                                            appium测试环境搭建 :http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:http://www.cnblogs.com/tobecrazy/p/4579631.html appium实现截图和清空EditText:http://www.cnblog

Appium - iOS 各种问题汇总

作者: Max.Bai 时间: 2014/10 Appium - iOS 各种问题汇总  1. Appium 滑动: swipe 有三种方式: 第一种:swipe JavascriptExecutor js = (JavascriptExecutor) driver; HashMap<String, Double> swipeObject = new HashMap<String, Double>(); swipeObject.put("startX", sta

(java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出

selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以打开,如:http://ask.testfan.cn/articles?page=15,就可以翻到文章分类的第15页: import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.u

Appium测试安卓Launcher以滑动窗体获得目标应用

所谓Launcher,指的是安卓的桌面管理程序,所有的应用图标都放在launcher上面.其实这是一个很简单的例子,只是为了验证几点想法而已. 1.实验目的 做这个试验的目的有二 尝试下窗体滑动函数swipe的使用 好奇究竟能不能正常的对安卓的Launcher进行指定package和activity进行测试 2.实验背景 过程是打算使用appium来启动launcher,然后滑动窗口去获取在第三个桌面的sdk自带应用"Notes".如下图所示 3. 试验步骤 3.1 获得launche