Releases: MarketSquare/robotframework-browser
v0.12.0
New keywords:
- Cookies
- Get Cookies, Add Cookie, Delete All Cookies
- Wait For Download
- Upload File
- Get BoundingBox to get element coordinates and size
Improvements: - Autoclosing of contexts / pages / browsers in the context they are opened
- A toggle
- Page and Context id's are stable when pages and contexts get closed
- More examples in README
Reverted changes:
rfbrowser init
is back because automatically setting up node dependencies at import time had many problems.
v0.11.0
New keywords:
Get Elements
gets list of elements matchingselector
and returns them as a list of elementhandle UUIDs. These can be used for iteration with other keywords.
Other enchancements:
Wait For Function
andExecute JavaScript
now accept our playwright selectors and our elementhandles as arguments to pass to the function executed on browser page. See examples- No longer need to separately run
rfbrowser init
. Dependencies are downloaded at library import if they don't exist on file system yet - Bugfix and test improvement for
Highlight Elements
- Functionality that was in
rfbrowser init
is now automatically done at library import time.
v0.10.0
v0.9.0
New keywords:
- http
- executes fetch with page.evaluate
- support all common HTTP methods, GET, POST, PUT, PATCH, DELETE and HEAD
- if request body can be converted to JSON, it will automatically add content-type header
- if response body can be converted to JSON, it will be returned as a Python dict.
- Get Style (supports assertions)
- Get Element (returns an element handle that can be used as a selector)
Other improvements:
- Renamed Create _ keywords to New _
- Improved python use (added script to generate static type stubs
v0.8.0
New keywords:
- Set Viewport Size and Get Viewport Size
Switch Browser
,Switch Context
, renamedSwitch Active Page
toSwitch Page
Get Browser Catalog
to list all open browsers, contexts and pagesClose All Browsers
Improvements:
Create Browser
andCreate Context
have options in type signature and parse them correctly- We're looking into hiding optional parameters from LSP autocompletion but it might take some time
- Better activation of new browsers / contexts pages when using
Switch Browser
/Switch Context
- More stable Browser aliases when closing Browsers
v0.7.1
v0.7.0
New keywords:
New Browser
,New Context
andNew Page
to create playwright objects representing multiple browser instances, browser profiles (contexts) or tabs (pages)Switch Context
andSwitch Page
to switch between open pagesSwitch Browser
has been added but is unreliable and not recommended for use yet
Get Element Count
- gets amount of elements matchingselector
and supports assertion syntax
Other features:
- >>> selector syntax for piercing frames
- Better error messages
v0.6.0
New keywords:
- Select Options and Deselect Options (Keywords to manipulate <select> element options)
- Wait For Elements State
- Execute Javascript On Page
- Get Page State
The two latter keywords were created to help with frontend JS integration. We will be adding more syntactic sugar and documentation in the near future.
v0.5.0
New Features:
-
Split keywords between
Type Text
AndFill Text
. Type text inputs single keypress events (including keyup / keydowns). Fill inputs the text in a single events, like pasting it would. -
Press Keys
keyword to input series of keypresses (supports Keycodes like ArrowLeft or BackSpace) -
Clear Text
keyword that clears a textfield -
Focus
keyword to focus an element -
Click With Options
keyword to click with different mouse keys and passing other options. See keyword docs for more details. -
Add Style Tag
keyword to manipulate page CSS -
Go Back
andGo Forward
keywords to use browser's back and forward features -
Set Timeout
and setting of timeout at library import time. This affects mostly input and getter keywords -
Option to pass
assertion_operator
andassertion_expected
as parameters to getter keywords to execute assertion- Deleted older
Text Should Be
style keywords in favor ofGet Text equals content
syntax
- Deleted older
-
Option to disable headlessness through
headless
argument to keywordOpen Browser
(defaults to false)