graph LR
AppiumService["AppiumService"]
AppiumService_start["AppiumService.start"]
AppiumService_stop["AppiumService.stop"]
AppiumService_is_listening["AppiumService.is_listening"]
AppiumService_is_running["AppiumService.is_running"]
AppiumService_DependencyResolvers["AppiumService.DependencyResolvers"]
_assert_is_running["_assert_is_running"]
_make_server_url["_make_server_url"]
AppiumService -- "orchestrates" --> AppiumService_start
AppiumService -- "orchestrates" --> AppiumService_stop
AppiumService -- "orchestrates" --> AppiumService_is_listening
AppiumService -- "relies on" --> AppiumService_is_running
AppiumService_start -- "calls methods in" --> AppiumService_DependencyResolvers
AppiumService_start -- "calls" --> AppiumService_is_running
AppiumService_start -- "calls" --> _assert_is_running
AppiumService_start -- "supported by" --> _make_server_url
AppiumService_stop -- "checks" --> AppiumService_is_running
AppiumService_is_listening -- "relies on" --> AppiumService_is_running
AppiumService_is_listening -- "relies on" --> _make_server_url
_assert_is_running -- "calls" --> AppiumService_is_running
The Local Server Manager subsystem is primarily defined by the appium.webdriver.appium_service module, specifically the AppiumService class. Its core responsibility is to manage the lifecycle of a local Appium server instance.
The central orchestrator and public interface for managing the lifecycle of a local Appium server instance. It encapsulates the logic for starting, stopping, and verifying the server's operational status.
Related Classes/Methods:
Initiates the Appium server process. This involves locating necessary executables (Node.js, npm, Appium main script) and launching the server as a subprocess.
Related Classes/Methods:
Terminates the running Appium server process, ensuring a clean shutdown of the local instance.
Related Classes/Methods:
Verifies if the Appium server is not only running but also actively listening for connections on its configured URL, indicating it's ready to accept commands.
Related Classes/Methods:
An internal utility method that checks the current operational status of the Appium server process, typically by inspecting the process ID.
Related Classes/Methods:
A conceptual grouping of helper methods (get_node, get_npm, get_main_script) responsible for locating the necessary Node.js runtime, npm package manager, and the main Appium script on the system. These are crucial for the server's successful startup.
Related Classes/Methods:
appium.webdriver.appium_service.AppiumService:get_nodeappium.webdriver.appium_service.AppiumService:get_npmappium.webdriver.appium_service.AppiumService:get_main_script
A helper that wraps is_running to enforce preconditions or postconditions for server operations.
Related Classes/Methods:
An internal utility that supports both AppiumService.start (for constructing the server URL) and AppiumService.is_listening (for checking the server's network availability).
Related Classes/Methods: