LeastAuthority / winden

Winden is a free web application for secure, fast, and easy file transfers between devices in real-time
MIT License
54 stars 4 forks source link

Integration e2e test step intermittently fails a few firefox tests #178

Open btlogy opened 7 months ago

btlogy commented 7 months ago

While working on #171, I had to rebuild twice the integration workflow for the 2 last PRs (#172 and #173) for the e2e step to succeed! And in the 4 failed build logs, I've captured the same error message matching each failed test:

ERROR webdriver: Request failed with status 400 due to element not interactable: Element <input type="file"> could not be scrolled into view

In those 4 failed build, the failed test were as followed:

  1. More comments in Dockerfile #440 - Attempt #1:

    • [firefox 112.0 linux #1-3] 1) the code has an existing nameplate number but invalid code will display a bad code error
  2. More comments in Dockerfile #440 - Attempt #2:

    • [firefox 112.0 linux #1-4] 1) when uploading a file with the size of 5MB will transfer successfully
  3. Parametrize uid and gid for non 1000 runner's #447 - Attempt #1:

    • [firefox 112.0 linux #1-4] 1) on uploading a single file check generated code format
  4. Parametrize uid and gid for non 1000 runner's #447 - Attempt #2:

    • [firefox 112.0 linux #1-3] 1) the code has an existing nameplate number but invalid code will display a bad code error
    • [firefox 112.0 linux #1-4] 1) when uploading a file <1MB will transfer successfully
btlogy commented 7 months ago

I've tried to update the selenium components from 4.9.1-20230508 to 4.17.0-20240123, but than the 2e2 test on Firefox constantly fail whenever it tries to call browser.uploadFile() from here:

https://github.com/LeastAuthority/winden/blob/4cd31a0651a8456f5b6eee2ad64ad61ba118b5b8/client-e2e/test/pageobjects/page.ts#L9-L23

Again, this problem only arises on Firefox (same code work flawlessly on Chrome and Edge):

[firefox 117.0 linux #0-0] 1) Check Terms if Terms & Conditions is present in Receiver block and opens   
[firefox 117.0 linux #0-0] HTTP method not allowed                                                       
[firefox 117.0 linux #0-0] Error: HTTP method not allowed                                                
[firefox 117.0 linux #0-0]     at processTicksAndRejections (node:internal/process/task_queues:96:5) 

This new issue seems to have been introduced between version 4.11.0-20230801 and 4.12.1-20230904 of the selenium/firefox image which bump this browser from 116.0 to 117.0.