Home Appium Environment Setup Android Emulators iOS Simulators Appium Architecture Android chrome app automation Safari browser automation Appium Capabilities Inspecting android apps Native Android app automation Inspecting iOS app Native iOS app Automation Real Android Phone automation Real iPhone automation Element Identification Pressing button FaceId and TouchId Fingerprint automation Drag and Drop Tap and press Swipe gestures Hybrid app automation Execute script Synchronization in Appium Screenshots Page Object Models Cucumber and Appium Appium integration with azure Appium and Selenium Grid Running tests in browserstack Parallel testing Recording tests Mobile automation framework Errors and Exceptions in Appium Mobile automation test strategy Mobile automation challenges Appium QnA
Appium Architecture
When you run the code, below sequence of events happens.- Command to create a new session is sent to Appium server at http://0.0.0.0:4723/wd/hub
- Appium looks at the requested capabilities and decides which automation library should be called to run the tests.
- If platformName capability is iOS, then XCUITest will be used to automate iOS apps. If it is android, Android SDK will be used to automate android apps.
- Applications can be mainly of 2 types - native and web. If web application needs to be automated, carthage will be used to automate the browser in iOS devices. For native apps, carthage is not required. On android apps, Google’s UIAutomator will be used.
The client talks to Appium HTTP server. Appium server reads the capabilities sent by the client and tries to create a new session using one of the automation server. For example - if the automation name capability is UiAutomator2, appium will send a request to the UiAutomator2 server. if platformName capability is Windows, request will be sent to winappdriver server and so on.
Web development and Automation testing
solutions delivered!!