shamanec / GADS

Simple device farm for remote control of devices and Appium test execution on iOS/Android
MIT License
74 stars 16 forks source link

Long tap and release on devices gives session lost popup all the time #129

Open Gnanaprakash22 opened 1 week ago

Gnanaprakash22 commented 1 week ago
Screenshot 2024-11-10 at 12 41 47 PM
shamanec commented 1 week ago

Which OS is that? Also is it in landscape?

Gnanaprakash22 commented 1 week ago

i m seeing this in 17.5.1 and 15.8.3 , it is happening in portrait/landscape. I don't think it is os specific

seeing this in appium logs

{"ts":1731315639946,"msg":"\u003c-- GET /sessions 200 1 ms - 475 ","appium_ts":"2024-11-11 09:00:39:940","log_type":"HTTP","session_id":"7062e48a-bca8-4a15-af74-f364750ba10b"} {"ts":1731315719925,"msg":"--\u003e GET /sessions {}","appium_ts":"2024-11-11 09:01:59:924","log_type":"HTTP","session_id":"7062e48a-bca8-4a15-af74-f364750ba10b"} {"ts":1731315719928,"msg":"Calling AppiumDriver.getSessions() with args: []","appium_ts":"2024-11-11 09:01:59:925","log_type":"AppiumDriver@db67","session_id":"7062e48a-bca8-4a15-af74-f364750ba10b"} {"ts":1731315719931,"msg":"Responding to client with driver.getSessions() result: [{\"id\":\"7062e48a-bca8-4a15-af74-f364750ba10b\",\"capabilities\":{\"platformName\":\"iOS\",\"automationName\":\"XCUITest\",\"newCommandTimeout\":120,\"waitForIdleTimeout\":0,\"udid\":\"e7f4f07a52341c39457288c85a5caaa473eba404\",\"mjpegServerPort\":55734,\"clearSystemFiles\":false,\"webDriverAgentUrl\":\"http://localhost:55732\",\"preventWDAAttachments\":\"true\",\"simpleIsVisibleCheck\":false,\"wdaLocalPort\":55732,\"deviceName\":\"iPhone 7\",\"wdaLaunchTimeout\":120000,\"wdaConnectionTimeout\":240000}}]","appium_ts":"2024-11-11 09:01:59:925","log_type":"AppiumDriver@db67","session_id":"7062e48a-bca8-4a15-af74-f364750ba10b"} {"ts":1731315719934,"msg":"\u003c-- GET /sessions 200 1 ms - 475 ","appium_ts":"2024-11-11 09:01:59:926","log_type":"HTTP","session_id":"7062e48a-bca8-4a15-af74-f364750ba10b"} {"ts":1731315720968,"msg":"Shutting down because we waited 120 seconds for a command","appium_ts":"2024-11-11 09:02:00:968","log_type":"XCUITestDriver@fc32","session_id":"7062e48a-bca8-4a15-af74-f364750ba10b"} {"ts":1731315720971,"msg":"Ending session, cause was 'New Command Timeout of 120 seconds expired. Try customizing the timeout using the 'newCommandTimeout' desired capability'","appium_ts":"2024-11-11 09:02:00:968","log_type":"AppiumDriver@db67","session_id":"7062e48a-bca8-4a15-af74-f364750ba10b"} {"ts":1731315720975,"msg":"Removing session '7062e48a-bca8-4a15-af74-f364750ba10b' from our master session list","appium_ts":"2024-11-11 09:02:00:968","log_type":"AppiumDriver@db67","session_id":""} {"ts":1731315720978,"msg":"Do not stop xcodebuild nor XCTest session since the WDA session is managed by outside this driver.","appium_ts":"2024-11-11 09:02:00:968","log_type":"XCUITestDriver@fc32","session_id":""} {"ts":1731315720980,"msg":"Releasing connections for e7f4f07a52341c39457288c85a5caaa473eba404 device on any port number","appium_ts":"2024-11-11 09:02:00:968","log_type":"DevCon Factory","session_id":""} {"ts":1731315720982,"msg":"Found cached connections to release: [\"e7f4f07a52341c39457288c85a5caaa473eba404:55732\"]","appium_ts":"2024-11-11 09:02:00:968","log_type":"DevCon Factory","session_id":""} {"ts":1731315720985,"msg":"Cached connections count: 0","appium_ts":"2024-11-11 09:02:00:969","log_type":"DevCon Factory","session_id":""}

shamanec commented 1 week ago

This particular snippet shows the session timed out after 120 seconds? If you go back and reopen the device does it start working again? Also are you using the custom WDA from my fork?

Gnanaprakash22 commented 1 week ago

yes it works fine after capturing the device again , i'm using custom wda only from your forked branch. Is the issue reproducible from your side? do you need provider logs?

shamanec commented 1 week ago

I haven't tested yet but I have an assumption why it happens - with mainstream WDA the interactions go through Appium so the session refreshes each time you do something. With my WDA the interaction endpoints do not use a session so even if you tap/swipe for Appium its like nothing has been done and at some point the session expires... I didn't really think about that so it is something I need to fix in some way :( 😅

shamanec commented 1 week ago

If you are building the provider from source instead of using the prebuilt binaries you can go here and here and update the value to something bigger - this should help until I have the time and find a reasonable way to handle this