Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix: appium touch perform #5035

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
kobenguyent wants to merge 7 commits into 3.x
base: 3.x
Choose a base branch
Loading
from clone-fix-appium-touchPerform
Open

Conversation

@kobenguyent
Copy link
Collaborator

@kobenguyent kobenguyent commented Jul 1, 2025

Motivation/Description of the PR

Applicable helpers:

  • Playwright
  • Puppeteer
  • WebDriver
  • REST
  • FileHelper
  • Appium
  • TestCafe

Applicable plugins:

  • allure
  • autoDelay
  • autoLogin
  • customLocator
  • pauseOnFail
  • coverage
  • retryFailedStep
  • screenshotOnFail
  • selenoid
  • stepByStepReport
  • stepTimeout
  • wdio
  • subtitles

Type of change

  • 🔥 Breaking changes
  • 🚀 New functionality
  • 🐛 Bug fix
  • 🧹 Chore
  • 📋 Documentation changes/updates
  • ♨️ Hot fix
  • 🔨 Markdown files fix - not related to source code
  • 💅 Polish code

Checklist:

  • Tests have been added
  • Documentation has been added (Run npm run docs)
  • Lint checking (Run npm run lint)
  • Local tests are passed (Run npm test)

Copy link
Collaborator Author

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors the Appium helper to use W3C actions for touch interactions, updates the corresponding documentation and tests, and standardizes CI workflow YAML quoting and triggers.

  • Refactored touchPerform helper method to call browser.performActions and updated JSDoc/examples.
  • Tagged the touch-perform integration test with @quick.
  • Converted Appium docs to single-quote syntax, removed semicolons, and realigned example blocks.
  • Standardized quoting in CI workflows and adjusted the Appium Android workflow trigger.

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/helper/Appium_test.js Added @quick tag to the touchPerform test title
lib/helper/Appium.js Switched touchPerform from touchPerform to performActions
docs/helpers/Appium.md Updated touchPerform docs, code examples switched to single quotes
docs/plugins.md Removed stray list marker
.github/workflows/check.yml Standardized YAML quoting
.github/workflows/appium_Android.yml Broadened branch trigger
Comments suppressed due to low confidence (4)

.github/workflows/appium_Android.yml:7

  • Using the wildcard '**' in branch triggers will run this workflow on every branch. Consider narrowing it to intended branches to reduce unnecessary CI runs.
 - '**'

test/helper/Appium_test.js:330

  • Verify that the test suite is configured to recognize the @quick tag; otherwise this annotation may be ignored by the runner.
 it('should react on touchPerform action @quick', async () => {

docs/helpers/Appium.md:760

  • [nitpick] The markdown list structure in this section has inconsistent indentation and markers after the bulk update. Align nested bullets and code fences to improve readability.
Performs a specific touch action using W3C actions.

lib/helper/Appium.js:1375

  • After calling performActions, consider invoking releaseActions() or clearActions() on the browser to reset the input state and avoid residual pointer sessions.
 return this.browser.performActions(actions)

Copy link
Contributor

It seems I forgot to update the unit-tests related to this method - I will do it.

  1. Appium
    #makeTouchAction
    should react on touchPerform action @Quick:
    invalid argument: WebDriverError: java.lang.IllegalArgumentException: W3CItemModel: The mandatory field 'actions' is not present in JSON when running "actions" with method "POST" and args "{"actions":[{"action":"press","options":{"x":100,"y":200}},{"action":"release"}]}"
    at FetchRequest._request (file:///home/runner/work/CodeceptJS/CodeceptJS/node_modules/webdriver/build/node.js:1803:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Browser.wrapCommandFn (file:///home/runner/work/CodeceptJS/CodeceptJS/node_modules/webdriverio/node_modules/@wdio/utils/build/index.js:907:23)
    at async Context. (test/helper/Appium_test.js:331:7)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

Copilot code review Copilot Copilot left review comments

+1 more reviewer

@thomashohn thomashohn thomashohn approved these changes

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /