* running screenshot tests on ios-safari unit tests
* fixing the golden_smoke tests. changes to the documentation
* addressing reviewer comments
* cropping footer from the simulator screenshot. addressing some reviewer comments
* use .dart_tools for recording the screenshots
* fix the usage of the method
* adding TODO's for missing documentation and not supported windows tests
* addressing comments
* changing to incremental counter for file names
* add comment to the counter
* fix anaylze issues
* using takescreenshot method from the iosSimulator.
* address reviewer comments
* fix the scaling issue. disable eronous test
* change the smoke file for top gap 282
* change the variable name for scale factor
* changing felt script to fetch flutter
* changing the clone_flutter.sh code
* running integration tests with felt on cirrus. fetch framework in CI (not in local).
* only run cirrus tests on chrome. fix a comma in the flutter command path
* adding comments to public flags
* use local engine parameter for flutter pub get
* change flutter executable used for flutter drive command
* fix a cleanup issue. address comments. add toolException. enable web in flutter
* address reviwer comments. fix issue with local-engine
* address reviwer comments. fix issue with local-engine
* using engine/flutter/.dart_tools as clone directory. enabling clone script for local usage
* clean flutter repo with felt clean. add a flag to skip cloning the repo. always clone the repo even for local development, unless this flag is set
* fixing typos. updating readme for the new flag.
* fix directory error
* addressing reviewer comments
* adding an apple script to quit safari
* making changes to utils and adding cleanup after unit tests failed
* switch saai quit to pkill instead of applescript
* adding toolexception
* adding a cleanup function option to felt.
* removing unnecassary await's added for the previos version of the PR
* removing unnecassary async
* fix analyze error
* adding arguments to felt for running different type of tests
* adding test type enums to felt
* more changes to felt for testing branches
* more additions to code
* more changes to felt
* adding code for cloning web_drivers
* validating test directories. running the integration tests. update the readme file partially
* Removing todo lists used for development
* addressing reviewers comments
* remove unused imports
* addressing more reviewer comments
* addressing more reviewer comments
* addressing reviewer comments.
* addressing reviewer comments.
* fixing typos
* using chromedriverinstaller as a library. Fixing the commit number used from web_installers repo
* clean drivers directory after tests finish
* addressing more reviewer comments
* throwing all critical exceptions instead of logging and returning boolean flags
* adding todos for items we can do for making felt easier to use for local development
* do not run integration tests on CIs. Added an issue to the TODO.
* changing todo's with issues.
1. Various functionalities offered by this tool are now organized into commands (e.g. `felt test`, `felt check-licenses`).
2. The felt tool can now be invoked from anywhere, not necessarily from the web_ui directory.
3. This new structure helps us scale better as we add more commands (e.g. soon a `build/watch` command is coming).
- Add a custom `PlatformPlugin` that spins up a server waiting for test to request a screenshot.
- When a screenshot is requested the plugin talks to Chrome via the debug port, captures a screenshot, and compares it with a golden file
- This PR also adds proper CLI for `dev/test.dart` with an `ArgParser` for future extension into a proper developer tool for the team.
- As a first couple of features, it adds `--debug` option to launch Chrome in debug mode, a `--target` option to choose a single test to run rather than all tests, and `--shard` option to choose a subset of tests to run.
Limitations:
- While screenshot test will run on Cirrus, they are configured to not fail on Cirrus. Need to solve Chrome version skew.
- Stack maps do not work yet (you get stacks, but they are nonsensical)
- When requesting a single test, build_runner builds all tests anyway
- Nothing but desktop Chrome is supported
- Nothing but Linux is supported
- There's no Chrome version pinning; currently assumed stable Chrome channel