diff --git a/web/gui2-fw-lib/README.md b/web/gui2-fw-lib/README.md
index b14cd2d..ea3f9c9 100644
--- a/web/gui2-fw-lib/README.md
+++ b/web/gui2-fw-lib/README.md
@@ -23,3 +23,6 @@
 Run `bazel run @npm//:node_modules/@angular/cli/bin/ng generate component component-name --project=gui2-fw-lib`
 to generate a new component. You can also use
 `bazel run @npm//:node_modules/@angular/cli/bin/ng generate directive|pipe|service|class|guard|interface|enum|module`.
+
+## Running unit tests
+Run `bazel test //web/gui2-fw-lib:test-not-coverage` to execute the unit tests via [Karma](https://karma-runner.github.io).
diff --git a/web/gui2-topo-lib/README.md b/web/gui2-topo-lib/README.md
index fa96033..079617a 100644
--- a/web/gui2-topo-lib/README.md
+++ b/web/gui2-topo-lib/README.md
@@ -71,12 +71,4 @@
 
 ## Running unit tests
 
-Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
-
-## Running end-to-end tests
-
-Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
-
-## Further help
-
-To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
+Run `bazel test //web/gui2-topo-lib:test-not-coverage` to execute the unit tests via [Karma](https://karma-runner.github.io).
diff --git a/web/gui2-topo-lib/lib/topology.service.spec.ts b/web/gui2-topo-lib/lib/topology.service.spec.ts
index 8e19270..f5a7680 100644
--- a/web/gui2-topo-lib/lib/topology.service.spec.ts
+++ b/web/gui2-topo-lib/lib/topology.service.spec.ts
@@ -72,6 +72,6 @@
     });
 
     it('should be created', inject([TopologyService], (service: TopologyService) => {
-        expect(service).toBeFalsy();
+        expect(service).toBeTruthy();
     }));
 });
diff --git a/web/gui2/README.md b/web/gui2/README.md
index 2b9b7aa..e1cfd37 100644
--- a/web/gui2/README.md
+++ b/web/gui2/README.md
@@ -275,10 +275,22 @@
 and `gui2-topo-lib` as just other dependencies. 
 
 ## Running unit tests
-This is automatically done when using `bazel test //web/gui2:onos-gui2-ng-tests`
+This is automatically done when using:
+
+* for FW lib `bazel test //web/gui2-fw-lib:test-not-coverage`
+* for Topo lib `bazel test //web/gui2-topo-lib:test-not-coverage`
+
+> Note: these tests are **not** run by Jenkins, or when you do a unit test build with
+> the `ot` or `ob` alias locally. They have been omitted, as they required everyone
+> to have ChromeHeadless installed locally. Instead they **must** be run by GUI
+> developers before submitting GUI code.
+>
+> Currently there is no test for the main `gui2` project. They hve been temporarily
+> disabled because of Bazel-Karma issues. 
 
 ## Running checkstyle (lint)
 This is automatically done when using `bazel test //web/gui2:onos-gui2-ng-tests`
+> Temporarily disabled.
 
 ## Generating documentation
 To run it manually in Angular CLI run `npm run compodoc` to generate documentation
diff --git a/web/gui2/src/main/webapp/app/view/apps/appsdetails/appsdetails.component.spec.ts b/web/gui2/src/main/webapp/app/view/apps/appsdetails/appsdetails.component.spec.ts
index ed45a02..f348046 100644
--- a/web/gui2/src/main/webapp/app/view/apps/appsdetails/appsdetails.component.spec.ts
+++ b/web/gui2/src/main/webapp/app/view/apps/appsdetails/appsdetails.component.spec.ts
@@ -153,7 +153,7 @@
         const appDe: DebugElement = fixture.debugElement;
         const divDe = appDe.query(By.css('div.top-content div.right table.app-props'));
         const div: HTMLElement = divDe.nativeElement;
-        expect(div.textContent).toEqual('%app_id%:%state%:%category%:%version%:%origin%:%role%:');
+        expect(div.textContent).toEqual('%app_id%%state%%category%%version%%origin%%role%');
     });
 
     it('should have an a inside an div.app-url inside a div.top-content', () => {
diff --git a/web/gui2/src/main/webapp/app/view/port/portdetails/portdetails.component.spec.ts b/web/gui2/src/main/webapp/app/view/port/portdetails/portdetails.component.spec.ts
index 9cae299..32a50e92 100644
--- a/web/gui2/src/main/webapp/app/view/port/portdetails/portdetails.component.spec.ts
+++ b/web/gui2/src/main/webapp/app/view/port/portdetails/portdetails.component.spec.ts
@@ -120,6 +120,6 @@
         const portDe: DebugElement = fixture.debugElement;
         const divDe = portDe.query(By.css('div.top-content div.top-tables div.left'));
         const div: HTMLElement = divDe.nativeElement;
-        expect(div.textContent).toEqual('ID :Device :Type :Speed :Enabled :');
+        expect(div.textContent).toEqual('IDDeviceTypeSpeedEnabled');
     });
 });
diff --git a/web/gui2/src/main/webapp/karma.conf.js b/web/gui2/src/main/webapp/karma.conf.js
index 20c914f..44a02b5 100644
--- a/web/gui2/src/main/webapp/karma.conf.js
+++ b/web/gui2/src/main/webapp/karma.conf.js
@@ -45,13 +45,7 @@
         colors: true,
         logLevel: config.LOG_INFO,
         autoWatch: true,
-        customLaunchers: {
-            ChromeHeadlessNoSandbox: {
-                base: 'ChromeHeadless',
-                flags: ['--no-sandbox', '--disable-gpu', '--disable-dev-shm-usage']
-            }
-        },
-        browsers: ['ChromeHeadlessNoSandbox', 'Firefox'],
+        browsers: ['ChromeHeadless', 'FirefoxHeadless'],
         singleRun: false,
         restartOnFileChange: true
     });
