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
