Browser supports Python 3.8+, Node 14/16 LTS and **Robot Framework 5.0.1+** ⚠️ . Library was tested with Playwright 1.29.2
Most important enhancements
- 🔌 Python & JavaScript Plugins can now be used together. See [Plugin Documentation](https://github.com/MarketSquare/robotframework-browser/blob/main/docs/plugins/README.md) for more information and examples.
- Calling "New Page" fails after creating the context using "New Persistent Context" with recordVideo argument (https://github.com/MarketSquare/robotframework-browser/issues/2214)
- New Context with recordVideo without size does not default to viewport. (https://github.com/MarketSquare/robotframework-browser/issues/2530)
- Value of variable `'{attributes}'` is not list or list-like. (https://github.com/MarketSquare/robotframework-browser/issues/2513)
- "New Context" and "New Persistent Context" keywords should always return a Path-object with full video path in recordVideo dictionary (https://github.com/MarketSquare/robotframework-browser/issues/2215)
- Reimports of Browser library cleans ${OUTPUT_DIR}/browser during the same robot run (https://github.com/MarketSquare/robotframework-browser/issues/2522)
- Remove support for direct value assignment for Type/Fill Secret (https://github.com/MarketSquare/robotframework-browser/issues/2523)
- Keyword "Fill Secret": Too tight/incomplete coupling with CryptoLibrary (https://github.com/MarketSquare/robotframework-browser/issues/2536)
- Topic/fixes & removed deprecations (https://github.com/MarketSquare/robotframework-browser/issues/2524)
⚠️ Backwards incompatible changes
Return values of some keyword are not always list.
(https://github.com/MarketSquare/robotframework-browser/issues/2513)
The keyword Get Attribute Names, Get Classes and Get Selected Options did return lists except if there was only one value to return, then it was the single value. This was inconsistent and now all of them return lists even if there is nothing to return. In this case it would be an empty list.
New Context and Video Recording
The deprecated arguments videoSize and videosPath are now removed.
The docs of New Context mentioned that if no size in recordVideo argument was given, it would record in the viewports dimensions. That was not working correctly, which is now fixed. (2530)
Also is the path value of recordVideo was behaving inconsistent. It is now always relative to ${OUTPUT_DIR}/browser/video except if it is an absolute path. Also empty strings can be used as path attribute.
New Persistent Context
The New Persistent Context keyword does actially opens a new browser, a new context and a new page. It howevery only returned the contextID of the currently opened context. The Id of the browser or page could only be fetched from the browser catalog. This has changed and New Persistent Context now returns nowthe browserID, contextID and dictionary of NewPageDetails as well. NewPageDetails is a dictionary with the keys 'page_id': <str> and 'video_path': <str>.
Removed deprecated Keywords
Get Element State & Execute Javascript were deprecated some time ago and now removed. (https://github.com/MarketSquare/robotframework-browser/issues/2524)
Secret handling and direct value assignment
Fill Secret, Type Secret do not log the secret value given. They deprecated the assignment of variables or values a while ago. Now the direct assignment is removed. (https://github.com/MarketSquare/robotframework-browser/issues/2523)
They only accept variables in the form of {variable} now!
Also the password attribute of httpCredentials needs to be in this special variable syntax now.
All three do also support cipher decryption of CryptoLibrary, if it is installed and imported. (https://github.com/MarketSquare/robotframework-browser/issues/2536)