Appium基础(二)

在本文中将着重对“常用api”进行探讨。

本文大致可以分为三部分,

一、键盘操作

二、TouchAction操作

三、其他操作


一、键盘操作

主要就是一个presskeycode,可以模仿几乎所有的手机上实体按键,虚拟按键的操作

python实现:driver.pressKeyCode()

常用参数:

KEYCODE_CALL 拨号键 5

KEYCODE_ENDCALL 挂机键 6

KEYCODE_HOME 按键Home 3

KEYCODE_MENU 菜单键 82

KEYCODE_BACK 返回键 4

KEYCODE_POWER 电源键 26

例:driver.pressKeyCode(4)

效果:点击返回键


二、TouchAction操作

先导入TouchAction类

from appium.webdriver.common.touch_actionimport TouchAction

再创建一个对象

action= TouchAction(driver)

1.长按

python实现:

action.long_press(driver.find_element_by_id("元素id"),3000).perform().release()

效果:长按元素3秒

2.光标移动

python实现:

action.moveTo(driver.find_element_by_id("元素id")).perform().release()

效果:将光标移动到目标元素上

3.点击

python实现:

action.tap(driver.find_element_by_id("元素id")).perform().release()

效果:点击元素

4.暂停

python实现:

action.wait(3000)

效果:暂停脚本运行3秒


三、其他操作

1.滑动

目前基本不存在单屏就能操控所有功能的app,所以滑动也是非常重要的

python实现:driver.swipe(x1, y1, x2, y2, 延时z)

效果:从A点(x1,y1)滑动到B点(x2,y2),整个滑动过程时间z秒

由于各机型屏幕大小的差异,所以点到点的滑动,难免会存在不适配的情况,且滑动效果也差异较大

所以不建议将滑动点写死,而是获取到当前机型的屏幕尺寸,进行适配后再带入滑动点坐标

python实现:

# 获取屏幕宽和高

def getSize(driver):

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

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

    return (x, y)

# 向上滑动

def swipeUp(driver):

    l = getSize(driver)

    x1 = int(l[0] * 0.5)

    y1 = int(l[1] * 0.8)

    y2 = int(l[1] * 0.22)

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

效果:从屏幕的(0.5,0.8)滑到屏幕的(0.5,0.22),延时2秒,实现了一个上滑的操作,大致滑动了一屏

注意这里不要把延时设的太短,否则就和人操作一样,一个很快的上滑,直接就到页面底端了

2.收起键盘

一般情况下键盘会自动收起,这里的收起键盘用于键盘不听话的时候

python实现:driver.hideKeyboard()

效果:收起键盘


感谢阅读,欢迎转载。

如有错误请及时指出,谢谢!

如有问题请留言,我懂的必然会回复!

共勉。

你可能感兴趣的:(Appium基础(二))