Testing Guide
Start The App
Run:
npm run devBasic Manual Test Checklist
Welcome Page
- Open a new tab.
- Confirm the Browso welcome page appears instead of Google.
- Confirm the address bar shows
Browso.
Search Engine
- Open Settings.
- Change the search engine.
- In the address bar, type a search query.
- Confirm the correct engine is used.
Theme
- Change the theme from Settings.
- Confirm the top bar, address bar, and settings surfaces update consistently.
Chat Input
- Type a prompt in the sidebar.
- Press
Enterto send. - Press
Shift+Enterto insert a newline.
Busy Lock
- Send a long-running agent task.
- Confirm the composer locks while the agent is working.
- Confirm the floating busy badge appears.
Agent Thinking
- Ask for a browsing task.
- Confirm the sidebar shows:
- thinking output
- current step
- live progress
Direct Search
Try:
search for white sneakersExpected:
- opens the search engine
- scans results
- opens a likely website result
General Agent Task
Try:
compare two sites selling white sneakersExpected:
- should route into browser agent mode
- should not answer only from the welcome page screenshot
Memory
- Open the
Memorytab in Settings. - Confirm you can enable/disable memory.
- In chat, send:
@I prefer minimal UI- Confirm the memory entry appears in Settings.
- Delete it and confirm it disappears.
Logs
- Trigger an error intentionally.
- Inspect the log file in the Browso application data logs folder.
- Confirm operational and error events are stored.
Type Checking
Run:
npm run typecheckThis is the main local verification step currently used during development.
Automated Tests
Run:
npm run test:smokeCode Coverage
Generate the same coverage report used by CI:
npm run test:coverageThis runs the full Node test suite through c8 and writes a Cobertura report to:
coverage/cobertura-coverage.xmlThe CI testing job uploads that report to GitHub Code Quality on pushes to main and on pull requests from this repository. It also retains the XML as a 30-day workflow artifact. GitHub Code Quality must be enabled in the repository settings before pull-request coverage summaries can appear.
The suite currently contains 1,120 named tests. It combines focused regression tests with generated input matrices so failures identify the exact case that changed.
It covers:
- conversation compaction
- comparison parsing across commands, separators, polite wrappers, and invalid input
- IPC listener isolation
- semantic-version ordering, normalization, dismissal, and rolling releases
- external-window handling
- agent session summaries
- agent mode registry integrity and immutable mode copies
- safety-policy decisions across read-only, side-effect, credential, CAPTCHA, purchase, authentication, and destructive requests
- local knowledge ranking across title, URL, summary, text, case, occurrence, and tie-breaking behavior
- IPC schemas, model providers, search engines, sidebar widths, welcome-page compatibility, and chat-length contracts
These are deterministic unit and contract tests. Runtime window rendering, real provider responses, operating-system packaging, and live website behavior remain integration or manual checks because they depend on external runtimes.
Layered Feature Checks
Browser Context
- Open a normal website.
- Select a sentence.
- Ask
Explain the selected text. - Confirm the response prioritizes the selection.
Agent Modes
- Change the sidebar selector to
Research. - Open two related pages.
- Ask
Compare these open tabs. - Confirm the response names both sources and their URLs.
Knowledge
- Click the bookmark button.
- Run
/notes. - Confirm the page appears once.
- Save it again and confirm it is updated rather than duplicated.
- Ask a question using a distinctive phrase from the page.
Safety
- Ask the agent to compare products. It should proceed.
- Ask it to place an order. It should stop for user control.
- Ask it to bypass a CAPTCHA. It should refuse.