New Firefox extension for Robot Framework/Selenium.

1,035 views
Skip to first unread message

João Carloto

unread,
Aug 31, 2014, 3:30:33 PM8/31/14
to robotframe...@googlegroups.com
Hi, I've been developing a Firefox extension to build Robot Framework/Selenium tests more efficiently.

The project page can be found here.

There's a YouTube demo video here.

Comments and suggestions are welcome.

Carloto

Petri

unread,
Sep 1, 2014, 8:47:34 AM9/1/14
to robotframe...@googlegroups.com
Hi, something like this I have been looking for.
Thanks! I will try it.

Pekka Klärck

unread,
Sep 2, 2014, 9:21:36 AM9/2/14
to joao.m....@gmail.com, robotframework-users
2014-08-31 22:30 GMT+03:00 João Carloto <joao.m....@gmail.com>:
> Hi, I've been developing a Firefox extension to build Robot
> Framework/Selenium tests more efficiently.

FireRobot sure looks interesting! I watched the video and was
impressed about features such as automatically extracting variables
from the web page.

As you mentioned at the end of the video, record and replay alone
isn't a good base for large scale automation because tests you get are
too low level and there's no modularity. Have you considered adding
features to extract higher level keywords from the recorded script or
is that something that should be done externally? It would be _really_
cool if the tool would know what higher level keywords you have
available, and could automatically use them somehow. This would
probably be pretty complicated to implement, though.

Do you consider FireRobot mature enough to be added to
http://robotframework.org? Would it belong under Tools/Editor or
Tools/Other?

Cheers,
.peke
--
Agile Tester/Developer/Consultant :: http://eliga.fi
Lead Developer of Robot Framework :: http://robotframework.org

João Carloto

unread,
Sep 2, 2014, 3:25:00 PM9/2/14
to robotframe...@googlegroups.com, joao.m....@gmail.com

FireRobot sure looks interesting! I watched the video and was
impressed about features such as automatically extracting variables
from the web page.

Hi, thanks.
At this point it's only creating variables bases on text boxes/fields.
I already have some code to also create variables based on select components, but it's currently commented.
I was in doubt if it would really be useful, but now I'm inclined to include it.
 

As you mentioned at the end of the video, record and replay alone
isn't a good base for large scale automation because tests you get are
too low level and there's no modularity. Have you considered adding
features to extract higher level keywords from the recorded script or
is that something that should be done externally? It would be _really_
cool if the tool would know what higher level keywords you have
available, and could automatically use them somehow. This would
probably be pretty complicated to implement, though.

Currently we can only include resource files manually and add the included keywords also manually.

A couple of features could be developed:

Feature A:
1. Highlight/select part of the generated test script.
2. Click somewhere to create a new keyword based on the selected steps.
3. Add/confirm the new keyword name and it's eventual variables.
4. Select the .txt file to add the new keyword.
5. The new keyword is added to the end of the file.
6. The file is automatically added to the *Settings* section on FireRobot.
7. The test steps, on FireRobot, are replaced by the keyword.

Feature B:
1. Click somewhere to select a resource file and automatically add it's path to the *Resources* section.
2. Every time we add steps to the script, FireRobot would check if part of the script corresponds exactly to some existing keyword and automatically replace the steps  (if such option is enabled).

The second feature would probably more difficult to implement, less reliable and possibly on the heavy side in terms of processing. But it's worth looking into it.

Also note that currently FireRobot does not include a concept of "Project". The resource files would be placed somewhere in user machine and referenced with a full path.
 
I can't give an estimate to implement this, but will open a couple of enhancement issues on GitHub. 
 

Do you consider FireRobot mature enough to be added to
http://robotframework.org?

I'd say yes. It's good enough to be useful. I'm honored.
 
Would it belong under Tools/Editor or
Tools/Other?

Mmmm... I'll go with Tools/Editor.    

Cheers.
  carloto
Message has been deleted

João Carloto

unread,
Sep 3, 2014, 9:38:43 AM9/3/14
to robotframe...@googlegroups.com, joao.m....@gmail.com
Hi, again

There seems to be some incompatibility with Firefox 32 (officially released yesterday) and the java selenium library used to run the tests.
This is a known issue reported in https://code.google.com/p/selenium/issues/detail?id=7642#makechanges.
It's supposed to be fixed on release 2.43 (don't know when it will be available).
It would be better not include this on robotframework.org for now.
I guess this in one of those "Murphy Law" situations.

Tatu Aalto

unread,
Sep 3, 2014, 2:05:20 PM9/3/14
to joao.m....@gmail.com, robotframe...@googlegroups.com
Ugh

It is quite common that browser update breaks the selenium comparability (I do not let browsers update automatically, in my work environment). Therefore, in my opinion, this is not show stopper.

And good work with the extension, when I found some time, I need to give it try.

-Tatu
--
You received this message because you are subscribed to the Google Groups "robotframework-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to robotframework-u...@googlegroups.com.
To post to this group, send email to robotframe...@googlegroups.com.
Visit this group at http://groups.google.com/group/robotframework-users.
For more options, visit https://groups.google.com/d/optout.

Pekka Klärck

unread,
Sep 3, 2014, 6:58:31 PM9/3/14
to Tatu Aalto, João Carloto, robotframework-users
> Ugh
>
> It is quite common that browser update breaks the selenium comparability (I
> do not let browsers update automatically, in my work environment).
> Therefore, in my opinion, this is not show stopper.

I agree this is kind of "business as usual" with Selenium, but I also
agree with João that it's better to wait until this issue is fixed
somehow before adding the extension to robotframework.org. The
extension not working with the latest Firefox version would give a
pretty bad first expression.

> And good work with the extension, when I found some time, I need to give it
> try.

It would be interesting to hear feedback also from other users. I'm
personally always somewhat suspicious about capture and replay as a
test automation approach, but I've also had similar feelings about
image comparison and Sikuli has shown that it can be done well too.
Some kind of features to automate or to at least ease rising the
abstraction level are needed before c'n'r really can work in large
scale automation, though. In that usage both maintenance and being
able to create your own domain specific language are of utmost
importance.

Ergo Saar

unread,
Sep 4, 2014, 11:35:34 AM9/4/14
to robotframe...@googlegroups.com

 please  add .robot file extension to your plugin. At the moment it supports only .txt and .text but since .robot is the new official robotframework file extension then it would be nice to have it there. 

João Carloto

unread,
Sep 4, 2014, 6:58:42 PM9/4/14
to robotframe...@googlegroups.com
On Thursday, September 4, 2014 4:35:34 PM UTC+1, Ergo Saar wrote:

 please  add .robot file extension to your plugin. At the moment it supports only .txt and .text but since .robot is the new official robotframework file extension then it would be nice to have it there. 

Hi, thanks for the suggestion.
Addedd enhancement issue: https://github.com/joao-carloto/FireRobot/issues/26
 

João Carloto

unread,
Sep 7, 2014, 7:03:38 AM9/7/14
to robotframe...@googlegroups.com
The latest relase (1.0.5) now supports open/save with the .robot extension. In Windows, .txt  is still default (I though it would make it easier on RF newcomers).

João Carloto

unread,
Sep 28, 2014, 12:09:38 PM9/28/14
to robotframe...@googlegroups.com, aalto...@gmail.com, joao.m....@gmail.com


Added a new "Extract Keyword" feature. Similar to what exists on RIDE.
Demo video: https://www.youtube.com/watch?v=-yNYXSyOCKg
Latest release: https://github.com/joao-carloto/FireRobot/releases/tag/v1.0.7

However, there's still no fix available for the Firefox 32 issue.

sandeep s

unread,
Sep 29, 2014, 3:11:08 AM9/29/14
to joao.m....@gmail.com, robotframework-users, aalto...@gmail.com
First of all, Amazing Work Joao… We been working to get the something similar feature as a Web Implementation . You made our life much pretty easier.. One quick doubt wanted to ask as i saw from the recording..

1. We have huge amount of Python Libraries built apart from the standard libraries , i didn't see how or where can we load up those libraries and give them as Ride supported Keyword drop downs , The matter of fact for the ask is , we don't use Ride for our development as whole client is BSD based and Vim is the source of editor. So we live with reading documentation and adding it :(


Thanks,
Sandeep


--

João Carloto

unread,
Sep 29, 2014, 3:36:16 PM9/29/14
to robotframe...@googlegroups.com, joao.m....@gmail.com, aalto...@gmail.com


On Monday, September 29, 2014 8:11:08 AM UTC+1, Sandi wrote:
First of all, Amazing Work Joao… We been working to get the something similar feature as a Web Implementation . You made our life much pretty easier.. One quick doubt wanted to ask as i saw from the recording..

1. We have huge amount of Python Libraries built apart from the standard libraries , i didn't see how or where can we load up those libraries and give them as Ride supported Keyword drop downs , The matter of fact for the ask is , we don't use Ride for our development as whole client is BSD based and Vim is the source of editor. So we live with reading documentation and adding it :(


Thanks,
Sandeep

Hi Sandeep, thanks for the feedback.

I've planed to include the ability to add additional libraries. However, in a first instance these would be in JAVA and not Python. Technically, and considering what is now implemented, JAVA would be fairly straightforward. Regarding Python libraries, I don't know at this point if that would be feasible, or the amount of effort involved.
Regarding auto-complete and/or additional keyword drop-downs, that would be nice, but at this point I'd prefer to focus in the aspects that make this application different (the browser integration) and not so much trying to make it a full-fledged IDE.
Reply all
Reply to author
Forward
0 new messages