tuto – ruby – watir

C’est toujours compliqué de simplifier du code, donc je vais mettre ici des fragments de code, sans gestion d’erreurs notamment. Voici quelques exemples de code pour utiliser la librairie watir, qui permet de lancer un navigateur avec ruby. Ici je prends arbitrairement firefox car je tourne sous ubuntu et je n’ai donc pas IE. Ces lignes permettent de se connecter à un site de partage vidéo roumain (trilulilu), de se logger et de se délogger .. à vous de creuser pour l’upload de la vidéo.

 

les lib à inclure :

require 'uri'
require 'watir'
require 'watir-webdriver'
require 'watir-webdriver/wait'
require 'watir-webdriver/extensions/alerts'

 

on créée l’objet browser, on lui indique l’url où aller (login) , les champs à remplir (text_field) et on click le le bouton submit :

 @browser = Watir::Browser.new :firefox
 @browser.goto 'http://www.trilulilu.ro/login'
 @browser.text_field(:id, "login_username").set(@username)
 @browser.text_field(:id, "login_password").set(@password)
 @browser.button(:value,"Intra in cont!").click

 

hop on est loggé.. et si on veux se délogger :

 @browser.link(:text, "harrow").click
 @browser.link(:text, "Ie?ire cont").click

 

Plus d’infos sur watir ici => http://watir.com/

 

Dans l’exemple ci-dessus, on voit à l’écran un firefox s’ouvrir, mais il y a aussi la possibilité d’utiliser watir en headless sur un serveur distant auquel on accède par ssh, c’est à dire sans ouverture à l’écran du browser ( pour approfondir ce point vous pouvez vous référer au site http://watirwebdriver.com/headless/ )

 

Enfin, dernier point sur watir, il existe un add-on pour firefox qui permet de générer directement le code watir depuis le navigateur, en enregistrant votre action à la souris et au clavier. Il ne reste alors qu’à coller ce code dans votre code principal =>

http://testwisely.com/en/testwise/recorder