Browser-based tests of the old AngularJS Admin UI (solr/webapp/web/), driven by Selenium WebDriver with headless Chrome. What each screen covers is documented in the test classes themselves; this page covers how the suite works and what it deliberately does not do.
solr/webapp/src/test/org/apache/solr/webapp/ and extend AdminUiTestBase, which starts a 2-node MiniSolrCloudCluster whose Jetty nodes also serve the Admin UI (opt-in JettyConfig.Builder#enableAdminUi), then starts a headless Chrome via Selenium WebDriver.@SeleniumTest test group annotation (disabled by default), enabled with -Ptests.selenium=true.-Dtests.selenium.chrome.binary=/path/to/chrome. The matching chromedriver is provisioned (and cached) by Selenium Manager.AdminUiStandaloneTestBase additionally supports standalone (user-managed, no ZooKeeper) nodes, whose UI differs (no Cloud/Collections/Schema Designer menus; the per-core menu offers query/replication etc. directly)../gradlew :solr:webapp:test -Ptests.selenium=true-Dtests.selenium=true on the run configuration; the js-client bundle is picked up from the js-client build output, so run a Gradle build once first.libs/solr/index.js) only exists inside the built WAR, not in the source tree tests serve from, so the build hands its location to the test JVM in tests.ui.jsclient.bundle. The bundle (and its node/npm toolchain) is only built when -Ptests.selenium=true enables the tests, keeping node off the default test build chain. With the js-client build turned off (-PdisableJsClient=true) the bundle cannot be built, so the build disables these tests with a warning — and fails with an error if -Ptests.selenium=true was passed as well.TypeError: Cannot read properties of null (reading 'name') from $scope.showCore while the per-collection menu resolves (filtered in the console-error assertion; tracked in SOLR-18347).-Ptests.selenium=true, so these tests do not run there (a nightly job could opt in if its build nodes have a browser). In CI they run via the GitHub Actions workflow .github/workflows/admin-ui-test.yml, on pull requests that touch the webapp, the v2 API contract (solr/api) or the v2 API implementations (solr/core/.../handler/admin/api).