Skip to content

WebDriver helper clicks iOS elements with touchClick, which webdriverio 10 removes #5756

Closed

Description

@elliotsabitov

What are you trying to achieve?

Run CodeceptJS WebDriver scenarios against iOS Safari through Appium (XCUITest) without deprecation noise, and move to webdriverio 10.

What do you get instead?

On a mobile session whose platformName is not android, click, checkOption and uncheckOption in lib/helper/WebDriver.js call browser.touchClick, the JSON Wire Protocol /touch/click command. On webdriverio 9 every iOS click prints:

⚠️ [WEBDRIVERIO DEPRECATION NOTICE] Use `driver.performActions(...)` with `pointerDown` and `pointerUp` actions instead

Webdriverio 10 drops the JSON Wire Protocol and removes touchClick from @wdio/protocols, so on webdriverio 10 the same calls throw this.browser.touchClick is not a function.

Appium XCUITest supports the W3C elementClick command, which the helper already uses on Android and desktop. Using it on every platform removes the warning and works on webdriverio 9 and 10. A PR with that change follows.

Details

  • CodeceptJS version: 4.2.1 (same code on 4.x)
  • NodeJS Version: 22
  • Operating System: iOS 18 on AWS Device Farm (Appium XCUITest, Safari)
  • webdriverio version: 9.32.0, and 10.0.2 for the removal
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions