移动端测试 - Appium-Python-Client-API

About Appium-Python-Client-API

来看看appium-python-client库都有哪些常用的api可用。

contexts

移动端测试 - Appium-Python-Client-API
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
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_context
View Code

context

移动端测试 - Appium-Python-Client-API
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_context
View Code

find_element_by_ios_uiautomation

移动端测试 - Appium-Python-Client-API
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
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
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
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 self
View Code

tap

移动端测试 - Appium-Python-Client-API
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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_connection
View Code

30. set_network_connection

移动端测试 - Appium-Python-Client-API
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 = 6
View Code

31. available_ime_engines

移动端测试 - Appium-Python-Client-API
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
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
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
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
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_engine
View Code

36. toggle_location_services

移动端测试 - Appium-Python-Client-API
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
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
tag_name(self):

This elements tagName property.

返回元素的tagName属性

经实践返回的是class name

用法 element.tag_name()
View Code

39.text

移动端测试 - Appium-Python-Client-API
text(self):

The text of the element.

? 返回元素的文本值

用法 element.text()
View Code

40.click

移动端测试 - Appium-Python-Client-API
click(self):

Clicks the element.

点击元素

用法 element.click()
View Code

41.submit

移动端测试 - Appium-Python-Client-API
submit(self):

Submits a form.

? 提交表单

用法 暂无
View Code

42.clear

移动端测试 - Appium-Python-Client-API
clear(self):

Clears the text if its a text entry element.

? 清除输入的内容

用法 element.clear()
View Code

43.get_attribute

移动端测试 - Appium-Python-Client-API
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 doesnt exist, it returns the

? value of the attribute with the same name. If theres 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
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
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
find_element_by_id(self, id_):

Finds element within this elements 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
find_elements_by_id(self, id_):

Finds a list of elements within this elements 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
find_element_by_name(self, name):

Finds element within this elements 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
find_elements_by_name(self, name):

Finds a list of elements within this elements 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
find_element_by_link_text(self, link_text):

Finds element within this elements 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
find_element_by_link_text(self, link_text):

Finds a list of elements within this elements 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
find_element_by_partial_link_text(self, link_text):

Finds element within this elements 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
find_elements_by_partial_link_text(self, link_text):

Finds a list of elements within this elements 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
find_element_by_tag_name(self, name):

Finds element within this elements 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
find_elements_by_tag_name(self, name):

Finds a list of elements within this elements 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
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 elements 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
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 elements 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
find_element_by_class_name(self, name):

Finds element within this elements 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
find_elements_by_class_name(self, name):

Finds a list of elements within this elements 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
find_element_by_css_selector(self, css_selector):

Finds element within this elements children by CSS selector.

? 通过CSS选择器定位元素

? :Args:

? - css_selector - CSS selctor string, ex: a.nav#home
View Code

61.send_keys

移动端测试 - Appium-Python-Client-API
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
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
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
size(self):

The size of the element.

获取元素的大小(高和宽)

new_size["height"] = size["height"]

new_size["width"] = size["width"]

用法 driver.element.size
View Code

65. value_of_css_property

移动端测试 - Appium-Python-Client-API
value_of_css_property(self, property_name):

The value of a CSS property.

CSS属性

用法 暂不知
View Code

66.location

移动端测试 - Appium-Python-Client-API
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
rect(self):

A dictionary with the size and location of the element.

? 元素的大小和位置的字典
View Code

68. screenshot_as_base64

移动端测试 - Appium-Python-Client-API
screenshot_as_base64(self):

? Gets the screenshot of the current element as a base64 encoded string.

? 获取当前元素的截图为Base64编码的字符串

? :Usage:

? img_b64 = element.screenshot_as_base64
View Code

69.execute_script

移动端测试 - Appium-Python-Client-API
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
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
current_url(self):

? Gets the URL of the current page.

? 获取当前页面的网址。

? :Usage:

? driver.current_url

用法 driver.current_url
View Code

72. page_source

移动端测试 - Appium-Python-Client-API
page_source(self):

? Gets the source of the current page.

? 获取当前页面的源。

? :Usage:

? driver.page_source
View Code

73.close

移动端测试 - Appium-Python-Client-API
close(self):

? Closes the current window.

? 关闭当前窗口

? :Usage:

? driver.close()
View Code

74.quit

移动端测试 - Appium-Python-Client-API
quit(self):

? Quits the driver and closes every associated window.

? 退出脚本运行并关闭每个相关的窗口连接

? :Usage:

? driver.quit()
View Code

 

移动端测试 - Appium-Python-Client-API

上一篇:移动端测试 - 常见问题


下一篇:.net core session部分浏览器或移动客户端不可用