flutter/dev/integration_tests/web_e2e_tests
Jackson Gardner 31209d04ff
flutter test --wasm support (#145347)
* Adds support for `flutter test --wasm`.
  * The test compilation flow is a bit different now, so that it supports compilers other than DDC. Specifically, when we run a set of unit tests, we generate a "switchboard" main function that imports each unit test and runs the main function for a specific one based off of a value set by the JS bootstrapping code. This way, there is one compile step and the same compile output is invoked for each unit test file.
* Also, removes all references to `dart:html` from flutter/flutter.
* Adds CI steps for running the framework unit tests with dart2wasm+skwasm
  * These steps are marked as `bringup: true`, so we don't know what kind of failures they will result in. Any failures they have will not block the tree at all yet while we're still in `bringup: true`. Once this PR is merged, I plan on looking at any failures and either fixing them or disabling them so we can get these CI steps running on presubmit.

This fixes https://github.com/flutter/flutter/issues/126692
2024-03-21 20:08:07 +00:00
..
lib flutter test --wasm support (#145347) 2024-03-21 20:08:07 +00:00
test_driver flutter test --wasm support (#145347) 2024-03-21 20:08:07 +00:00
web Flutter Web Bootstrapping Improvements (#144434) 2024-03-12 22:41:26 +00:00
pubspec.yaml flutter test --wasm support (#145347) 2024-03-21 20:08:07 +00:00
README.md [web] fix web_e2e_tests README (#92277) 2021-10-21 17:58:07 -07:00

Flutter Web integration tests

To run the tests in this package download the chromedriver matching the version of Chrome. To find out the version of your Chrome installation visit chrome://version.

Start chromedriver using the following command:

chromedriver --port=4444

An integration test is run using the flutter drive command. Some tests are written for a specific web renderer and/or specific build mode. Before running a test, check the _runWebLongRunningTests function defined in dev/bots/test.dart, and determine the right web renderer and the build mode you'd like to run the test in.

Here's an example of running an integration test:

flutter drive --target=test_driver/text_editing_integration.dart \
  -d web-server \
  --browser-name=chrome \
  --profile \
  --web-renderer=html

This example runs the test in profile mode (--profile) using the HTML renderer (--web-renderer=html).

More resources: