Moving Robot Framework browser automation to 2020 (or 2021)

Currently the most popular Robot Framework browser automation solution is Selenium and SeleniumLibrary. Together we want to change this.
Selenium as a tool has been around since 2004. A lot of other browser automation solutions have come after that for example Cypress, Puppeteer and now a recent addition Playwright.
New tools have shown to be faster and more reliable with additional capabilities.
This means faster and more reliable test cases and RPA tasks that can also do new things. Me and Tatu Aalto have now done a technical concept level project that integrates Playwright with Robot Framework. The project is available at the Robot Framework community driven MarketSquare repository https://github.com/MarketSquare/robotframework-playwright . To deliver a fully working solution for the Robot Framework community during autumn 2020, we would like to invite everyone to contribute to this effort.

Best regards,
Mikko Korpela - PSD to CSS converter
Tatu Aalto - Lead developer of SeleniumLibrary
Ismo Aro - behalf of Robot Framework Foundation
Antti Karjalainen - on behalf of Robocorp who is committed to participate in funding the project

17 Likes

Nice development! I will follow this and see if i can contribute :sunglasses:

2 Likes

Thanks, @mkorpela, this is a great initiative!

I hope that we get as many Foundation member companies supporting this as possible. Having a modern library for browser automation with Robot Framework is a big step in the right direction for the whole community, and I think it makes a lot of sense to have this under the MarketSquare organization.

As mentioned, Robocorp is committed to supporting the project and we are looking forward to collaborating on this!

1 Like

Awesome!
Many of these JS based tools are great but they lack the ability to integrate with other environment and capabilities.

This could be a huge advantage for Robotframework over other testing tools!

1 Like

But why? What can be achieved by Playwright that cannot be done with Selenium + CDP?

1 Like

That is what we are about to find out when :robot: + :performing_arts:

2 Likes

Selenium has a lot of overhead because of the selenium web-driver.
JS based tools such as PW has an advantage because they are being executed by the browser it self so that they are fully aware of http requests and loading of web elements.

It makes tests more resilient and reliable and makes the investigation of failures easier.

1 Like

What is CDP? A shiny new toy?

Also, I believe the description for this forum should be ‘playwright’, not playwrite no?

1 Like

Good catch. Asked to change it.

Well, it is not to replace, but to give more options. We are learning this as we go and lets see how it goes.

1 Like

CDP - Chrome DevTools Protocol

First demo version is out

3 Likes

The release 0.2.2 is out: https://pypi.org/project/robotframework-browser/ There are more keywords: https://marketsquare.github.io/robotframework-browser/Browser.html and the installation is improved: https://github.com/MarketSquare/robotframework-browser#installation-instructions

We are looking users to try out the library and provide feedback. Please be brave and try it out. Remember that you do not have to integrate in your daily work flow to provide feedback (Although we are delighted if that happens to work), instead we are hoping you to try it out for few hours and see how it looks like. Was installation easy and successful, did the keywords work, what is missing what is working well?

2 Likes

Release 0.2.2 promovideo

2 Likes

Awesome, Let me try and give some feedback…

2 Likes

Release 0.5.0 with a demo in the video!

5 Likes

There is new version out: 0.7.1

2 Likes

Really good work guys. We’ve been using Selenium for just a long time so any .js based framework is appreciated. We’ll help you with testing.

One question: why did you choose Playwright instead of Cypress? Are there any technical difficulties with connecting robot-framework with Cypress or you just grabbed any available .js framework?

1 Like

great start guys! This is very helpful for the community since most of the web apps now are built using React.

1 Like