zoukankan      html  css  js  c++  java
  • 移动端测试

    About Appium-Python-Client-API

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

    contexts

    Libsite-packagesappiumwebdriverextensionscontext.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

    Libsite-packagesappiumwebdriverextensionscontext.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

    Libsite-packagesappiumwebdriverextensionscontext.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

    Libsite-packagesappiumwebdriverwebdriver.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

    Libsite-packagesappiumwebdriverwebdriver.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

    Libsite-packagesappiumwebdriverextensionsaction_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

    Libsite-packagesappiumwebdriverextensionsaction_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

    Libsite-packagesappiumwebdrivercommon	ouch_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

    Libsite-packagesappiumwebdrivercommon	ouch_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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    launch_app(self):
    
    Start on the device the application specified in the desired capabilities.
    
    启动app
    
    用法 driver.launch_app()
    View Code

    25.close_app

    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

    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

    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

    open_notifications(self):
    
    Open notification shade in Android (API Level 18 and above)
    
    打系统通知栏(仅支持API 18 以上的安卓系统)
    
    用法 driver.open_notifications()
    View Code

    29.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
    View Code

    30. 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 | 12 (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

    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

    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

    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

    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

    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

    toggle_location_services(self):
    
    Toggle the location services on the device. Android only.
    
    打开安卓设备上的位置定位设置
    
    用法 driver.toggle_location_services()
    View Code

    37.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(纬度,经度,高度)
    View Code

    38.tag_name

    tag_name(self):
    
    This element's tagName property.
    
    返回元素的tagName属性
    
    经实践返回的是class name
    
    用法 element.tag_name()
    View Code

    39.text

    text(self):
    
    The text of the element.
    
    ​ 返回元素的文本值
    
    用法 element.text()
    View Code

    40.click

    click(self):
    
    Clicks the element.
    
    点击元素
    
    用法 element.click()
    View Code

    41.submit

    submit(self):
    
    Submits a form.
    
    ​ 提交表单
    
    用法 暂无
    View Code

    42.clear

    clear(self):
    
    Clears the text if it's a text entry element.
    
    ​ 清除输入的内容
    
    用法 element.clear()
    View Code

    43.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")
    
    用法 暂无
    View Code

    44.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()
    View Code

    45.is_enabled

    is_enabled(self):
    
    Returns whether the element is enabled.
    
    ​ 返回元素是否可用True of False
    
    用法 element.is_enabled()
    View Code

    46.find_element_by_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”)
    View Code

    47. 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”)
    View Code

    48. find_element_by_name

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    value_of_css_property(self, property_name):
    
    The value of a CSS property.
    
    CSS属性
    
    用法 暂不知
    View Code

    66.location

    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

    rect(self):
    
    A dictionary with the size and location of the element.
    
    ​ 元素的大小和位置的字典
    View Code

    68. screenshot_as_base64

    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

    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

    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

    current_url(self):
    
    ​ Gets the URL of the current page.
    
    ​ 获取当前页面的网址。
    
    ​ :Usage:
    
    ​ driver.current_url
    
    用法 driver.current_url
    View Code

    72. page_source

    page_source(self):
    
    ​ Gets the source of the current page.
    
    ​ 获取当前页面的源。
    
    ​ :Usage:
    
    ​ driver.page_source
    View Code

    73.close

    close(self):
    
    ​ Closes the current window.
    
    ​ 关闭当前窗口
    
    ​ :Usage:
    
    ​ driver.close()
    View Code

    74.quit

    quit(self):
    
    ​ Quits the driver and closes every associated window.
    
    ​ 退出脚本运行并关闭每个相关的窗口连接
    
    ​ :Usage:
    
    ​ driver.quit()
    View Code

  • 相关阅读:
    Android 废弃方法属性解决
    Android RecycleView分组
    Android 第三方库FlycoTabLayout
    Android 自定义dialog出现的位置
    Android 底部弹窗实现
    Android 自定义设置布局
    Android 微信、qq分享文本 (Intent)
    SpringBoot关于跨域的三种解决方案
    记录一次通用Mapper+自定义mapper出现的问题分析以及排查
    IDEA配置Maven+新建Maven项目
  • 原文地址:https://www.cnblogs.com/sundawei7/p/11962492.html
Copyright © 2011-2022 走看看