Support multiple simultaneous sessions in Android and iOS

As per the release notes : Appium 1.7.0 Released
appium supports, “Support multiple simultaneous sessions in Android and iOS (9+)” and “Multiple device support”. Can someone elaborate more it. Is it like in the same device multiple browser/app automation is possible like for Desktop browser. And multiple IOS devices can be connected to the same MAC machine.

Also does this mean in IOS, i can switch between apps? Settings > App to be Tested > Browser

I think it means appium now supports multiple simultaneous sessions :slight_smile:

So, same appium server can manage more than 1 device. I never tested it, because for me its easier just to have several appium servers running in each port :slight_smile:

But I think the iOS simultaneous sessions just works for simulators and not real devices (And I only test on real devices).

1 Like

This does not appear to be working on Android at least programmatically for Appium 1.7.0. I have two actual devices connected, each with a separate deviceName, different ip, port, and bootstrap port numbers. The appium server gets created for one device and then a second, but all appium commands get executed for one device only. It appears it executes on the most recent device connected to the computer regardless of the deviceName. I can also see from the log file that the first session gets removed from master session list once the 2nd appium server instance is started.

[Appium] Welcome to Appium v1.7.2
[Appium] Non-default server args:
[Appium] address: 127.0.0.1
[Appium] port: 4733
[Appium] bootstrapPort: 4743
[Appium] loglevel: info
[Appium] Appium REST http interface listener started on 127.0.0.1:4733
[HTTP] --> GET /wd/hub/status {}
[HTTP] <-- GET /wd/hub/status 200 48 ms - 72
[HTTP] --> POST /wd/hub/session {“desiredCapabilities”:{“appPackage”:“org.vom8x8.sipua”,“appActivity”:“com.vom8x8.vom.login.loginUI.LoginActivity”,“noReset”:true,“platformName”:“Android”,“deviceName”:“056ea79a”},“requiredCapabilities”:{},“capabilities”:{“desiredCapabilities”:{“appPackage”:“org.vom8x8.sipua”,“appActivity”:“com.vom8x8.vom.login.loginUI.LoginActivity”,“noReset”:true,“platformName”:“Android”,“deviceName”:“056ea79a”},“requiredCapabilities”:{},“alwaysMatch”:{“platformName”:“Android”},“firstMatch”:[]}}
[Appium] Merged W3C capabilities {“desiredCapabilities”:{“appPackage”:"org.vom8x… into desiredCapabilities object {“appPackage”:“org.vom8x8.sipua”,“appActivity”:…
[Appium] Creating new AndroidDriver (v1.37.0) session
[Appium] Capabilities:
[Appium] appPackage: org.vom8x8.sipua
[Appium] appActivity: com.vom8x8.vom.login.loginUI.LoginActivity
[Appium] noReset: true
[Appium] platformName: Android
[Appium] deviceName: 056ea79a
[BaseDriver] Session created with session id: 8525f030-17c5-4cb2-bfdc-685b252f9ea1
[AndroidDriver] Java version is: 1.8.0_152

[ADB] Checking whether adb is present
[ADB] Using adb.exe from C:\Users\clai\AppData\Local\platform-tools\adb.exe
[AndroidDriver] Retrieving device list
[AndroidDriver] Using device: 1215fc33292e3904
[ADB] Checking whether adb is present
[AndroidDriver] App file was not listed, instead we’re going to run org.vom8x8.sipua directly on the device
[AndroidDriver] Starting Android session
[AndroidDriver] setDeviceLanguageCountry requires language or country.
[AndroidDriver] Got language: ‘null’ and country: ‘null’
[ADB] Checking whether aapt is present
[ADB] Using aapt.exe from C:\Users\clai\AppData\Local\build-tools\27.0.2\aapt.exe
[ADB] Checking whether aapt is present
[ADB] Getting device platform version
[AndroidDriver] No app sent in, not parsing package/activity
[ADB] No uiautomator process found to kill, continuing…
[AndroidBootstrap] Android bootstrap socket is now connected
[AndroidDriver] Screen already unlocked, doing nothing
[Appium] New AndroidDriver session created successfully, session 8525f030-17c5-4cb2-bfdc-685b252f9ea1 added to master session list
[HTTP] <-- POST /wd/hub/session 200 17801 ms - 742
Jan 09, 2018 5:52:38 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
[main] INFO AppiumController - Android appium server started at: http://127.0.0.1:4733/wd/hub
[HTTP] --> POST /wd/hub/session/8525f030-17c5-4cb2-bfdc-685b252f9ea1/timeouts {“type”:“implicit”,“ms”:5000}
[HTTP] <-- POST /wd/hub/session/8525f030-17c5-4cb2-bfdc-685b252f9ea1/timeouts 200 4 ms - 76
[main] INFO AppiumController - System OS: Windows 10
[Appium] Welcome to Appium v1.7.2
[Appium] Non-default server args:
[Appium] address: 127.0.0.11
[Appium] port: 4743
[Appium] bootstrapPort: 4753
[Appium] loglevel: info
[Appium] Appium REST http interface listener started on 127.0.0.11:4743
[HTTP] --> GET /wd/hub/status {}
[HTTP] <-- GET /wd/hub/status 200 31 ms - 72
[HTTP] --> POST /wd/hub/session {“desiredCapabilities”:{“appPackage”:“org.vom8x8.sipua”,“appActivity”:“com.vom8x8.vom.login.loginUI.LoginActivity”,“noReset”:true,“platformName”:“Android”,“deviceName”:“1215fc33292e3904”},“requiredCapabilities”:{},“capabilities”:{“desiredCapabilities”:{“appPackage”:“org.vom8x8.sipua”,“appActivity”:“com.vom8x8.vom.login.loginUI.LoginActivity”,“noReset”:true,“platformName”:“Android”,“deviceName”:“1215fc33292e3904”},“requiredCapabilities”:{},“alwaysMatch”:{“platformName”:“Android”},“firstMatch”:[]}}
[Appium] Merged W3C capabilities {“desiredCapabilities”:{“appPackage”:"org.vom8x… into desiredCapabilities object {“appPackage”:“org.vom8x8.sipua”,“appActivity”:…
[Appium] Creating new AndroidDriver (v1.37.0) session
[Appium] Capabilities:
[Appium] appPackage: org.vom8x8.sipua
[Appium] appActivity: com.vom8x8.vom.login.loginUI.LoginActivity
[Appium] noReset: true
[Appium] platformName: Android
[Appium] deviceName: 1215fc33292e3904
[BaseDriver] Session created with session id: 5afc5446-d890-4753-9487-4d345f9d2f48
[AndroidDriver] Java version is: 1.8.0_152

[ADB] Checking whether adb is present
[ADB] Using adb.exe from C:\Users\clai\AppData\Local\platform-tools\adb.exe
[AndroidDriver] Retrieving device list
[AndroidDriver] Using device: 1215fc33292e3904
[ADB] Checking whether adb is present
[AndroidDriver] App file was not listed, instead we’re going to run org.vom8x8.sipua directly on the device
[AndroidDriver] Starting Android session
[AndroidDriver] setDeviceLanguageCountry requires language or country.
[AndroidDriver] Got language: ‘null’ and country: ‘null’
[ADB] Checking whether aapt is present
[ADB] Using aapt.exe from C:\Users\clai\AppData\Local\build-tools\27.0.2\aapt.exe
[ADB] Checking whether aapt is present
[ADB] Getting device platform version
[AndroidDriver] No app sent in, not parsing package/activity
[UiAutomator] UiAutomator exited unexpectedly with code 0, signal null
[Appium] Closing session, cause was ‘UiAUtomator shut down unexpectedly’
[Appium] Removing session 8525f030-17c5-4cb2-bfdc-685b252f9ea1 from our master session list
[ADB] Cannot kill process 6881 in 1000 ms. Trying to force kill…
[AndroidBootstrap] Cannot shut down Android bootstrap; it has already shut down
[AndroidBootstrap] Android bootstrap socket is now connected
[AndroidDriver] Screen already unlocked, doing nothing
[Appium] New AndroidDriver session created successfully, session 5afc5446-d890-4753-9487-4d345f9d2f48 added to master session list
[HTTP] <-- POST /wd/hub/session 200 18109 ms - 750