buttons

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

 

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:

Press enter or click to view image in full size

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.

No comments:

Post a Comment