Skip to content

Latest commit

 

History

History
102 lines (63 loc) · 4.5 KB

File metadata and controls

102 lines (63 loc) · 4.5 KB
graph LR
    Core_Server["Core Server"]
    Drivers["Drivers"]
    Plugins["Plugins"]
    Client_Libraries_External_["Client Libraries (External)"]
    Configuration_Management["Configuration Management"]
    Appium_Extension_Core["Appium Extension Core"]
    Extension_Management_CLI["Extension Management CLI"]
    Core_Server -- "uses" --> Drivers
    Core_Server -- "integrates" --> Plugins
    Core_Server -- "reads" --> Configuration_Management
    Client_Libraries_External_ -- "sends commands to" --> Core_Server
    Appium_Extension_Core -- "manages" --> Drivers
    Appium_Extension_Core -- "manages" --> Plugins
    Configuration_Management -- "provides settings to" --> Core_Server
    Appium_Extension_Core -- "accesses" --> Configuration_Management
    Appium_Extension_Core -- "exposes interface to" --> Extension_Management_CLI
    Appium_Extension_Core -- "provides extensions to" --> Core_Server
    Extension_Management_CLI -- "communicates with" --> Appium_Extension_Core
    Extension_Management_CLI -- "reads/writes" --> Configuration_Management
    click Core_Server href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/appium/Core_Server.md" "Details"
    click Client_Libraries_External_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/appium/Client_Libraries_External_.md" "Details"
    click Configuration_Management href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/appium/Configuration_Management.md" "Details"
    click Extension_Management_CLI href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/appium/Extension_Management_CLI.md" "Details"
Loading

CodeBoardingDemoContact

Details

Abstract Components Overview

Core Server [Expand]

The central orchestrator of the Appium automation framework. It receives automation commands from clients, dispatches them to appropriate drivers, and manages the overall automation session lifecycle. It integrates with plugins to extend its capabilities.

Related Classes/Methods:

  • appium.lib.main

Drivers

Modular components responsible for interacting with specific automation technologies (e.g., Android, iOS, Web). They translate Appium commands into native automation calls and return results.

Related Classes/Methods:

  • appium.lib.extension.driver_config
  • appium.lib.extension.index

Plugins

Extensible modules that add new features or modify existing behavior of the Appium server. They can hook into various stages of command processing or provide entirely new functionalities.

Related Classes/Methods:

  • appium.lib.extension.plugin_config
  • appium.lib.extension.index

Client Libraries (External) [Expand]

External, language-specific libraries (e.g., Java, Python, Ruby) that provide an API for users to write automation scripts. They communicate with the Core Server using the WebDriver protocol.

Related Classes/Methods: None

Configuration Management [Expand]

Handles the loading, parsing, and persistence of Appium server and extension configurations. Ensures that the server and its components operate according to defined settings.

Related Classes/Methods:

  • appium.lib.config
  • appium.lib.config_file
  • appium.lib.schema

Appium Extension Core

An internal subsystem responsible for the discovery, loading, lifecycle management, and registry of Appium drivers and plugins. It acts as the central hub for all extension-related operations within the Appium ecosystem.

Related Classes/Methods:

  • appium.lib.extension.index

Extension Management CLI [Expand]

A dedicated command-line interface tool for managing Appium extensions (drivers and plugins). This includes functionalities like installing, uninstalling, updating, and listing available extensions, simplifying the management of Appium's modular components.

Related Classes/Methods:

  • appium.lib.cli.extension_command
  • appium.lib.cli.driver_command
  • appium.lib.cli.plugin_command