swipe滑动操作

1.swipe() 滑动用法
  • Swipe(x1,y1,x2,y2,duration)
  • x1-开始滑动的x坐标,y1-开始滑动的Y坐标
  • x2-结束点x坐标,y2-结束点y坐标
  • duration滑动事件(默认5毫秒)
#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("com.yw.yzz:id/login_name").send_keys("17779828883")
driver.find_element_by_id("com.yw.yzz:id/login_identify_code").send_keys("123456")
driver.find_element_by_id("com.yw.yzz:id/btn_login").click()
#coding=utf-8

from appium import webdriver
from time import sleep

caps = {
  "platformName": "Android",
  "deviceName": "127.0.0.1:62001",
  "platformVersion": "5.1.1",
  "appPackage": "com.yw.yzz",
  "appActivity": "com.yw.yzz.biz.splash.SplashActivity",
  "unicodeKeyboard": "True",
  "resetKeyboard": "True"
  # "noReset": "True"
}
driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub‘,caps)

def size():
   x=driver.get_window_size()["width"]#获取当前屏幕的宽
   y=driver.get_window_size()["height"]#获取当前屏幕的高
   return (x,y)

#上滑
def up(t):
    sz=size()
    x1=int(sz[0]*0.5)
    y1=int(sz[1]*0.9)
    y2=int(sz[1]*0.2)
    driver.swipe(x1,y1,x1,y2,t)
    sleep(1)
    return driver

#下滑
def down(t):
    sz=size()
    x1=int(sz[0]*0.5)
    y1=int(sz[1]*0.2)
    y2=int(sz[1]*0.9)
    driver.swipe(x1,y1,x1,y2,t)
    sleep(1)
    return driver

#左滑
def left(t):
    sz=size()
    x1=int(sz[0]*0.9)
    x2=int(sz[0]*0.2)
    y1=int(sz[1]*0.5)
    driver.swipe(x1,y1,x2,y1,t)
    sleep(1)
    return driver

#右滑
def right(t):
    sz=size()
    x1=int(sz[0]*0.2)
    x2=int(sz[0]*0.9)
    y1=int(sz[1]*0.5)
    driver.swipe(x1,y1,x2,y1,t)
    sleep(1)
    return driver

原文地址:https://www.cnblogs.com/Mr-ZY/p/12028470.html

时间: 2024-10-13 13:09:23

swipe滑动操作的相关文章

iOS之UITableView带滑动操作菜单的Cell

制作一个可以滑动操作的 Table View Cell 本文翻译自 http://www.raywenderlich.com/62435/make-swipeable-table-view-cell-actions-without-going-nuts-scroll-views 原作者:Ellen Shapiro Apple 通过 iOS 7 的邮件(Mail)应用介绍了一种新的用户界面方案——向左滑动以显示一个有着多个操作的菜单.本教程将会向你展示如何制作一个这样的 Table View Ce

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){

制作一个可以滑动操作的 Table View Cell

Apple 通过 iOS 7 的邮件(Mail)应用介绍了一种新的用户界面方案——向左滑动以显示一个有着多个操作的菜单.本教程将会向你展示如何制作一个这样的 Table View Cell,而不用因嵌套的 Scroll View 陷入困境.如果你还不知道一个可滑动的 Table View Cell 意味着什么,那么看看 Apple 的邮件应用: 可能你会想,既然 Apple 展示了这种方案,那它应该已将其开放给开发者使用了.毕竟,这能有多难呢?但不幸的是,他们只让开发者使用 Delete 按钮—

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

滑动解析 滑动主要分为:水平滑动.垂直滑动.任意方向滑动 滑动轨迹 在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

swipe()滑动屏幕

屏幕页面滑动在APP自动化测试中属于一个比较常见也比较特殊的操作. 通过查看swipe()方法的源码可以知道它一共有5个参数,分别为: start_x:起点横坐标 start_y:起点纵坐标 end_x:终点横坐标 end_y:终点纵坐标 duration:滑动时间,单位毫秒 并且可以发现,它的本质其实是一个链式调用,从起点位置滑到终点位置,滑动时间为duration. 既然我们要使用,那肯定要给它传递坐标的参数, 那么起点坐标和终点坐标的位置怎么获得呢? 我们可以通过屏幕尺寸计算得到合适的坐标

【深度好文!】滑动操作的维度研究

提示:这篇文章讲解的比较深奥,需要静心阅读,泛读者慎看! 前言 在iOS交互模型的最底层,有一个“空间”的概念(具体可见ios空间模型), 而空间最基本的属性就是三个维度.滑动依存于屏幕这个二维环境,也可以从维度这个角度去思考.最常见的滑动例如ios里删除短信息的操作,这里的滑动是最 基础的,可以理解成一维的.被赋予了唯一功能的操作.但如果认为滑动就是这么简单,那可能忽略了滑动可以为设计带来的千变万化. 当滑动被赋予功能,并与界面(信息或控件)结合时,具有很强的可塑性,并可有效提升操作的易用性.

Android 屏蔽ScrollView滑动操作

屏蔽ScrollView滑动操作,如下,会用到ViewConfiguration这个类,这个类可以获取到用户是否为滑动操作的临界值. 代码如下: package com.xx.uikit.view; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.ViewConfiguration; import andro

微信小程序开发-滑动操作

在实际应用中,当某种手势被触发后,在用户没有放开鼠标或手指前,会一直识别为该手势.比如当用户触发左滑手势后,这时再向下滑动,仍要按照左滑手势来处理. 可以定义一个标记来记录第一次识别到的手势,如果已识别出手势,后续的滑动操作就可以忽略,直到用户放开鼠标或手指.放开鼠标或手指操作可以通过绑定handletouchend事件来处理. Page({ data: { lastX: 0, lastY: 0, text : "没有滑动", currentGesture: 0, }, handlet

关于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数值越小还有一个功能,可以模拟成点击按钮