您的位置:首页 > 移动开发

appium官方API封装

2018-04-12 04:24 169 查看
1 相关说明

 该API文档主要是对UI自动化框架控件操作的api进行说明,api位于\common\common_method\action\element_action.py模块中。

 api调用只能在\common\page(page层)中进行,其他模块严禁调用该api

 api调用示例:self.action.click(self.weiChat_login_locator)

2 API

2.1 click

def click(self, locator):

“””

适用: Android、IOS、Web

点击操作

:param locator: 操作控件

:return:

“””

2.2 tap_element

def tap_element(self, locator=None, x=None, y=None, count=1):

“””

适用: Android、IOS

短暂点击控件的指定位置

:param locator:操作控件

:param x:在控件上的x坐标位置

:param y:在控件上的y坐标位置

:param count:点击次数

:return:

“””

2.3 tap_driver

def tap_driver(self, positions, duration=None):

“””

适用: Android、IOS

短暂点击屏幕上指定的位置,最多可以5根手指同时点击5个位置

:param positions:点击的位置列表,可以是1-5个位置,eq:[(100,100), (50, 50), [150,30]]

:param duration:点击的时间,单位为ms

:return:

“””

2.4 long_press

def long_press(self, locator=None, x=None, y=None, duration=1000):

“””

适用: Android、IOS

长按控件

:param locator:操作控件

:param x:在控件上的x坐标位置

:param y:在控件上的y坐标位置

:param duration:操作时间,单位为ms

:return:

“”“

2.5 send_keys

def send_keys(self, locator, *value):

“””

适用: Android、IOS、Web

在控件上模拟键盘输入

:param locator: 操作的控件

:param value: 要输入的值

:return:

“”“

2.6 set_value (appium提示未实现)

def set_value(self, locator, value):

“””

适用: Android、IOS、Web

设置控件的value值

:param locator: 操作的控件

:param value: 要输入的值

:return:

“”“

2.7 text

def text(self, locator):

“””

适用: Android、IOS、Web

获取控件的text属性值

:param locator: 操作的控件

:return: 控件的文本值

“”“

2.8 flick

def flick(self, start_x, start_y, end_x, end_y):

“””

适用: Android、IOS

手指在屏幕上的轻划操作,主要用于实现页面的快速滚动和翻页功能

:param start_x:移动起点x坐标

:param start_y:移动起点y坐标

:param end_x:移动终点x坐标

:param end_y:移动终点y坐标

:return:

“”“

2.9 swipe

def swipe(self, start_x, start_y, end_x, end_y, duration=None):

“””

适用: Android、IOS

模拟手指在屏幕上的划动操作,从屏幕起点坐标移动到终点坐标,主要用于激活列表项的快捷操作菜单

:param start_x:移动起点x坐标

:param start_y:移动起点y坐标

:param end_x:移动终点x坐标

:param end_y:移动终点y坐标

:param duration:移动花的时间,单位为ms

:return:

“”“

2.10 scroll

def scroll(self, origin_locator, destination_locator):

“””

适用: Android、IOS

从一个控件位置滚动到另一个控件

:param origin_locator:源操作控件

:param destination_locator:滚动到的操作控件

:return:

“”“

2.11 drag_and_drop

def drag_and_drop(self, origin_locator, destination_locator):

“””

适用: Android、IOS

把源控件拖曳到目标控件上

:param origin_locator:源操作控件

:param destination_locator:目标操作控件

:return:

“”“

2.12 pinch

def pinch(self, locator, percent=200, steps=50):

“””

适用: Android、IOS

放大操作,可以打开订阅源、打开文章的详情,放大图片

:param locator:操作控件

:param percent:放大的%倍数,200即放大200%

:param steps:放大时操作的步数

:return:

“”“

2.13 zoom

def zoom(self, locator, percent=200, steps=50):

“””

适用: Android、IOS

缩小操作,可以实现缩小图片等

:param locator:操作控件

:param percent:缩小的%倍数,200即放大200%

:param steps:缩小时操作的步数

:return:

“”“

2.14 shake(appium提示未实现)

def shake(self):

“””

适用: Android、IOS

摇一摇

:return:

“”“

2.15 get_window_size

def get_window_size(self):

“””

适用: Android、IOS、Web

获取窗口的尺寸大小

:return:{“height”: xx, “width”: xx}

“”“

2.16 hide_keyboard(无法实现)

def hide_keyboard(self):

“””

适用: Android、IOS

隐藏键盘

:return:

“”“

2.17 lock

def lock(self, seconds):

“””

适用: IOS

锁住设备一段时间

:param seconds:锁住多少s

:return:

“”“

2.18 pull_file

def pull_file(self, path):

“””

适用: Android、IOS

读取设备上的文件内容,以Base64的编码方式返回

:param path:文件在设备上的绝对路径

:return:文件内容

“”“

2.19 pull_folder

def pull_folder(self, path):

“””

适用: Android、IOS

获取设备上的文件夹,以压缩和Base64编码形式返回

:param path:文件夹在设备上的绝对路径

:return:文件夹

“”“

2.20 push_file

def push_file(self, path, base64data):

“””

适用: Android、IOS

将文件上传到设备中

:param path:文件在设备上的绝对路径

:param base64data:base64编码的文件内容

:return:

“”“

2.21 reset

def reset(self):

“””

适用: Android、IOS

重启当前应用

:return:

“”“

2.22 background_app

def background_app(self, seconds):

“””

适用: Android、IOS

将允许的应用置为后台运行程序,过一段时间后会自动恢复

:param seconds:多少s后恢复,int类型

:return:

“”“

2.23 is_app_installed

def is_app_installed(self, bundle_id):

“””

适用: Android、IOS

确定应用是否安装

:param bundle_id:应用标识符

:return:True or False

“”“

2.24 install_app

def install_app(self, app_path):

“””

适用: Android、IOS

安装应用

:param app_path:安装包在设备上的绝对路径

:return:

“”“

2.25 remove_app

def remove_app(self, app_id):

“””

适用: Android、IOS

卸载应用

:param app_id:应用id

:return:

“”“

2.26 launch_app

def launch_app(self):

“””

适用: Android、IOS

启动配置在desired_caps中的应用

:return:

“”“

2.27 close_app

def close_app(self):

“””

适用: Android、IOS

关闭配置在desired_caps中的应用

:return:

“”“

2.28 start_activity

def start_activity(self, app_package, app_activity):

“””

适用: Android

打开另外一个activity,activity可以属于另外的应用,此时会启动该应用

:param app_package:应用包名

:param app_activity:activity名称

:return:

“”“

2.29 current_activity

def current_activity(self):

“””

适用: Android、IOS

获取当前活动的activity

:return:activity的字符串

“”“

2.30 wait_activity

def wait_activity(self, activity, timeout, interval=1):

“””

适用: Android、IOS

等待输入的activity加载

:param activity:activity字符串

:param timeout:最长加载等待时间,单位为s

:param interval:每次重新操作的等待时间,单位为s

:return:True or False,是否等待加载成功

“”“

2.31 network_connection

def network_connection(self):

“””

适用: Android

获取当前网络配置项

Possible values:

Value (Alias) | Data | Wifi | Airplane Mode

————————————————-

0 (None) | 0 | 0 | 0

1 (Airplane Mode) | 0 | 0 | 1

2 (Wifi only) | 0 | 1 | 0

4 (Data only) | 1 | 0 | 0

6 (All network on) | 1 | 1 | 0

:return:

“”“

2.32 set_network_connection

def set_network_connection(self, connectionType):

“””

适用: Android

设置当前网络配置项

:param connectionType:配置项,int类型

Possible values:

Value (Alias) | Data | Wifi | Airplane Mode

————————————————-

0 (None) | 0 | 0 | 0

1 (Airplane Mode) | 0 | 0 | 1

2 (Wifi only) | 0 | 1 | 0

4 (Data only) | 1 | 0 | 0

6 (All network on) | 1 | 1 | 0

:return:

“”“

2.33 available_ime_engines

def available_ime_engines(self):

“””

适用: Android

获取当前设备可用的输入法

:return:e.g., [‘com.android.inputmethod.latin/.LatinIME’]

“”“

2.34 is_ime_active

def is_ime_active(self):

“””

适用: Android

是否有输入法被激活

:return:True or False

“”“

2.35 active_ime_engine

def active_ime_engine(self):

“””

适用: Android

获取当前激活的输入法

:return: 当前激活的输入法,e.g.,’com.android.inputmethod.latin/.LatinIME’

“”“

2.36 activate_ime_engine

def activate_ime_engine(self, engine):

“””

适用: Android

激活一个输入法

:param engine:输入法,e.g.,’com.android.inputmethod.latin/.LatinIME’

:return:

“”“

2.37 deactivate_ime_engine

def deactivate_ime_engine(self):

“””

适用: Android

将当前的输入法设置为不激活

:return:

“”“

2.38 get_settings

def get_settings(self):

“””

适用: Android、IOS

获取当前appium的相关设置项,https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/settings.md

:return:{u’ignoreUnimportantViews’: False}

“”“

2.39 update_settings

def update_settings(self, settings):

“””

适用: Android、IOS

设置当前appium的相关设置项,https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/settings.md

:param settings:设置项,e.g.,{u’ignoreUnimportantViews’: False}

:return:

“”“

2.40 set_location(无法实现)

def set_location(self, latitude, longitude, altitude):

“””

适用: Android、IOS

设置设备当前所在的位置

:param latitude:维度,between -90.0 and 90.0

:param longitude:经度,between -180.0 and 180.0

:param altitude:海拔高度,1位小数点

:return:

“”“
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  appium api