diff --git a/web/BUILD b/web/BUILD
index 893105f..ab06e56 100644
--- a/web/BUILD
+++ b/web/BUILD
@@ -1,5 +1,5 @@
 load("//tools/js:eslint.bzl", "plugin_eslint")
-load("//tools/bzl:js.bzl", "gerrit_js_bundle", "karma_test")
+load("//tools/bzl:js.bzl", "gerrit_js_bundle", "web_test_runner")
 load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project")
 
 package_group(
@@ -53,10 +53,19 @@
     entry_point = "_bazel_ts_out/plugin.js",
 )
 
-karma_test(
-    name = "karma_test",
-    srcs = ["karma_test.sh"],
-    data = [":code-owners-ts-tests"],
+filegroup(
+    name = "tsconfig-sources",
+    srcs = glob(["**/tsconfig.json"])
+)
+
+web_test_runner(
+    name = "web_test_runner",
+    srcs = ["web_test_runner.sh"],
+    data = [
+        ":tsconfig-sources",
+        ":code-owners-ts-tests",
+        "@plugins_npm//:node_modules",
+    ],
 )
 
 plugin_eslint()
diff --git a/web/code-owners-model-mixin.ts b/web/code-owners-model-mixin.ts
index 23bb9fe..770631a 100644
--- a/web/code-owners-model-mixin.ts
+++ b/web/code-owners-model-mixin.ts
@@ -27,7 +27,7 @@
   UserRole,
 } from './code-owners-model';
 import {LitElement, PropertyValues} from 'lit';
-import {property, state} from 'lit/decorators';
+import {property, state} from 'lit/decorators.js';
 import {ChangeInfo} from '@gerritcodereview/typescript-api/rest-api';
 import {ReportingPluginApi} from '@gerritcodereview/typescript-api/reporting';
 import {RestPluginApi} from '@gerritcodereview/typescript-api/rest';
diff --git a/web/code-owners-service_test.ts b/web/code-owners-service_test.ts
index f547a8e..279415a 100644
--- a/web/code-owners-service_test.ts
+++ b/web/code-owners-service_test.ts
@@ -9,6 +9,7 @@
 } from '@gerritcodereview/typescript-api/rest-api.js';
 import {SuggestionsType} from './code-owners-model.js';
 import {assert} from '@open-wc/testing';
+import sinon from 'sinon';
 
 function flush() {
   return new Promise((resolve, _reject) => {
diff --git a/web/gr-check-code-owner.ts b/web/gr-check-code-owner.ts
index e6de8a7..9215ba9 100644
--- a/web/gr-check-code-owner.ts
+++ b/web/gr-check-code-owner.ts
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-import {customElement, query, property, state} from 'lit/decorators';
+import {customElement, query, property, state} from 'lit/decorators.js';
 import {css, CSSResult, html, LitElement} from 'lit';
 import {classMap} from 'lit/directives/class-map.js';
 import {PluginApi} from '@gerritcodereview/typescript-api/plugin';
@@ -69,8 +69,8 @@
 
   static override get styles() {
     return [
-      window.Gerrit.styles.font as CSSResult,
-      window.Gerrit.styles.form as CSSResult,
+      window.Gerrit?.styles.font as CSSResult,
+      window.Gerrit?.styles.form as CSSResult,
       css`
         main {
           margin: 2em auto;
diff --git a/web/karma_test.sh b/web/karma_test.sh
deleted file mode 100755
index fd686da..0000000
--- a/web/karma_test.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-set -euo pipefail
-./$1 start $2 --single-run \
-  --root 'plugins/code-owners/web/_bazel_ts_out_tests/' \
-  --test-files '*_test.js' \
-  --browsers ${3:-ChromeHeadless}
diff --git a/web/owner-requirement.ts b/web/owner-requirement.ts
index a1cc7a8..a17e347 100644
--- a/web/owner-requirement.ts
+++ b/web/owner-requirement.ts
@@ -19,8 +19,8 @@
 import {showPluginFailedMessage} from './code-owners-banner';
 import {isPluginErrorState, UserRole} from './code-owners-model';
 import {css, html, LitElement} from 'lit';
-import {customElement} from 'lit/decorators';
-import {when} from 'lit/directives/when';
+import {customElement} from 'lit/decorators.js';
+import {when} from 'lit/directives/when.js';
 import {
   ApprovalInfo,
   DetailedLabelInfo,
diff --git a/web/owner-status-column.ts b/web/owner-status-column.ts
index 9b0cb86..1fa3d70 100644
--- a/web/owner-status-column.ts
+++ b/web/owner-status-column.ts
@@ -21,7 +21,7 @@
   RevisionPatchSetNum,
 } from '@gerritcodereview/typescript-api/rest-api';
 import {css, html, LitElement, nothing, PropertyValues} from 'lit';
-import {customElement, property} from 'lit/decorators';
+import {customElement, property} from 'lit/decorators.js';
 import {OwnerStatus} from './code-owners-api';
 import {FileStatus, PluginState} from './code-owners-model';
 import {CodeOwnersModelMixin} from './code-owners-model-mixin';
diff --git a/web/plugin.ts b/web/plugin.ts
index 2e26843..2dcac79 100644
--- a/web/plugin.ts
+++ b/web/plugin.ts
@@ -30,7 +30,7 @@
 import {CodeOwnersModelMixinInterface} from './code-owners-model-mixin';
 import './gr-check-code-owner';
 
-window.Gerrit.install(plugin => {
+window.Gerrit?.install(plugin => {
   const restApi = plugin.restApi();
   const reporting = plugin.reporting();
 
diff --git a/web/suggest-owners-trigger.ts b/web/suggest-owners-trigger.ts
index fb2ca98..089ca8b 100644
--- a/web/suggest-owners-trigger.ts
+++ b/web/suggest-owners-trigger.ts
@@ -16,7 +16,7 @@
  */
 import {CodeOwnersModelMixin} from './code-owners-model-mixin';
 import {css, html, LitElement, nothing} from 'lit';
-import {customElement} from 'lit/decorators';
+import {customElement} from 'lit/decorators.js';
 
 const base = CodeOwnersModelMixin(LitElement);
 
diff --git a/web/suggest-owners.ts b/web/suggest-owners.ts
index 7f07906..17bc893 100644
--- a/web/suggest-owners.ts
+++ b/web/suggest-owners.ts
@@ -17,10 +17,10 @@
 import {CodeOwnersModelMixin} from './code-owners-model-mixin';
 import {SuggestionsState, SuggestionsType} from './code-owners-model';
 import {getDisplayOwnersGroups, GroupedFiles} from './suggest-owners-util';
-import {customElement, property, state} from 'lit/decorators';
+import {customElement, property, state} from 'lit/decorators.js';
 import {css, html, LitElement, nothing, PropertyValues} from 'lit';
-import {when} from 'lit/directives/when';
-import {ifDefined} from 'lit/directives/if-defined';
+import {when} from 'lit/directives/when.js';
+import {ifDefined} from 'lit/directives/if-defined.js';
 import {CodeOwnerInfo, CodeOwnersInfo, FetchedFile} from './code-owners-api';
 import {
   AccountId,
diff --git a/web/tsconfig.json b/web/tsconfig.json
index 00f6c7e..ab4cca2 100644
--- a/web/tsconfig.json
+++ b/web/tsconfig.json
@@ -3,9 +3,9 @@
   "compilerOptions": {
     "experimentalDecorators": true,
     /* outDir for IDE (overridden by Bazel rule arg) */
-    "outDir": "../../../.ts-out/plugins/code-owners/ui",
+    "outDir": "../../../.ts-out/plugins/code-owners/ui"
   },
   "include": [
-    "**/*",
-  ],
+    "**/*"
+  ]
 }
diff --git a/web/web_test_runner.sh b/web/web_test_runner.sh
new file mode 100755
index 0000000..b37e0d8
--- /dev/null
+++ b/web/web_test_runner.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+set -euo pipefail
+./$1 --config $2 \
+  --dir 'plugins/code-owners/web/_bazel_ts_out_tests' \
+  --test-files 'plugins/code-owners/web/_bazel_ts_out_tests/*_test.js' \
+  --type-config="plugins/code-owners/web/tsconfig.json"
