-
Notifications
You must be signed in to change notification settings - Fork 25
cross browser testing #954
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
Conversation
8e1ebe5 to
d4639c2
Compare
b87e977 to
c604f54
Compare
There was a problem hiding this 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 pull request implements cross-browser testing support for the E2E test suite, enabling tests to run on Firefox, Chromium, and WebKit browsers. The implementation addresses browser-specific compatibility issues and optimizes the test execution pipeline.
Key changes include:
- Added support for multiple browsers (Firefox, Chromium, WebKit) in test configuration and execution
- Implemented browser-specific workarounds for clipboard permissions and file upload mechanisms
- Enhanced CI pipeline to run tests across all supported browsers with browser-specific optimizations
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/e2e/support/utils/dragDrop.ts | Refactored file drag-drop implementation to use input elements and DataTransfer for better cross-browser compatibility |
| tests/e2e/support/objects/app-files/link/actions.ts | Added WebKit-specific clipboard handling using data attributes instead of navigator.clipboard |
| tests/e2e/support/environment/actor/shared.ts | Implemented browser-specific permission handling, restricting clipboard permissions to Chromium-based browsers |
| tests/e2e/support/environment/actor/actor.ts | Added WebKit-specific error filtering to ignore harmless ResizeObserver warnings |
| tests/e2e/run-e2e.sh | Enhanced script with browser selection support and improved help documentation |
| tests/e2e/cucumber/features/smoke/upload.feature | Added @webkit-skip tags for problematic scenarios and reorganized test structure |
| tests/e2e/cucumber/features/smoke/sse.feature | Added @webkit-skip tag for server-sent events test |
| tests/e2e/cucumber/environment/index.ts | Refactored browser initialization with explicit browser-specific configurations |
| package.json | Added browser-specific npm scripts for running tests with different browsers |
| cucumber.mjs | Added pretty formatter for improved test output readability |
| .woodpecker.star | Updated CI configuration to run tests across multiple browsers and upgraded Node.js to version 22 |
Comments suppressed due to low confidence (1)
package.json:17
- Inconsistent naming: script name suggests 'chromium' but environment variable is set to 'chrome'. Consider aligning the naming for clarity.
"test:e2e:cucumber:chromium": "BROWSER=chrome NODE_TLS_REJECT_UNAUTHORIZED=0 TS_NODE_PROJECT=./tests/e2e/cucumber/tsconfig.json cucumber-js --profile=e2e --parallel ${PARALLEL:-1}",
JammingBen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
I noticed a difference between uploading a large file (1 GB) in different browsers. Chrome: the file uploads in 5 seconds. |
1a5a03b to
1ded322
Compare
related #890
suite1(journeys,smoke) anda11yin Firefox, Chromium, and WebKit browserspnpm playwright install-deps webkitI do this in the test pipeline (temporary solution). A good way to do this is to install all dependencies in the Docker image having a custom Golang container qa#54in the CI I couldn't get a visible element on main page after creating txt file in the editor and after that closing editor
