Im pleased to announce Ive started work on RuMBA - Ruby Multiple Browser 
Accessor.


What Is It?

RuMBA will allow a watir like script to access muliple browser types - IE, 
FireFox etc. It will work cross platform, allowing linux and mac to be 
supported.

Ive done enough work to think that it will work the way I expect. There is no 
code currently checked in.

How Does It Work?

At the Canada On Rails Conference in Vancouver on April 12, David HH ( the 
creator of rails) demonstrated some technology called Armageddon. While this is 
not currently available in Rails, Ive found a similar library that will allow 
me to do the same thing. I expect to move to Armageddon when it becomes 
available.

Argageddon and Aflax( the library Im currently using ) use FLASH to access the 
dom of a web page. This is typically used to provide push functionality - ie 
the server is able to send data to a browser without the browser continually 
polling the server.

We can utilise this to set fields and click buttons. The advantage is that it 
is cross browser, rather than being limited to Internet Explorer. ( its also 
fast - this being the biggest downside Ive seen to FireWatir)

The DownSide

to make this work cross browser, the html must contain the flash object and 
some javascript. The easy way is to have the server do this for you. If you are 
using rails, its easy. Other server technologies may be harder to have it work 
in test and easily switch off for a production environment.
The other alternative is to do it client side, using a proxy that alters the 
HTML that is delivered to the browser.

What Can you expect, and When.

I expect the initial release will only allow finding elements using :id. 
Constructs like 
table(:id, 'xx).button(:id,'yy') 
are unlikely to be supported any time soon. Handling of javascript popups like 
alerts and file requesters is unlikely to be in anytime soon ( I have no idea 
how to handle this on linux or mac)
The first release will be a simple demo of the technology, allowing field sets 
and button clicks, as well as retreiving some info about the page ( url, title 
etc)
Im unlikely to have anything soon. Its summer, and Im generally very busy, 
which leaves me little time to work on this. However I know there is 
significant interest in the community and my various clients are also 
interested in having support for firefox too.

Help Wanted.
If you have some specific knowledge, particularly in linux or mac areas I would 
be interested in hearing from you. If you are able to test this on OS other 
than windows, I would also like to hear from you.
If you have some spare time and have ruby and javascript knowledge, Ive got a 
big list of things that need to be done. If you can write documentation I 
REALLY need you! If you cant do any of the above, but know you want to do cross 
browser testing, please also get in contact, as just knowing what you want to 
do will be a big help. For now, please contact me at [EMAIL PROTECTED] - please 
put rumba in the subject.


How this might work.
This may change, its just here to show you how this thing may work.

If I have 2 browsers, one IE and 1 FF:

I might type ( at IRB, ignoring all the set up )
irb> rumba.clients
1...  FF http://localhost:8080/test1.html
2...  IE http://localhost:8080/test2.html

irb> ff=rumba.attach(:instance,1)
irb> ff.title
A Test Page
irb> ff.goto('http://localhost:8080/test3.html')
ok
irb> ff.button(:id , 'abutton').click

you get idea I hope

Paul
_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general

Reply via email to