移动端测试 - Appium-Python-Client-API
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了移动端测试 - Appium-Python-Client-API,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含24017字,纯文字阅读大概需要35分钟。
内容图文
![移动端测试 - Appium-Python-Client-API](/upload/InfoBanner/zyjiaocheng/657/b11822b0d23f44cb8db82e1796a2ae27.jpg)
About Appium-Python-Client-API
来看看appium-python-client
库都有哪些常用的api可用。
contexts
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
Lib\site-packages\appium\webdriver\extensions\context.py @property def contexts(self): """Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控件 Usage: driver.contexts Return: :obj:`list` of :obj:`str`: The contexts within the current session """ return self.execute(Command.CONTEXTS)['value'] 可以跟switch_to_content()连用,用于切换到相应的H5控件中。View Code
current_context
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
Lib\site-packages\appium\webdriver\extensions\context.py @property def context(self): """Returns the current context of the current session. 返回当前会话的当前上下文 Usage: driver.context Return: str: The context of the current session """ return self.current_contextView Code
context
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
Lib\site-packages\appium\webdriver\extensions\context.py @property def context(self): """Returns the current context of the current session. 返回当前会话的当前上下文 Usage: driver.context Return: str: The context of the current session """ return self.current_contextView Code
find_element_by_ios_uiautomation
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
Lib\site-packages\appium\webdriver\webdriver.py def find_element_by_ios_uiautomation(self, uia_string): """Finds an element by uiautomation in iOS. 通过iOS uiautomation查找元素 Args: uia_string (str): The element name in the iOS UIAutomation library Usage: driver.find_element_by_ios_uiautomation('.elements()[1].cells()[2]') Returns: `appium.webdriver.webelement.WebElement` :rtype: `MobileWebElement` """ return self.find_element(by=MobileBy.IOS_UIAUTOMATION, value=uia_string)View Code
find_element_by_accessibility_id
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
Lib\site-packages\appium\webdriver\webdriver.py def find_element_by_accessibility_id(self, accessibility_id): """Finds an element by accessibility id. 通过accessibility id查找元素 Args: accessibility_id (str): A string corresponding to a recursive element search using the Id/Name that the native Accessibility options utilize Usage: driver.find_element_by_accessibility_id() Returns: `appium.webdriver.webelement.WebElement` :rtype: `MobileWebElement` """ return self.find_element(by=MobileBy.ACCESSIBILITY_ID, value=accessibility_id)View Code
scroll
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
Lib\site-packages\appium\webdriver\extensions\action_helpers.py def scroll(self, origin_el, destination_el, duration=None): """Scrolls from one element to another 从元素origin_el滚动至元素destination_el Args: originalEl (`appium.webdriver.webelement.WebElement`): the element from which to being scrolling destinationEl (`appium.webdriver.webelement.WebElement`): the element to scroll to duration (int): a duration after pressing originalEl and move the element to destinationEl. Default is 600 ms for W3C spec. Zero for MJSONWP. Usage: driver.scroll(el1, el2) Returns: `appium.webdriver.webelement.WebElement` """View Code
drag_and_drop
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
Lib\site-packages\appium\webdriver\extensions\action_helpers.py def drag_and_drop(self, origin_el, destination_el): """Drag the origin element to the destination element 将元素origin_el拖到目标元素destination_el Args: originEl (`appium.webdriver.webelement.WebElement`): the element to drag destinationEl (`appium.webdriver.webelement.WebElement`): the element to drag to Usage: driver.drag_and_drop(el1, el2) Returns: `appium.webdriver.webelement.WebElement` """ action = TouchAction(self) action.long_press(origin_el).move_to(destination_el).release().perform() return selfView Code
tap
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
Lib\site-packages\appium\webdriver\common\touch_action.py def tap(self, positions, duration=None): """ 模拟手指点击(最多5个手指),保持一定的时间 Args: positions (:obj:`list` of :obj:`tuple`): list类型,里面对象是元组,最多五个。如:[(100, 20), (100, 60)] duration (:obj:`int`, optional): 持续时间,单位毫秒,如:500 Usage: driver.tap([(100, 20), (100, 60), (100, 100)], 500) Returns: `appium.webdriver.webelement.WebElement` """View Code
触摸操作:TouchAction
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
Lib\site-packages\appium\webdriver\common\touch_action.py class TouchAction(object): def __init__(self, driver=None): self._driver = driver self._actions = [] def tap(self, element=None, x=None, y=None, count=1): 模拟手指触摸屏 def press(self, el=None, x=None, y=None): 短按:模拟手指按住一个元素,或者坐标 def long_press(self, el=None, x=None, y=None, duration=1000): 长按:模拟按住一个元素,或者坐标 def wait(self, ms=0): 按住元素后的等待时间 def move_to(self, el=None, x=None, y=None): 移动手指到另外一个元素,或者坐标,注意这里坐标不是绝对坐标,是偏移量 def release(self): 释放手指 def perform(self): 执行前面的动作View Code
10.flick
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
flick(self, start_x, start_y, end_x, end_y): Flick from one point to another point. ? 按住A点后快速滑动至B点 ? :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 ? :Usage: ? driver.flick(100, 100, 100, 400) 用法 driver.flick(x1,y1,x2,y2)View Code
11.pinch
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
pinch(self, element=None, percent=200, steps=50): Pinch on an element a certain amount ? 在元素上执行模拟双指捏(缩小操作) ? :Args: ? - element - the element to pinch ? - percent - (optional) amount to pinch. Defaults to 200% ? - steps - (optional) number of steps in the pinch action ? :Usage: ? driver.pinch(element) 用法 driver.pinch(element)View Code
12.zoom
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
zoom(self, element=None, percent=200, steps=50): Zooms in on an element a certain amount ? 在元素上执行放大操作 ? :Args: ? - element - the element to zoom ? - percent - (optional) amount to zoom. Defaults to 200% ? - steps - (optional) number of steps in the zoom action ? :Usage: ? driver.zoom(element) 用法 driver.zoom(element)View Code
13.reset
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
reset(self): Resets the current application on the device. 重置应用(类似删除应用数据) 用法 driver.reset() \14. hide_keyboard hide_keyboard(self, key_name=None, key=None, strategy=None): Hides the software keyboard on the device. In iOS, use key_name to press a particular key, or strategy. In Android, no parameters are used. ? 隐藏键盘,iOS使用key_name隐藏,安卓不使用参数 ? :Args: ? - key_name - key to press ? - strategy - strategy for closing the keyboard (e.g., tapOutside) driver.hide_keyboard()View Code
15. keyevent
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
keyevent(self, keycode, metastate=None): Sends a keycode to the device. Android only. Possible keycodes can be found in http://developer.android.com/reference/android/view/KeyEvent.html. ? 发送按键码(安卓仅有),按键码可以上网址中找到 ? :Args: ? - keycode - the keycode to be sent to the device ? - metastate - meta information about the keycode being sent 用法 dr.keyevent(‘4’)View Code
16. press_keycode
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
press_keycode(self, keycode, metastate=None): Sends a keycode to the device. Android only. Possible keycodes can be found in http://developer.android.com/reference/android/view/KeyEvent.html. ? 发送按键码(安卓仅有),按键码可以上网址中找到 ? :Args: ? - keycode - the keycode to be sent to the device ? - metastate - meta information about the keycode being sent 用法 driver.press_ keycode(‘4’) dr.keyevent(‘4’)与driver.press_ keycode(‘4’) 功能实现上一样的,都是按了返回键View Code
17. long_press_keycode
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
long_press_keycode(self, keycode, metastate=None): Sends a long press of keycode to the device. Android only. Possible keycodes can be ? found in http://developer.android.com/reference/android/view/KeyEvent.html. ? 发送一个长按的按键码(长按某键) ? :Args: ? - keycode - the keycode to be sent to the device ? - metastate - meta information about the keycode being sent 用法 driver.long_press_keycode(‘4’) 18.current_activity current_activity(self): Retrieves the current activity on the device. 获取当前的activity 用法 print(driver.current_activity())View Code
19. wait_activity
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
wait_activity(self, activity, timeout, interval=1): Wait for an activity: block until target activity presents or time out. ? This is an Android-only method. ? 等待指定的activity出现直到超时,interval为扫描间隔1秒 即每隔几秒获取一次当前的activity 返回的True 或 False ? :Agrs: ? - activity - target activity ? - timeout - max wait time, in seconds ? - interval - sleep interval between retries, in seconds 用法driver.wait_activity(‘.activity.xxx’,5,2)View Code
20. background_app
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
background_app(self, seconds): Puts the application in the background on the device for a certain duration. ? 后台运行app多少秒 ? :Args: ? - seconds - the duration for the application to remain in the background 用法 driver.background_app(5) 置后台5秒后再运行View Code
21.is_app_installed
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
is_app_installed(self, bundle_id): Checks whether the application specified by bundle_id is installed on the device. ? 检查app是否有安装 返回 True or False ? :Args: ? - bundle_id - the id of the application to query 用法 driver.is_app_installed(“com.xxxx”)View Code
22.install_app
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
install_app(self, app_path): Install the application found at app_path on the device. ? 安装app,app_path为安装包路径 ? :Args: ? - app_path - the local or remote path to the application to install 用法 driver.install_app(app_path)View Code
23.remove_app
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
remove_app(self, app_id): Remove the specified application from the device. ? 删除app ? :Args: ? - app_id - the application id to be removed 用法 driver.remove_app(“com.xxx.”)View Code
24.launch_app
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
launch_app(self): Start on the device the application specified in the desired capabilities. 启动app 用法 driver.launch_app()View Code
25.close_app
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
close_app(self): Stop the running application, specified in the desired capabilities, on the device. 关闭app 用法 driver.close_app() 启动和关闭app运行好像会出错View Code
26. start_activity
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
start_activity(self, app_package, app_activity, **opts): Opens an arbitrary activity during a test. If the activity belongs to ? another application, that application is started and the activity is opened. ? This is an Android-only method. ? 在测试过程中打开任意活动。如果活动属于另一个应用程序,该应用程序的启动和活动被打开。 这是一个安卓的方法 ? :Args: ? - app_package - The package containing the activity to start. ? - app_activity - The activity to start. ? - app_wait_package - Begin automation after this package starts (optional). ? - app_wait_activity - Begin automation after this activity starts (optional). ? - intent_action - Intent to start (optional). ? - intent_category - Intent category to start (optional). ? - intent_flags - Flags to send to the intent (optional). ? - optional_intent_arguments - Optional arguments to the intent (optional). ? - stop_app_on_reset - Should the app be stopped on reset (optional)? 用法 driver.start_activity(app_package, app_activity)View Code
27.lock
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
lock(self, seconds): Lock the device for a certain period of time. iOS only. ? 锁屏一段时间 iOS专有 ? :Args: ? - the duration to lock the device, in seconds 用法 driver.lock() 28.shake shake(self): Shake the device. 摇一摇手机 用法 driver.shake()View Code
28.open_notifications
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
open_notifications(self): Open notification shade in Android (API Level 18 and above) 打系统通知栏(仅支持API 18 以上的安卓系统) 用法 driver.open_notifications()View Code
29.network_connection
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
network_connection(self): Returns an integer bitmask specifying the network connection type. ? Android only. 返回网络类型 数值 ? Possible values are available through the enumeration appium.webdriver.ConnectionType 用法 driver.network_connectionView Code
30. set_network_connection
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
set_network_connection(self, connectionType): Sets the network connection type. Android only. ? 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 ? These are available through the enumeration appium.webdriver.ConnectionType` ? 设置网络类型 ? :Args: ? - connectionType - a member of the enum appium.webdriver.ConnectionType 用法 先加载from appium.webdriver.connectiontype import ConnectionType dr.set_network_connection(ConnectionType.WIFI_ONLY) ConnectionType的类型有 NO_CONNECTION = 0 AIRPLANE_MODE = 1 WIFI_ONLY = 2 DATA_ONLY = 4 ALL_NETWORK_ON = 6View Code
31. available_ime_engines
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
available_ime_engines(self): Get the available input methods for an Android device. Package and activity are returned (e.g., ['com.android.inputmethod.latin/.LatinIME']) ? Android only. 返回安卓设备可用的输入法 用法print(driver.available_ime_engines)View Code
32.is_ime_active
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
is_ime_active(self): Checks whether the device has IME service active. Returns True/False. ? Android only. 检查设备是否有输入法服务活动。返回真/假。 安卓 用法 print(driver.is_ime_active())View Code
33.activate_ime_engine
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
activate_ime_engine(self, engine): Activates the given IME engine on the device. ? Android only. ? 激活安卓设备中的指定输入法,设备可用输入法可以从“available_ime_engines”获取 ? :Args: ? - engine - the package and activity of the IME engine to activate (e.g., ? 'com.android.inputmethod.latin/.LatinIME') 用法 driver.activate_ime_engine(“com.android.inputmethod.latin/.LatinIME”)View Code
34.deactivate_ime_engine
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
deactivate_ime_engine(self): Deactivates the currently active IME engine on the device. ? Android only. 关闭安卓设备当前的输入法 用法 driver.deactivate_ime_engine()View Code
35.active_ime_engine
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
active_ime_engine(self): Returns the activity and package of the currently active IME engine (e.g., ? 'com.android.inputmethod.latin/.LatinIME'). ? Android only. ? 返回当前输入法的包名 用法 driver.active_ime_engineView Code
36. toggle_location_services
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
toggle_location_services(self): Toggle the location services on the device. Android only. 打开安卓设备上的位置定位设置 用法 driver.toggle_location_services()View Code
37.set_location
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
set_location(self, latitude, longitude, altitude): Set the location of the device ? 设置设备的经纬度 ? :Args: ? - latitude纬度 - String or numeric value between -90.0 and 90.00 ? - longitude经度 - String or numeric value between -180.0 and 180.0 ? - altitude海拔高度- String or numeric value 用法 driver.set_location(纬度,经度,高度)View Code
38.tag_name
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
tag_name(self): This element's tagName property. 返回元素的tagName属性 经实践返回的是class name 用法 element.tag_name()View Code
39.text
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
text(self): The text of the element. ? 返回元素的文本值 用法 element.text()View Code
40.click
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
click(self): Clicks the element. 点击元素 用法 element.click()View Code
41.submit
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
submit(self): Submits a form. ? 提交表单 用法 暂无View Code
42.clear
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
clear(self): Clears the text if it's a text entry element. ? 清除输入的内容 用法 element.clear()View Code
43.get_attribute
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
get_attribute(self, name): 详见@chenhengjie123 的超级链接 Gets the given attribute or property of the element. 1、获取 content-desc 的方法为 get_attribute("name") ,而且还不能保证返回的一定是 content-desc (content-desc 为空时会返回 text 属性值) 2、get_attribute 方法不是我们在 uiautomatorviewer 看到的所有属性都能获取的(此处的名称均为使用 get_attribute 时使用的属性名称): 可获取的: 字符串类型: name(返回 content-desc 或 text) text(返回 text) className(返回 class,只有 API=>18 才能支持) resourceId(返回 resource-id,只有 API=>18 才能支持) ? This method will first try to return the value of a property with the ? given name. If a property with that name doesn't exist, it returns the ? value of the attribute with the same name. If there's no attribute with ? that name, None is returned. ? Values which are considered truthy, that is equals "true" or "false", ? are returned as booleans. All other non-None values are returned ? as strings. For attributes or properties which do not exist, None ? is returned. ? :Args: ? - name - Name of the attribute/property to retrieve. ? Example:: ? # Check if the "active" CSS class is applied to an element. ? is_active = "active" in target_element.get_attribute("class") 用法 暂无View Code
44.is_selected
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
is_selected(self): Returns whether the element is selected. ? Can be used to check if a checkbox or radio button is selected. 返回元素是否选择。 可以用来检查一个复选框或单选按钮被选中。 用法 element.is_slected()View Code
45.is_enabled
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
is_enabled(self): Returns whether the element is enabled. ? 返回元素是否可用True of False 用法 element.is_enabled()View Code
46.find_element_by_id
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_element_by_id(self, id_): Finds element within this element's children by ID. ? 通过元素的ID定位元素 ? :Args: ? - id_ - ID of child element to locate. 用法 driver. find_element_by_id(“id”)View Code
47. find_elements_by_id
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_elements_by_id(self, id_): Finds a list of elements within this element's children by ID. ? 通过元素ID定位,含有该属性的所有元素 ? :Args: ? - id_ - Id of child element to find. 用法 driver. find_elements_by_id(“id”)View Code
48. find_element_by_name
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_element_by_name(self, name): Finds element within this element's children by name. ? 通过元素Name定位(元素的名称属性text) ? :Args: ? - name - name property of the element to find. 用法 driver.find_element_by_name(“name”)View Code
49. find_elements_by_name
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_elements_by_name(self, name): Finds a list of elements within this element's children by name. ? 通过元素Name定位(元素的名称属性text),含有该属性的所有元素 ? :Args: ? - name - name property to search for. 用法 driver.find_element_by_name(“name”)View Code
50. find_element_by_link_text
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_element_by_link_text(self, link_text): Finds element within this element's children by visible link text. ? 通过元素可见链接文本定位 ? :Args: ? - link_text - Link text string to search for. 用法 driver.find_element_by_link_text(“text”)View Code
51. find_elements_by_link_text
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_element_by_link_text(self, link_text): Finds a list of elements within this element's children by visible link text ? 通过元素可见链接文本定位,含有该属性的所有元素 ? :Args: ? - link_text - Link text string to search for. 用法 driver.find_elements_by_link_text(“text”)View Code
52. find_element_by_partial_link_text
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_element_by_partial_link_text(self, link_text): Finds element within this element's children by partially visible link text. ? 通过元素部分可见链接文本定位 ? :Args: ? - link_text - Link text string to search for. driver. find_element_by_partial_link_text(“text”)View Code
53. find_elements_by_partial_link_text
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_elements_by_partial_link_text(self, link_text): Finds a list of elements within this element's children by link text. ? 通过元素部分可见链接文本定位,含有该属性的所有元素 ? :Args: ? - link_text - Link text string to search for. driver. find_elements_by_partial_link_text(“text”)View Code
54. find_element_by_tag_name
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_element_by_tag_name(self, name): Finds element within this element's children by tag name. ? 通过查找html的标签名称定位元素 ? :Args: ? - name - name of html tag (eg: h1, a, span) 用法 driver.find_element_by_tag_name(“name”)View Code
55. find_elements_by_tag_name
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_elements_by_tag_name(self, name): Finds a list of elements within this element's children by tag name. 通过查找html的标签名称定位所有元素 ? :Args: ? - name - name of html tag (eg: h1, a, span) 用法driver.find_elements_by_tag_name(“name”)View Code
56. find_element_by_xpath
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_element_by_xpath(self, xpath): Finds element by xpath. ? 通过Xpath定位元素,详细方法可参阅http://www.w3school.com.cn/xpath/ ? :Args: ? xpath - xpath of element to locate. "//input[@class='myelement']" ? Note: The base path will be relative to this element's location. ? This will select the first link under this element. ? :: ? myelement.find_elements_by_xpath(".//a") ? However, this will select the first link on the page. ? :: ? myelement.find_elements_by_xpath("//a") 用法 find_element_by_xpath(“//*”)View Code
57. find_elements_by_xpath3
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_elements_by_xpath(self, xpath): Finds elements within the element by xpath. ? :Args: ? - xpath - xpath locator string. ? Note: The base path will be relative to this element's location. ? This will select all links under this element. ? :: ? myelement.find_elements_by_xpath(".//a") ? However, this will select all links in the page itself. ? :: ? myelement.find_elements_by_xpath("//a") 用法find_elements_by_xpath(“//*”)View Code
58. find_element_by_class_name
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_element_by_class_name(self, name): Finds element within this element's children by class name. ? 通过元素class name属性定位元素 ? :Args: ? - name - class name to search for. 用法 driver. find_element_by_class_name(“android.widget.LinearLayout”)View Code
59. find_elements_by_class_name
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_elements_by_class_name(self, name): Finds a list of elements within this element's children by class name. ? 通过元素class name属性定位所有含有该属性的元素 ? :Args: ? - name - class name to search for. 用法 driver. find_elements_by_class_name(“android.widget.LinearLayout”)View Code
60. find_element_by_css_selector
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
find_element_by_css_selector(self, css_selector): Finds element within this element's children by CSS selector. ? 通过CSS选择器定位元素 ? :Args: ? - css_selector - CSS selctor string, ex: 'a.nav#home'View Code
61.send_keys
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
send_keys(self, *value): Simulates typing into the element. ? 在元素中模拟输入(开启appium自带的输入法并配置了appium输入法后,可以输入中英文) ? :Args: ? - value - A string for typing, or setting form fields. For setting ? file inputs, this could be a local file path. ? Use this to send simple key events or to fill out form fields:: ? form_textfield = driver.find_element_by_name('username') ? form_textfield.send_keys("admin") ? This can also be used to set file inputs. ? :: ? file_input = driver.find_element_by_name('profilePic') ? file_input.send_keys("path/to/profilepic.gif") ? # Generally it's better to wrap the file path in one of the methods ? # in os.path to return the actual path to support cross OS testing. ? # file_input.send_keys(os.path.abspath("path/to/profilepic.gif")) driver.element.send_keys(“中英”)View Code
62. is_displayed
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
is_displayed(self): Whether the element is visible to a user. 此元素用户是否可见。简单地说就是隐藏元素和被控件挡住无法操作的元素(仅限 Selenium,appium是否实现了类似功能不是太确定)这一项都会返回 False 用法 driver.element.is_displayed()View Code
63. location_once_scrolled_into_view
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
location_once_scrolled_into_view(self): """THIS PROPERTY MAY CHANGE WITHOUT WARNING. Use this to discover ? where on the screen an element is so that we can click it. This method ? should cause the element to be scrolled into view. ? Returns the top lefthand corner location on the screen, or None if ? the element is not visible. ? 暂不知道用法 ? """View Code
64.size
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
size(self): The size of the element. 获取元素的大小(高和宽) new_size["height"] = size["height"] new_size["width"] = size["width"] 用法 driver.element.sizeView Code
65. value_of_css_property
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
value_of_css_property(self, property_name): The value of a CSS property. CSS属性 用法 暂不知View Code
66.location
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
location(self): The location of the element in the renderable canvas. ? 获取元素左上角的坐标 用法 driver.element.location '''返回element的x坐标, int类型''' driver.element.location.get('x') '''返回element的y坐标, int类型''' driver.element.location.get('y')View Code
67.rect
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
rect(self): A dictionary with the size and location of the element. ? 元素的大小和位置的字典View Code
68. screenshot_as_base64
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
screenshot_as_base64(self): ? Gets the screenshot of the current element as a base64 encoded string. ? 获取当前元素的截图为Base64编码的字符串 ? :Usage: ? img_b64 = element.screenshot_as_base64View Code
69.execute_script
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
execute_script(self, script, *args): ? Synchronously Executes JavaScript in the current window/frame. 在当前窗口/框架(特指 Html 的 iframe )同步执行 javascript 代码。你可以理解为如果这段代码是睡眠5秒,这五秒内主线程的 javascript 不会执行 ? :Args: ? - script: The JavaScript to execute. ? - *args: Any applicable arguments for your JavaScript. ? :Usage: ? driver.execute_script('document.title')View Code
70.execute_async_script
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
execute_async_script(self, script, *args): ? Asynchronously Executes JavaScript in the current window/frame. 插入 javascript 代码,只是这个是异步的,也就是如果你的代码是睡眠5秒,那么你只是自己在睡,页面的其他 javascript 代码还是照常执行 ? :Args: ? - script: The JavaScript to execute. ? - *args: Any applicable arguments for your JavaScript. ? :Usage: ? driver.execute_async_script('document.title')View Code
71.current_url
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
current_url(self): ? Gets the URL of the current page. ? 获取当前页面的网址。 ? :Usage: ? driver.current_url 用法 driver.current_urlView Code
72. page_source
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
page_source(self): ? Gets the source of the current page. ? 获取当前页面的源。 ? :Usage: ? driver.page_sourceView Code
73.close
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
close(self): ? Closes the current window. ? 关闭当前窗口 ? :Usage: ? driver.close()View Code
74.quit
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915430.jpg)
![移动端测试 - Appium-Python-Client-API - 文章图片](/upload/getfiles/0001/2021/5/2/20210502041915442.jpg)
quit(self): ? Quits the driver and closes every associated window. ? 退出脚本运行并关闭每个相关的窗口连接 ? :Usage: ? driver.quit()View Code
内容总结
以上是互联网集市为您收集整理的移动端测试 - Appium-Python-Client-API全部内容,希望文章能够帮你解决移动端测试 - Appium-Python-Client-API所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。