tree: 5fe1e3224afa6602b311e66d2218a6c5df26243c [path history] [tgz]
  1. meta/
  2. mocks/
  3. testdata/
  4. a11y_semantics_event_manager_test.cc
  5. BUILD.gn
  6. flutter_semantics_tests.cc
  7. README.md
  8. semantic_tree_parser.cc
  9. semantic_tree_parser.h
  10. semantic_tree_parser_test.cc
  11. semantic_tree_service_unittest.cc
  12. semantics_integration_test_fixture.cc
  13. semantics_integration_test_fixture.h
  14. tree_unittest.cc
  15. web_semantics_tests.cc
src/ui/a11y/lib/semantics/tests/README.md

semantics manager tests

Running the tests

The semantics integration tests must be run on a product without a graphical base shell, such as core because it starts and stops an instance of Scenic with access to the real Vulkan loader service.

To run all of the semantics tests, build with a configuration such as

fx set core.<board> --with //src/ui/a11y/bundles:tests --with-base //topaz/bundles:buildbot

And run the tests using

# Run the integration tests
fx test fuchsia-pkg://fuchsia.com/semantics-integration-tests#meta/flutter_semantics_tests.cmx
fx test fuchsia-pkg://fuchsia.com/semantics-integration-tests#meta/web_semantics_tests.cmx
# Run the unit tests
fx test fuchsia-pkg://fuchsia.com/a11y_lib_tests#meta/semantics_tests.cmx

Integration test internals

The semantics integration tests launch private instances of scenic and web_runner or flutter_runner (depending on whether the web tests or the flutter tests are running). The tests provide a fuchsia.accessibility.semantics.SemanticsManager, which is used to inspect semantic data sent by the runner under test and to trigger semantic actions in runner.

Web semantic integration tests

These tests launch a web_runner and load html pages from the test package. These test pages are sourced from the testdata directory.

Flutter semantic integration tests

These tests launch a flutter_runner running the a11y-demo app.