doubleTap, singleTap, tapAtPosition, pinchToZoomInAtPosition not working as expected

Hello

When I use doubleTap, singleTap, tapAtPosition, pinchToZoomInAtPosition user actions to test a mobile app, these actions are either not recognized at all or perform a different action than what the name states. See examples below.

1. Example 01 - the following code performs single tap instead of pinch to zoom
int intLocationX = Mobile.getElementLeftPosition(findTestObject(‘Object Repository/App/RapidAI/Mobile/iOS/xyz/xyz/XCUIElementTypeOther - MPR Axial Plane’), 10)
int intLocationY = Mobile.getElementTopPosition(findTestObject(‘Object Repository/App/xyz/Mobile/iOS/xyz/xyz/XCUIElementTypeOther - ele1’), 10)
int intWidth = Mobile.getElementWidth(findTestObject(‘Object Repository/App/xyz/Mobile/iOS/xyz/xyz/XCUIElementTypeOther - ele1’), 10)
int intHeight = Mobile.getElementHeight(findTestObject(‘Object Repository/App/xyz/Mobile/iOS/xyz/xyz/XCUIElementTypeOther - ele1’), 10)
int intStartX = intLocationX + (intWidth * 0.25)
int intStartY = intLocationY + (intHeight * 0.25)
Mobile.pinchToZoomInAtPosition(intStartX, intStartY, 20)

2. Example 02 - the following code performs single tap instead of double tap
Mobile.sendKeys(findTestObject(‘Object Repository/App/xyz/Mobile/iOS/xyz/xyz/XCUIElementTypeOther - ele1’), ‘doubleTap’)

3. Example 03 - The following code does not result in any action
Mobile.sendKeys(findTestObject(‘Object Repository/App/xyz/Mobile/iOS/xyz/xyz/XCUIElementTypeOther - ele1’), ‘singleTap’)

4. Example 04 - The following code performs double tap instead of single tap
Mobile.tap(findTestObject(‘Object Repository/App/xyz/Mobile/iOS/xyz/xyz/XCUIElementTypeOther - ele1’), 10)

Hi,

Sorry for my late response due to the holidays. Can you please give us the screenshot and the version that you are using? Thank you!

I got the same issue once on my latest OS version mobile devices on Katalon 9.3.0.

Here are all the tools I am using:
Pixel 6 (Android 14)
iPhone SE 3rd (iOS 17.3.1)
MacOS: 14.3.1
Xcode: 15.2
Appium: 2.5.1
uiautomator2: 3.0.1
xcuitest: 7.2.0

Tested on the same model (Pixel 6) but a different OS version (Android 13) and it works fine. Unfortunately, I don’t have another iPhone to test it but it was working before I upgraded.

The core error messages are as below:

iOS:

com.kms.katalon.core.exception.StepFailedException: Failed to tap at [500, 50]
	at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.stepFailed(MobileKeywordMain.groovy:38)
	at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:21)
	at com.kms.katalon.core.mobile.keyword.builtin.TapAtPositionKeyword.tapAtPosition(TapAtPositionKeyword.groovy:72)
	at com.kms.katalon.core.mobile.keyword.builtin.TapAtPositionKeyword.execute(TapAtPositionKeyword.groovy:64)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.tapAtPosition(MobileBuiltInKeywords.groovy:2610)

Caused by: org.openqa.selenium.UnsupportedCommandException: Unhandled endpoint: /session/55ABAE3C-F2EB-45E8-B9A0-361302E3C314/touch/perform -- http://127.0.0.1:63021/ with parameters {
    wildcards =     (
        "session/55ABAE3C-F2EB-45E8-B9A0-361302E3C314/touch/perform"
    );
}

Android:

com.kms.katalon.core.exception.StepFailedException: Failed to tap at [500, 50]
	at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.stepFailed(MobileKeywordMain.groovy:38)
	at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:21)
	at com.kms.katalon.core.mobile.keyword.builtin.TapAtPositionKeyword.tapAtPosition(TapAtPositionKeyword.groovy:72)
	at com.kms.katalon.core.mobile.keyword.builtin.TapAtPositionKeyword.execute(TapAtPositionKeyword.groovy:64)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.tapAtPosition(MobileBuiltInKeywords.groovy:2610)

Caused by: org.openqa.selenium.UnsupportedCommandException: The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource

Let me know if your need more information, thank you!