Skip to content
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

[iOS] Clicking on a button is success but nothing happens on the UI. #20089

Closed
3 tasks done
pothurajtharun opened this issue May 11, 2024 · 7 comments
Closed
3 tasks done
Labels
Needs Info typically non-actionable; needs author to respond ThirdParty upstream problems XCUITest regarding xcuitest driver

Comments

@pothurajtharun
Copy link

Do I have the most recent component updates?

  • I use the most recent available driver/plugin and server versions

Is the component officially supported by the Appium team?

  • I have verified the component repository is present under the Appium organization in GitHub

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

After clicking on a button the response is 200 but nothing has happened on the UI.

Expected Behavior

After clicking on the button it should navigate to the next screens.

Minimal Reproducible Example

The issue is reproducible only on iOS and in android works fine on clicking same button it navigates to other screen.

Environment

  • Operating system: Mac
  • Appium server version (output of appium --version): 2.5.4
  • Appium driver(s) and their version(s): xcuitest@7.15.2
  • Appium plugin(s) and their version(s):
  • Node.js version (output of node --version): v18.16.0
  • npm version (output of npm --version): 9.5.1
  • Last component(s) version which did not exhibit the problem: I started freshly.
  • Platform and version under test: iPhone 8 Plus (16.7.1)
  • Real device or emulator/simulator: Real Device

Link to Appium Logs

No response

Further Information

I tried both the w3c-actions and xcuitest-tap operations and nothing helped. Attaching logs for both the scenarios.

appium-w3c-tap.log
appium-xcuitest-tap.log

@pothurajtharun pothurajtharun added Bug a problem that needs fixing Needs Triage bugs which are not yet confirmed labels May 11, 2024
@KazuCocoa
Copy link
Member

Nothing happened could indicate low level XCTest framework did click event, but the app did not receive such an event, or soemthing.

I found out some logs like below on your attached one. Touch event occurred on the testmanagerd level, so as Appium/XCTest perspective, it worked. mobile:tap log also looks similar

2024-05-11 10:04:31:384 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus SpringBoard(XCTAutomationSupport)[33] <Notice>: Replying with attribute values: <private>
2024-05-11 10:04:31:385 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus deleted[174] <Notice>: <private> servicePurgeable returned
2024-05-11 10:04:31:385 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: Synthesizing event with implicit confirmation interval 5: 
2024-05-11 10:04:31:385 [IOSDeviceLog] <XCSynthesizedEventRecord 'W3C Touch Action display 0'>
2024-05-11 10:04:31:385 [IOSDeviceLog] Path 1:
2024-05-11 10:04:31:385 [IOSDeviceLog] 	Touch down at 274.0, 454.0, offset=0.00s
2024-05-11 10:04:31:385 [IOSDeviceLog] 	Touch up at 274.0, 454.0, offset=0.00s
2024-05-11 10:04:31:385 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus deleted[174] <Notice>: dequeuePurge <private> [0x6a490d280] no purges queued
2024-05-11 10:04:31:385 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: Registering for user testing event TouchEventsCompleted
2024-05-11 10:04:31:385 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: current event time offset 0.000
2024-05-11 10:04:31:385 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: current: Touch down at 274.0, 454.0, offset=0.00s
2024-05-11 10:04:31:385 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: touch down {274, 454}
2024-05-11 10:04:31:385 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: Added action for event state <_XCSynthesizedTouchEventState: 0xb78a31680> offset:0.000
2024-05-11 10:04:31:386 [IOSDeviceLog] down touch:{
2024-05-11 10:04:31:386 [IOSDeviceLog]     1 = "<_XCSynthesizedPointerEvent: 0xb78a15cc0> {274, 454}";
2024-05-11 10:04:31:386 [IOSDeviceLog] }
2024-05-11 10:04:31:386 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: current event time offset 0.000
2024-05-11 10:04:31:386 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: current: Touch down at 274.0, 454.0, offset=0.00s
2024-05-11 10:04:31:386 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: touch move {274, 454} with pressure 0.0000
2024-05-11 10:04:31:386 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: touch up {274, 454}
2024-05-11 10:04:31:386 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: Added action for event state <_XCSynthesizedTouchEventState: 0xb78a05e70> offset:0.000
2024-05-11 10:04:31:386 [IOSDeviceLog] update touch:{
2024-05-11 10:04:31:387 [IOSDeviceLog]     1 = "<_XCSynthesizedPointerEvent: 0xb78a16790> {274, 454}";
2024-05-11 10:04:31:387 [IOSDeviceLog] }
2024-05-11 10:04:31:387 [IOSDeviceLog] lift touch:{
2024-05-11 10:04:31:387 [IOSDeviceLog]     1 = "<_XCSynthesizedPointerEvent: 0xb78a05ed0> {274, 454}";
2024-05-11 10:04:31:387 [IOSDeviceLog] }
2024-05-11 10:04:31:387 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus testmanagerd[438] <Notice>: Recap event action playback initiated
2024-05-11 10:04:31:387 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus backboardd(IOKit)[63] <Notice>: Connection added: IOHIDEventSystemConnection uuid:FE481230-B930-4A77-8D45-C6C99D53DCA9 pid:438 process:testmanagerd type:Simple entitlements:0x1c caller:HID: <redacted> + 96 attributes:(null) state:0x0 events:0 mask:0x0 dropped:0 dropStatus:0 droppedMask:0x0 lastDroppedTime:NONE
2024-05-11 10:04:31:387 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus deleted[174] <Notice>: Updating service info amount: 0, serviceID: <private>, volume: <private>, urgency: 3 pushed: FALSE, timestamp: 737114671.248427
2024-05-11 10:04:31:388 [IOSDeviceLog] May 11 15:34:31 iPhone-8-Plus deleted(CacheDelete)[174] <Notice>: 219 updateServiceInfoAmount NO CHANGE for <private> at 3 on <private>```

@KazuCocoa KazuCocoa added ThirdParty upstream problems XCUITest regarding xcuitest driver and removed Bug a problem that needs fixing Needs Triage bugs which are not yet confirmed labels May 11, 2024
@KazuCocoa
Copy link
Member

Possibly you could try out vanilla XCTest for UI if it has different behavior. The low-level should be the same/similar, so I guess it also behaves as same.

@KazuCocoa KazuCocoa added the Needs Info typically non-actionable; needs author to respond label May 11, 2024
@pothurajtharun
Copy link
Author

Thanks @KazuCocoa for quick response. The app is developed with flutter framework. On the same screen there are two button Next & Skip. As per this flutter buttons Next button is Filled Button and Skip button is Text button.

Click on Next Button works fine and navigated to other screen but clicking on Text button nothing happens.

Could you please help me with some pointers/examples how to use vanilla XCTest for UI and click on the element ?

Thanks!

@KazuCocoa
Copy link
Member

KazuCocoa commented May 11, 2024

Some online resources would help, for example. (random pickup here)
In the Flutter framework, the behavior could depend on how the Flutter/DartVM behaves for the iOS native's event. No surprise if it does not work then. (I saw a similar report somewhere before, which might not be Appium-specific)

@pothurajtharun
Copy link
Author

pothurajtharun commented May 11, 2024

@KazuCocoa, does the vanilla integration is possible with appium ?

I mean the app is launched with appium and perform the click action on the skip button with vanilla? Please let me know. I will try it later.

Thanks!

@KazuCocoa
Copy link
Member

KazuCocoa commented May 12, 2024

It is separated from Appium. You may need to write launching the test app etc with the XCTest project

@mykola-mokhnach
Copy link
Collaborator

Closed as third party issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Info typically non-actionable; needs author to respond ThirdParty upstream problems XCUITest regarding xcuitest driver
Projects
None yet
Development

No branches or pull requests

3 participants