Appium-Capabilities-6 : Complete Details on “Appium-Default Capabilities”(Both Command line & config file)

Get a step-by-step walkthrough in the video below!
What Are Default Capabilities?
Appium default capabilities are a way to pre-configure capabilities that will automatically be merged with every new session request, unless explicitly overridden in the request.
These default capabilities are defined in the Appium server config file (appium-config.json or .yaml) or passed via command line
Default capabilities are base capabilities applied automatically to every test session.
They reduce duplication when:
- Running multiple tests with shared settings
- Working in team projects with consistent baseline config
Where to Define Default Capabilities?
1. In Appium Config File (appium-config.yaml
or json
)
server:
default-capabilities:
platformName: android
automationName: uiautomator2
newCommandTimeout: 300
noReset: true
2. Command Line
appium --default-capabilities '{"platformName":"android","automationName":"uiautomator2"}'
Behavior of Default Capabilities:
- Merged with session-specific capabilities.
- If a capability is defined in both, the session-specific value takes precedence.
- Allows you to enforce or encourage consistency without hardcoding in tests.
Real Example:
appium-config.json
https://github.com/AppiumGuide/AppiumGuide/tree/main/config_files

Override Example in Test Code (Java)
@BeforeTest
public void setup() throws MalformedURLException {
UiAutomator2Options cap=new UiAutomator2Options();
cap.setDeviceName("Pixel6");
//Will override if different from default i.e. from 50 seconds to 100 seconds
cap.setNewCommandTimeout(Duration.ofSeconds(100));
driver = new AndroidDriver(new URL("http://127.0.0.1:4723"), cap);
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(100));
Use Case Scenarios:

Summary
- Default Capabilities help manage commonly used settings in Appium tests.
- Best defined in
appium-config.yaml/json
or via CLI. - They’re merged with each new session request but can be overridden.
- Ensure you don’t put test-specific values as defaults.
GitHub Link:
π¬ Explore More! Watch My Latest Videos on YouTube!
Visit My Official Blog:
No comments:
Post a Comment