Skip to content

fix(webdriverio): fix mobile command argument mismatches for Appium 3 compatibility#15154

Merged
wswebcreation merged 3 commits intomainfrom
ws/fix-mobile-commands
Mar 15, 2026
Merged

fix(webdriverio): fix mobile command argument mismatches for Appium 3 compatibility#15154
wswebcreation merged 3 commits intomainfrom
ws/fix-mobile-commands

Conversation

@wswebcreation
Copy link
Copy Markdown
Member

@wswebcreation wswebcreation commented Mar 15, 2026

Proposed changes

#15141 introduced some incorrect signatures. This PR fixes it

  • closeApp: auto-detect active app via activeAppInfo/getCurrentPackage when no bundleId/appId provided
  • launchApp: add bundleId/appId/arguments/environment options with auto-detect fallback
  • startActivity: support object-based API alongside legacy positional args; map to UiAutomator2 mobile: startActivity format (component, action, categories, flags)
  • deepLink: add Android-only waitForLaunch option
  • gsmSignal: fix signalStrength type from string to number
  • sendKeyEvent: convert string keycode/metastate to integers for mobile: pressKey; omit metastate when not provided
  • touchId: add optional type param ('touchId'|'faceId') for Face ID support
  • unlock: add Android-only options (strategy, timeoutMs, unlockKey, unlockType)

Types of changes

  • Polish (an improvement for an existing feature)
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (improvements to the project's docs)
  • Specification changes (updates to WebDriver command specifications)
  • Internal updates (everything related to internal scripts, governance documentation and CI files)

Checklist

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have added the necessary documentation (if appropriate)
  • I have added proper type definitions for new commands (if appropriate)

Backport Request

//: # (The current main branch is the development branch for WebdriverIO v9. If your change should be released to the current major version of WebdriverIO (v8), please raise another PR with the same changes against the v8 branch.)

  • This change is solely for v9 and doesn't need to be back-ported
  • Back-ported PR at #XXXXX

Further comments

Reviewers: @webdriverio/project-committers

@wswebcreation wswebcreation added the PR: Bug Fix 🐛 PRs that contain bug fixes label Mar 15, 2026
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Mar 15, 2026

Open in StackBlitz

create-wdio

npm i https://pkg.pr.new/webdriverio/webdriverio/create-wdio@15154

eslint-plugin-wdio

npm i https://pkg.pr.new/webdriverio/webdriverio/eslint-plugin-wdio@15154

@wdio/allure-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/allure-reporter@15154

@wdio/appium-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/appium-service@15154

@wdio/browser-runner

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/browser-runner@15154

@wdio/browserstack-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/browserstack-service@15154

@wdio/cli

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/cli@15154

@wdio/concise-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/concise-reporter@15154

@wdio/config

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/config@15154

@wdio/cucumber-framework

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/cucumber-framework@15154

@wdio/dot-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/dot-reporter@15154

@wdio/firefox-profile-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/firefox-profile-service@15154

@wdio/globals

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/globals@15154

@wdio/jasmine-framework

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/jasmine-framework@15154

@wdio/json-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/json-reporter@15154

@wdio/junit-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/junit-reporter@15154

@wdio/lighthouse-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/lighthouse-service@15154

@wdio/local-runner

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/local-runner@15154

@wdio/logger

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/logger@15154

@wdio/mocha-framework

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/mocha-framework@15154

@wdio/protocols

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/protocols@15154

@wdio/repl

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/repl@15154

@wdio/reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/reporter@15154

@wdio/runner

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/runner@15154

@wdio/sauce-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/sauce-service@15154

@wdio/shared-store-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/shared-store-service@15154

@wdio/smoke-test-cjs-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/smoke-test-cjs-service@15154

@wdio/smoke-test-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/smoke-test-reporter@15154

@wdio/smoke-test-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/smoke-test-service@15154

@wdio/spec-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/spec-reporter@15154

@wdio/static-server-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/static-server-service@15154

@wdio/sumologic-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/sumologic-reporter@15154

@wdio/testingbot-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/testingbot-service@15154

@wdio/types

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/types@15154

@wdio/utils

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/utils@15154

@wdio/webdriver-mock-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/webdriver-mock-service@15154

@wdio/xvfb

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/xvfb@15154

webdriver

npm i https://pkg.pr.new/webdriverio/webdriverio/webdriver@15154

webdriverio

npm i https://pkg.pr.new/webdriverio/webdriverio@15154

commit: c5762b8

@wswebcreation wswebcreation merged commit 6027610 into main Mar 15, 2026
62 checks passed
@wswebcreation wswebcreation deleted the ws/fix-mobile-commands branch March 15, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: Bug Fix 🐛 PRs that contain bug fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant