zoukankan      html  css  js  c++  java
  • Appium Python API 汇总(中文版)

    网络搜集而来,留着备用,方便自己也方便他人。感谢总结的人!

    1.contexts

    contexts(self):

        Returns the contexts within the current session.

        返回当前会话中的上下文,使用后可以识别H5页面的控件

        :Usage:

            driver.contexts

    用法 driver.contexts

    2. current_context

    current_context(self):

        Returns the current context of the current session.

        返回当前会话的当前上下文

        :Usage:

            driver.current_context

    用法driver. current_context

    3. context

    context(self):

        Returns the current context of the current session.

        返回当前会话的当前上下文。

        :Usage:

            driver.context

    用法driver. Context

    4. find_element_by_ios_uiautomation

    find_element_by_ios_uiautomation(self, uia_string):

    Finds an element by uiautomation in iOS.

        通过iOS uiautomation查找元素

        :Args:

         - uia_string - The element name in the iOS UIAutomation library

        :Usage:

            driver.find_element_by_ios_uiautomation('.elements()[1].cells()[2]')

    用法dr. find_element_by_ios_uiautomation(‘elements’)

    5. find_element_by_accessibility_id

    find_element_by_accessibility_id(self, id):

    Finds an element by accessibility id.

        通过accessibility id查找元素

        :Args:

         - id - 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()

    用法driver.find_element_by_accessibility_id(‘id’)

    6.scroll

    scroll(self, origin_el, destination_el):

    Scrolls from one element to another

        从元素origin_el滚动至元素destination_el

        :Args:

         - originalEl - the element from which to being scrolling

         - destinationEl - the element to scroll to

        :Usage:

            driver.scroll(el1, el2)

    用法 driver.scroll(el1,el2)

    7. drag_and_drop

    drag_and_drop(self, origin_el, destination_el):

    Drag the origin element to the destination element

        将元素origin_el拖到目标元素destination_el

        :Args:

         - originEl - the element to drag

         - destinationEl - the element to drag to

    用法 driver.drag_and_drop(el1,el2)

    8.tap

    tap(self, positions, duration=None):

    Taps on an particular place with up to five fingers, holding for a certain time

    模拟手指点击(最多五个手指),可设置按住时间长度(毫秒)

        :Args:

         - positions - an array of tuples representing the x/y coordinates of

         the fingers to tap. Length can be up to five.

         - duration - (optional) length of time to tap, in ms

        :Usage:

            driver.tap([(100, 20), (100, 60), (100, 100)], 500)

    用法 driver.tap([(x,y),(x1,y1)],500)

    9. swipe

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

    Swipe from one point to another point, for an optional duration.

        从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

         - duration - (optional) time to take the swipe, in ms.

        :Usage:

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

    用法 driver.swipe(x1,y1,x2,y2,500)

    注意:appium滑动规则是x从左到右变大,y从上到下变大

    10.flick

    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)

    11.pinch

    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)

    12.zoom

    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)

    13.reset

    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()

    15. keyevent

    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’)

    16. press_keycode

    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’) 功能实现上一样的,都是按了返回键

    17. long_press_keycode

    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())

    19. wait_activity

    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)

    20. background_app

    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秒后再运行

    21.is_app_installed

    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”)

    22.install_app

    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)

    23.remove_app

    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.”)

    24.launch_app

    launch_app(self):

    Start on the device the application specified in the desired capabilities.

    启动app

    用法 driver.launch_app()

    25.close_app

    close_app(self):

    Stop the running application, specified in the desired capabilities, on the device.

    关闭app

    用法 driver.close_app()

    启动和关闭app运行好像会出错

    26. start_activity

    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)

    27.lock

    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()

    29.open_notifications

    open_notifications(self):

    Open notification shade in Android (API Level 18 and above)

    打系统通知栏(仅支持API 18 以上的安卓系统)

    用法 driver.open_notifications()

    30.network_connection

    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

    31. set_network_connection

    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

    32. available_ime_engines

    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)

    33.is_ime_active

    is_ime_active(self):

    Checks whether the device has IME service active. Returns True/False.

        Android only.

    检查设备是否有输入法服务活动。返回真/假。

    安卓

    用法 print(driver.is_ime_active())

    34.activate_ime_engine

    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”)

    35.deactivate_ime_engine

    deactivate_ime_engine(self):

    Deactivates the currently active IME engine on the device.

        Android only.

    关闭安卓设备当前的输入法

    用法 driver.deactivate_ime_engine()

    36.active_ime_engine

    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

    37. toggle_location_services

    toggle_location_services(self):

    Toggle the location services on the device. Android only.

    打开安卓设备上的位置定位设置

    用法 driver.toggle_location_services()

    38.set_location

    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(纬度,经度,高度)

    39.tag_name

    tag_name(self):

    This element's ``tagName`` property.

    返回元素的tagName属性

    经实践返回的是class name

    用法 element.tag_name()

    40.text

    text(self):

    The text of the element.

        返回元素的文本值

    用法 element.text()

    41.click

    click(self):

    Clicks the element.

      点击元素

    用法 element.click()

    42.submit

    submit(self):

    Submits a form.

        提交表单

    用法 暂无

    43.clear

    clear(self):

    Clears the text if it's a text entry element.

        清除输入的内容

    用法 element.clear()

    44.get_attribute

    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")

    用法 暂无

    45.is_selected

    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()

    46.is_enabled

    is_enabled(self):

    Returns whether the element is enabled.

        返回元素是否可用True of False

    用法 element.is_enabled()

    47.find_element_by_id(resrouce-id)

    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”)

    48. find_elements_by_id

    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”)

    49. find_element_by_name(text)

    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”)

    50. find_elements_by_name

    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”)

    51. find_element_by_link_text

    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”)

    52. find_elements_by_link_text

    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”)

    53. find_element_by_partial_link_text

    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”)

    54. find_elements_by_partial_link_text

    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”)

    55. find_element_by_tag_name

    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”)

    56. find_elements_by_tag_name

    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”)

    57. find_element_by_xpath

    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(“//*”)

    58. find_elements_by_xpath

    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(“//*”)

    59. find_element_by_class_name(class)

    find_element_by_class_name(self, name):

    python chrome Selenium模拟手机浏览器

  • 相关阅读:
    三周#学习进度总结
    四则运算(修改版)
    是否需要有代码规范?
    结对项目:代码复审+PSP
    二周#学习进度总结
    GitHub注册流程(中英对比)
    四则运算:我的设计和设想(未完成版)
    Spring4总结
    Hibernate5总结
    Struts2总结
  • 原文地址:https://www.cnblogs.com/hanxiaobei/p/8621678.html
Copyright © 2011-2022 走看看