Module appium.webdriver.extensions.android.power

Expand source code
#!/usr/bin/env python

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from typing import TypeVar

from selenium import webdriver

from appium.webdriver.mobilecommand import MobileCommand as Command

T = TypeVar('T', bound='Power')


class Power(webdriver.Remote):

    AC_OFF, AC_ON = 'off', 'on'

    def set_power_capacity(self, percent: int) -> T:
        """Emulate power capacity change on the connected emulator.

        Android only.

        Args:
            percent (int): The power capacity to be set. Can be set from 0 to 100

        Usage:
            self.driver.set_power_capacity(50)

        Returns:
            `appium.webdriver.webdriver.WebDriver`
        """
        self.execute(Command.SET_POWER_CAPACITY, {'percent': percent})
        return self

    def set_power_ac(self, ac_state: str) -> T:
        """Emulate power state change on the connected emulator.

        Android only.

        Args:
            ac_state (str): The power ac state to be set. Use `.AC_OFF`, `.AC_ON`

        Usage:
            self.driver.set_power_ac(Power.AC_OFF)
            self.driver.set_power_ac(Power.AC_ON)

        Returns:
            `appium.webdriver.webdriver.WebDriver`
        """
        self.execute(Command.SET_POWER_AC, {'state': ac_state})
        return self

    # pylint: disable=protected-access

    def _addCommands(self) -> None:
        self.command_executor._commands[Command.SET_POWER_CAPACITY] = \
            ('POST', '/session/$sessionId/appium/device/power_capacity')
        self.command_executor._commands[Command.SET_POWER_AC] = \
            ('POST', '/session/$sessionId/appium/device/power_ac')

Classes

class Power (command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=None, browser_profile=None, proxy=None, keep_alive=False, file_detector=None, options=None)

Controls a browser by sending commands to a remote server. This server is expected to be running the WebDriver wire protocol as defined at https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol

:Attributes: - session_id - String ID of the browser session started and controlled by this WebDriver. - capabilities - Dictionaty of effective capabilities of this browser session as returned by the remote server. See https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities - command_executor - remote_connection.RemoteConnection object used to execute commands. - error_handler - errorhandler.ErrorHandler object used to handle errors.

Create a new driver that will issue commands using the wire protocol.

:Args: - command_executor - Either a string representing URL of the remote server or a custom remote_connection.RemoteConnection object. Defaults to 'http://127.0.0.1:4444/wd/hub'. - desired_capabilities - A dictionary of capabilities to request when starting the browser session. Required parameter. - browser_profile - A selenium.webdriver.firefox.firefox_profile.FirefoxProfile object. Only used if Firefox is requested. Optional. - proxy - A selenium.webdriver.common.proxy.Proxy object. The browser session will be started with given proxy settings, if possible. Optional. - keep_alive - Whether to configure remote_connection.RemoteConnection to use HTTP keep-alive. Defaults to False. - file_detector - Pass custom file detector object during instantiation. If None, then default LocalFileDetector() will be used. - options - instance of a driver options.Options class

Expand source code
class Power(webdriver.Remote):

    AC_OFF, AC_ON = 'off', 'on'

    def set_power_capacity(self, percent: int) -> T:
        """Emulate power capacity change on the connected emulator.

        Android only.

        Args:
            percent (int): The power capacity to be set. Can be set from 0 to 100

        Usage:
            self.driver.set_power_capacity(50)

        Returns:
            `appium.webdriver.webdriver.WebDriver`
        """
        self.execute(Command.SET_POWER_CAPACITY, {'percent': percent})
        return self

    def set_power_ac(self, ac_state: str) -> T:
        """Emulate power state change on the connected emulator.

        Android only.

        Args:
            ac_state (str): The power ac state to be set. Use `.AC_OFF`, `.AC_ON`

        Usage:
            self.driver.set_power_ac(Power.AC_OFF)
            self.driver.set_power_ac(Power.AC_ON)

        Returns:
            `appium.webdriver.webdriver.WebDriver`
        """
        self.execute(Command.SET_POWER_AC, {'state': ac_state})
        return self

    # pylint: disable=protected-access

    def _addCommands(self) -> None:
        self.command_executor._commands[Command.SET_POWER_CAPACITY] = \
            ('POST', '/session/$sessionId/appium/device/power_capacity')
        self.command_executor._commands[Command.SET_POWER_AC] = \
            ('POST', '/session/$sessionId/appium/device/power_ac')

Ancestors

  • selenium.webdriver.remote.webdriver.WebDriver

Subclasses

Class variables

var AC_OFF

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.str() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

var AC_ON

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.str() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

Methods

def set_power_ac(self, ac_state)

Emulate power state change on the connected emulator.

Android only.

Args

ac_state : str
The power ac state to be set. Use .AC_OFF, .AC_ON

Usage

self.driver.set_power_ac(Power.AC_OFF) self.driver.set_power_ac(Power.AC_ON)

Returns

WebDriver

Expand source code
def set_power_ac(self, ac_state: str) -> T:
    """Emulate power state change on the connected emulator.

    Android only.

    Args:
        ac_state (str): The power ac state to be set. Use `.AC_OFF`, `.AC_ON`

    Usage:
        self.driver.set_power_ac(Power.AC_OFF)
        self.driver.set_power_ac(Power.AC_ON)

    Returns:
        `appium.webdriver.webdriver.WebDriver`
    """
    self.execute(Command.SET_POWER_AC, {'state': ac_state})
    return self
def set_power_capacity(self, percent)

Emulate power capacity change on the connected emulator.

Android only.

Args

percent : int
The power capacity to be set. Can be set from 0 to 100

Usage

self.driver.set_power_capacity(50)

Returns

WebDriver

Expand source code
def set_power_capacity(self, percent: int) -> T:
    """Emulate power capacity change on the connected emulator.

    Android only.

    Args:
        percent (int): The power capacity to be set. Can be set from 0 to 100

    Usage:
        self.driver.set_power_capacity(50)

    Returns:
        `appium.webdriver.webdriver.WebDriver`
    """
    self.execute(Command.SET_POWER_CAPACITY, {'percent': percent})
    return self