MarketSquare / MarketSquare/robotframework-browser
Add `version` field to browser entries in `Get Browser Catalog`
@Snooz82 is already working on this.
Since Aug 6, 2026.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.