MarketSquare / MarketSquare/robotframework-browser

Add `version` field to browser entries in `Get Browser Catalog`

Open
#5,103 0 comments 0 reactions 1 assignee View on GitHub

@Snooz82 is already working on this.

Since Aug 6, 2026.

enhancement
Dominant language
Python
Stars
655
Forks
147
Avg merge
5h 27m
Merged PRs (30d)
59

Description

## Use case

`Get Browser Catalog` lists all open browsers with their contexts and pages, but does not report the **browser version**. When debugging CI runs ("which Chromium build actually ran this?") or when a suite must assert the channel/build under test (e.g. a specific stable Chrome version in a grid setup), users currently have no keyword-level way to read the version — the information exists only in Playwright's internal `Browser` object. There is no workaround short of shelling out to the browser executable.

## Proposed keyword / arguments

No new keyword and no signature change — each browser entry in the catalog returned by `Get Browser Catalog` gains a key:

- `version` — the browser version string as reported by Playwright, e.g. `131.0.6778.33`

```robotframework
*** Test Cases ***
Log And Assert Browser Version
New Browser chromium
New Page ${TEST_APP_URL}
${catalog}= Get Browser Catalog
Log Running on ${catalog[0].type} ${catalog[0].version}
Should Start With ${catalog[0].version} 131.
```

The existing assertion-engine arguments of `Get Browser Catalog` can naturally target the new field as well.

## Playwright API

[`browser.version`](https://playwright.dev/docs/api/class-browser#browser-version) — the data is already available on the `Browser` object at launch/connect time.

## Implementation notes

- `node/playwright-wrapper/playwright-state.ts`: include `browser.version()` when serializing each browser entry for the catalog response. No proto changes expected — the catalog already travels as JSON.
- `Browser/keywords` (`get_browser_catalog`): document the new field in the catalog structure description (docs show an example catalog dict).
- atest: extend the existing catalog test to check the field is present and non-empty.

## Backwards compatibility

Fully additive: browser entries only gain a `version` key; no keys are removed or renamed, and the keyword signature is unchanged.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.