Appium行为事件处理

Posted mayijinfu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Appium行为事件处理相关的知识,希望对你有一定的参考价值。

1.查看源码语法,起点和终点四个坐标参数,duration是滑动屏幕持续的时间,时间越短速度越快。默认为None可不填,一般设置500-1000毫秒比较合适。

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:

   - start_x - 开始滑动的x坐标 -

  start_y - 开始滑动的y坐标 -

  end_x - 结束点x坐标 -

  end_y - 结束点y坐标 -

  duration - 持续时间,单位毫秒

  :Usage:

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

2.手机从左上角开始为0,横着的是x轴,竖着的是y轴

获取坐标

# coding:utf-8 from appium import webdriver

des_leidian = {
  "platformName": "android",
  "deviceName": "CLB0219103005568",
  "platformVersion": "9",
  "appPackage": "com.mmc.feelsowarm",
  "appActivity": "com.mmc.feelsowarm.WelcomeActivity",
  "noReset": True
  }

driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub‘, desired_caps)

# 获取屏幕的size

size = driver.get_window_size()

# 屏幕宽度width

print(size[‘width‘])

 

# 屏幕高度width

print(size[‘height‘])

运行结果:

{u‘width‘: 720, u‘height‘: 1280}

720

1280

 

 

封装滑动方法

1.把上下左右四种常用的滑动方法封装,这样以后想滑动屏幕时候就能直接调用了

参数1:driver

参数2:t是持续时间

参数3:滑动次数

技术图片

 

def swipe_up(self, n=1):
‘‘‘
往上滑
:param driver:
:return: None
‘‘‘
x1 = self.fenbianlv[‘width‘]/2
y1 = self.fenbianlv[‘height‘] * 3 /4
x2 = self.fenbianlv[‘width‘]/2
y2 = self.fenbianlv[‘height‘] /4
for i in range(n):
self.driver.swipe(x1, y1, x2, y2, 500)

def swipe_down(self, n=1):
‘‘‘
往下滑
:param driver:
:return: None
‘‘‘
x1 = self.fenbianlv[‘width‘]/2
y1 = self.fenbianlv[‘height‘] /4
x2 = self.fenbianlv[‘width‘]/2
y2 = self.fenbianlv[‘height‘] * 3 /4
for i in range(n):
self.driver.swipe(x1, y1, x2, y2, 500)

def swipe_left(self, n=1):
‘‘‘
往左滑
:param driver:
:return: None
‘‘‘
x1 = self.fenbianlv[‘width‘]*3/4
y1 = self.fenbianlv[‘height‘] /2
x2 = self.fenbianlv[‘width‘]/4
y2 = self.fenbianlv[‘height‘] /2
for i in range(n):
self.driver.swipe(x1, y1, x2, y2, 500)

def swipe_right(self, n=1):
‘‘‘
往右滑
:param driver:
:return: None
‘‘‘
x1 = self.fenbianlv[‘width‘]/4
y1 = self.fenbianlv[‘height‘] /2
x2 = self.fenbianlv[‘width‘]*3 /4
y2 = self.fenbianlv[‘height‘] /2
for i in range(n):
self.driver.swipe(x1, y1, x2, y2, 500)

以上是关于Appium行为事件处理的主要内容,如果未能解决你的问题,请参考以下文章

Js 事件

通过调用按钮单击事件处理 winForm 中的关闭事件会导致两种不同的行为

DOM事件机制

jquery $.on() 和使用 date() 时处理奇怪行为的触摸事件

laravel中的事件处理

浏览器默认行为