I have two android devices
- Android 4.4.2
- Android 4.2.2
Can by code where appium server can detect which desired capability it has to used.
ex i have two capabilities method for 4.4.2 and 4.2.2 now when i run appium will get the current android OS version and then trigger the suitable capabilities method
It will help in making test cases more generic and more dynamic
You can get all capabilities thought method driver.getCapabilities()
As all capabilities are a Map (key and value) get the capabilities asMap()
The desired capabilities are a map inside the capabilities map, so you need to get that (desired is the key) and put in another Map
After that get the capability you want
To show the platform version see this code snippet in Java:
Capabilities cap = driver.getCapabilities();
Map<String, ?> desired = (Map<String, ?>) cap.getCapability("desired");
System.out.println(desired.get("platformVersion"));
1 Like
thanks for reply
but i want to set desired capabilities before executing the code like when i run the code. code should itself detect the android version after that it set the desired capabilities
In this case if you want to set the desired capabilities (like the android version) and rout to appropriate devices you need to use Selenium Grid.
It is not working in latest appium, i tried same code