getting started with watir
Watir est un acronyme pour «Web Application Testing In Ruby». Apprenez à installer et utiliser Watir pour créer et exécuter des cas de test avec des exemples de code:
Watir se prononce comme eau. C'est une collection open-source de bibliothèques Ruby. Comme il s'agit du test d'application Web dans Ruby, il utilise Ruby comme langage de script.
Ce que vous apprendrez:
- Installation de Watir
- Comment utiliser Watir: création et exécution de cas de test
- Exemples de Watir
- Attentes et touches spéciales
- Test de régression avec Watir
- Conclusion
- lecture recommandée
Installation de Watir
Il faut avoir des connaissances de base en HTML, programmation et Ruby pour utiliser Watir. Cependant, comme Ruby lui-même est facile à utiliser et à comprendre, l'apprendre et utiliser Watir n'est pas si difficile.
Installation de Watir pour Windows
Il y a de fortes chances que Ruby ne soit pas installé sur votre ordinateur. Pour vérifier cela, ouvrez l'invite de commande et tapez > ruby –v et appuyez sur 'Entrée' .
Fig 1: Si vous n'avez pas installé Ruby, vous obtiendrez le message suivant.
Si Ruby est installé, vous obtiendrez sa version avec cette commande. Vous pouvez cliquer ici pour télécharger la dernière version de Ruby. Sélectionnez la version appropriée, le site Web lui-même recommandera Ruby 2.4.X comme installeur x64 ou x86.
Fig 2: Lorsque vous cliquez sur cette version, vous obtiendrez la fenêtre suivante.
Fig 3: Cliquez sur le bouton Démarrer le téléchargement et vous verrez la fenêtre suivante.
Comme le processus de téléchargement est interrompu dans le but de prendre une capture d'écran, vous pouvez voir le 'Début' bouton, sinon, vous pourrez voir le 'Pause' bouton ici. Maintenant, allez à l'emplacement / dossier où votre fichier est téléchargé (ici, comme vous pouvez le voir sur la figure 2, l'emplacement est: C: Users Ojas Downloads Programs ).
Fig 4: Exécutez le fichier rubyinstaller-2.4.3-2-x64.exe.
Fig 5: Sélectionnez «J'accepte la licence» et cliquez sur «Suivant»:
Fig 6: Cliquez sur Installer puis sur Terminer.
L'écran ci-dessus demandera «Quels composants à installer?» Si vous n'êtes pas sûr, appuyez simplement sur la touche Entrée et le système installera les trois composants, c'est-à-dire Installation de base MSYS2, mise à jour du système MSYS2 et chaîne d'outils de développement MSYS2 et MINGW .
Les outils MSYS2 sont nécessaires pour compiler des gemmes rubis basées sur C. MSYS2 peut également être installé manuellement.
comment exécuter swf dans chrome
Fig 7: MSYS2 installé manuellement
L'installation de tous les composants prendra quelques minutes. Fermez simplement l'invite de commande et rouvrez-la. Tapez ensuite> ruby –v et appuyez sur la touche Entrée. Si vous obtenez le message suivant, cela signifie que Ruby est installé avec succès.
ruby 2.4.3p205 (révision 61247 du 14/12/2017) (x64-mingw32)
Le logiciel écrit en Ruby s'appelle Ruby Gems. Nous avons installé Ruby mais il est possible que nous n'ayons pas la dernière version de ces Ruby Gems. Par conséquent, nous devons d'abord vérifier cette version de gem en utilisant la commande> gem –v, ici nous avons la version 2.6.14.
Nous le mettrons à jour en utilisant la commande:
> mise à jour des gemmes - système
Une fois terminé, nous aurons le message - Mise à jour du logiciel système RubyGems .
Nous devons maintenant installer la gemme de pilote Web Selenium en utilisant la commande (> gem installe le pilote selenium-web –no-ri –no-rdoc).
Il sera installé et vous obtiendrez le message suivant:
Récupération: sélénium-web driver-3.11.0.gem (100%)
Pilote selenium-web-3.11.0 installé avec succès
1 gemme installée
** Si vous recevez un message sur le pare-feu Windows, fermez cette fenêtre.
Nous avons maintenant besoin de IEDriverServer. Cliquez sur ici pour télécharger IEDriverServer
Cliquez sur le premier lien, puis sélectionnez la version appropriée pour votre ordinateur, c'est-à-dire que le fichier Win32 ou X64.Zip sera téléchargé. Pour savoir où extraire ces fichiers, suivez les étapes ci-dessous:
Accédez à l'invite de commande.
Tapez> CHEMIN
Fig 8 : Le résultat suivant sera obtenu:
Nous allons extraire nos fichiers dans PATH C: Ruby24-x64 bin . Extrayez les fichiers dans le chemin de votre dossier Ruby. Tapez maintenant irb dans l'invite de commande et appuyez sur ENTRÉE. IRB signifie Interactive Ruby.
> nécessitent 'sélénium-webdriver'
Vous obtiendrez => vrai
> browser = Selenium :: WebDriver.for: internet_explorer
Votre navigateur IE s'ouvrira et vous verrez le message: 'Ceci est la page de démarrage initiale du serveur WebDriver' .
Pour ouvrir la page Web www.google.co.in dans le navigateur IE, saisissez la commande:
> navigateur. obtenir 'https://www.google.co.in/'
Le tableau suivant vous donnera une liste des pilotes des navigateurs respectifs et leurs liens de téléchargement. Suivez la même procédure pour les autres pilotes ainsi que celle expliquée pour IEDriverServer.
C ++ convertir char en chaîne
Nom du navigateur | Nom du conducteur | Lien de téléchargement | |
---|---|---|---|
:dégager | : f8 | :gauche | : pavé numérique7 |
Firefox | pilote gecko | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | chromé | http://chromedriver.storage.googleapis.com/index.html | |
Safari | - | Safari ne fonctionne pas pour Windows |
Installation de Watir:
- Accédez à l'invite de commande.
- Tapez commande> gem install watir
- Appuyez sur le bouton Entrée.
Watir sera installé. Vous pouvez maintenant commencer à utiliser Watir.
Installation de Watir Pour Mac
Pas:
- Installer Ruby
- Installation de la gemme Ruby
- Mise à jour de la gemme Ruby
- Installation de Selenium WebDriver
- Installation du pilote IE / du pilote Gecko / du pilote Chrome / du pilote safari
- Installation de Watir
Il n'est pas nécessaire d'installer Ruby sur Mac. Par conséquent, nous avons déjà couvert la première étape. Cela vous fera gagner beaucoup de temps. Nous allons vérifier la version de ruby avec la commande: $ rubis -v
Ici, nous l'avons comme - ruby 2.0.0p648 (révision 53162 du 16/12/2015) (universal.x86_64-darwin16)
Nous allons maintenant vérifier la version de ruby: gem $ gem -v
C'est ici - 2.0.14.1. Nous mettrons à jour nos gemmes rubis en utilisant la commande- $ sudo gem update —système. Nous installerons Selenium WebDriver à l'aide de la commande: $ sudo gem installe sélénium-webdriver —no-ri —no-rdoc
Il est possible d'obtenir l'erreur suivante lors de l'installation du pilote Web Selenium ou de la mise à jour du gem ruby.
Erreur :Le chargement sécurisé YAML n'est pas disponible. Veuillez mettre à jour le psych vers une version prenant en charge le chargement sécurisé (> = 2.0).
Pour résoudre cette erreur, nous devons mettre à jour notre Ruby. Pour mettre à jour Ruby, nous aurons d'abord besoin du gestionnaire de version de Ruby, vous pouvez l'obtenir en utilisant cette commande ($ curl -L https://get.rvm.io | bash -s stable) . Pour installer la dernière version de type Ruby ($ RVM installer ruby - (version)) . Redémarrez le terminal une fois que le rvm est complètement installé.
Nous devons maintenant définir cette dernière version comme nous voulons l'utiliser. Alors tapez ($ rvm use ruby-2.4.1). Pour définir cette version comme version par défaut, utilisez la commande suivante: ($ rvm —default use 2.4.1). Maintenant, mettez à nouveau à jour les gemmes rubis. Essayez d'installer selenium-webdriver. Si vous obtenez à nouveau une erreur, vous aurez peut-être besoin d'outils de développement en ligne de commande, donc installez-le en utilisant ($ git —version). Comme nous l'avons déjà fait, nous ne l'avons pas installé ici.
Pour installer le pilote chrome, nous avons besoin de homebrew ($ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”).
Installons le pilote Chrome. ($ brew install chromedriver).
Essayez ce code dans le terminal:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
Avec ce code, votre navigateur devrait s'ouvrir avec la page Web spécifiée. Nous allons maintenant installer Watir: ($ gem install water).
Nous avons terminé le processus d'installation. Vous pouvez maintenant commencer à écrire des scripts de test.
Comment utiliser Watir: création et exécution de cas de test
Vous pouvez écrire les scénarios de test ou les scripts dans le Bloc-notes. Enregistrez ce fichier avec l'extension .rb.
Exemple: Supposons que vous ayez créé un fichier test.rb. Pour exécuter ce script / programme, double-cliquez sur ce fichier ou suivez les étapes ci-dessous. Supposons que vous ayez enregistré ce fichier dans le lecteur C. L'adresse de ce fichier est «C Ruby_Programs».
>cd >cd Ruby_Programs >ruby test.rb
Appuyez sur le bouton ENTER. Pour éditer ce fichier, faites un clic droit sur ce fichier et sélectionnez l'option Ouvrir avec.
# 1) Exécution de cas de test en parallèle
Si vous avez écrit deux cas de test et les avez enregistrés sous test1.rb et test2.rb. Pour exécuter ces deux tests en parallèle, vous devez suivre ces étapes:
Fig.9: Accédez à l'invite de commande et tapez (> gem install parallel_tests). Vous verrez le message suivant.
Exécutez ensuite vos tests.
>parallel_test test1.rb test2.rb
# 2) Création d'une suite de tests
Si vous voulez que quelques tests s'exécutent fréquemment et que vous les ajoutez dans la suite de tests, voici le code pour cela.
Code:
require 'minitest/autorun' require 'C:/Ruby_Programs/test3' # This is the path of your test file which you want to include. require 'C:/Ruby_Programs/test4' # This is the path of your test file which you want to include.
Enregistrez ce fichier sous testSuite.rb et exécutez
C: Ruby_Programs> ruby testSuite.rb
Exemples de Watir
Exemple 1:
Comme il s'agit de notre premier programme, nous allons simplement ouvrir la page Web «Google.co.in» et cliquer sur le lien Gmail.
Code:
require 'watir' test_site = 'https://www.google.co.in/' browser = Watir::Browser.new:firefox browser.goto test_site browser.link(:href, 'https://mail.google.com/mail/?tab=wm').click puts “Test Executes” browser.close
Comprendre le code
# 1) require 'watir' # Ici, nous disons que nous aurons besoin de la bibliothèque Watir pour exécuter notre programme et elle sera chargée avec cette instruction.
# 2) test_site = 'https://www.google.co.in/' # Ici, nous déclarons la variable.
# 3) browser = Watir :: Browser.new: firefox # Ici, nous ouvrons le navigateur Firefox.
Watir :: Browser.new: internet_explorer # Pour Internet Explorer
Watir :: Browser.new: safari # Pour Safari
# 4) browser.goto test_site # Ou browser.goto «https://www.google.co.in/» La commande # goto est utilisée pour naviguer vers le site Web spécifié.
# 5) browser.link (: href, “https://mail.google.com/mail/?tab=wm').click # Ici, nous cliquons sur le lien Gmail. Le lien hypertexte est appelé lien dans le code et nous utilisons sa propriété «href» pour localiser ce lien hypertexte.
# 6) met «Test Executed» # Cette ligne écrira la chaîne «Test Executed» sur l'invite de commande.
# 7) browser.close # Cette ligne fermera le navigateur.
Si nous ne mentionnons pas les noms des navigateurs, nous n'écrirons que cette ligne dans notre code (Watir :: Browser.new), Watir ouvrira le navigateur Chrome car Chrome est le navigateur par défaut de Watir.
Exemple 2:
Dans cet exemple, nous allons ouvrir la page Web www.google.co.in. Ensuite, nous rechercherons le texte «Test manuel». Ensuite, nous reviendrons sur la page d'accueil et cliquons sur le lien «Gmail».
Code:
require 'watir' browser=Watir::Browser.new:firefox browser.goto 'https://www.google.co.in' if browser.title.include? 'Google' browser.text_field(:class, 'gsfi').set 'Manual Testing' browser.button(:name, 'btnK').click if browser.text.include? 'Manual Testing is a process of finding out the defects' puts 'Title of webpage '+ browser.title browser.img(:src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png').click browser.link(:class, 'gb_P').click else puts 'Wrong result found' end else puts 'Either you are on wrong page or page not found' end puts 'Now title of webpage '+ browser.title browser.close puts 'Test Executed Successfully'
Comprendre le code:
# 1) browser.goto https://www.google.co.in - Ici, nous naviguons vers le site Web spécifié.
# 2) si browser.title.include? 'Google' - Ici, nous vérifions le titre de la page Web pour savoir s'il est conforme ou non. Dans la partie autre de ce «Si», nous mettons cette déclaration «Soit vous êtes sur la mauvaise page, soit la page est introuvable». Cette instruction s'affichera sur l'invite de commande.
# 3) browser.text_field (: class, 'gsfi'). Set 'Manual Testing' - Ici, nous entrons le texte 'Manual Testing' dans la zone de texte de recherche.
# 4) browser.button (: name, 'btnK'). Click - Ici, nous cliquons sur le bouton 'Google Search'.
# 5) si browser.text.include? «Le test manuel est un processus de découverte des défauts» - Nous vérifions maintenant le texte sur la page Web pour vérifier si nous avons obtenu le bon résultat de recherche. Dans la partie «Sinon» de cette déclaration «Si», nous mettons la déclaration «Mauvais résultat trouvé».
# 6) met 'Titre de la page Web' + browser.title - Ici, nous affichons le titre de la page Web sur l'invite de commande.
# 7) browser.img (: src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png').click - Ici, nous cliquons sur l'image pour revenir à la page d'accueil.
# 8) browser.link (: class, 'gb_P'). Click - Ici, nous cliquons sur le lien Gmail.
# 9) met 'Maintenant le titre de la page Web' + browser.title - Maintenant, nous mettons à nouveau le titre de la page Web sur l'invite de commande. Cela devrait être le titre de la page Gmail.
# 10) browser.close - Ici, nous fermons le navigateur.
# 11) met «Test exécuté avec succès». Juste pour nous assurer que toutes les étapes sont correctement exécutées, nous mettons cette instruction sur l'invite de commande.
Exemple 3:
Dans cet exemple, nous allons essayer d'utiliser le maximum de commandes Watir, afin que vous compreniez comment les utiliser. Nous verrons également sa description avec le code.
Code avec commentaires:
require 'watir' browser=Watir::Browser.new:chrome browser.goto “http://watir.com/examples/forms_with_input_elements.html” #Here we will see how to insert data in text field. t1=browser.text_field id: 'new_user_first_name' t1.set 'Testing' t2=browser.text_field id: 'new_user_last_name' t2.set “testdata' #Here we will see how to select data from select list. sl=browser.select_list id: 'new_user_languages' sl.select 'English' sl.selected_options #Here we will see how to select radio button. rd=browser.radio value: 'no' rd.set chk=browser.checkbox value: 'cars' chk.set #Here we will see how to click button. btn=browser.button name: 'new_user_button_2' btn.click #This is an Explicit wait statement. This statement will make the program wait #until the particular event happens. Watir::Wait.until {browser.text.include? 'submit'} # Here I used this if statement because this is a test webpage and nothing is #happening after clicking the button. So just to show that button is clicked I used If #statement. if browser.text.include? 'submit' puts 'Data Submitted' else puts 'Data not yet submitted' end # This is an implicit wait statement. It will make your program to wait for 30 seconds compulsory. browser.driver.manage.timeouts.implicit_wait = 30 # You can send special keys to browser. There is a big list of these keys. browser.send_keys :page_up #Here we are taking the screenshot and saving it in a png file. browser.screenshot.save ‘screenshot1.png' browser.send_keys :page_down browser.screenshot.save ‘screenshot2.png' puts 'TestCase Executed' browser.close
Attentes et touches spéciales
Il existe deux types d'instructions d'attente prises en charge par Watir. Le premier est une attente explicite et le second est une attente implicite. Nous avons vu la syntaxe pour les deux dans le code ci-dessus, c'est-à-dire l'exemple 3.
comment sélectionner le bouton radio en sélénium
Clés spéciales prises en charge par Watir: Tout d'abord, nous verrons la syntaxe d'utilisation de ces clés spéciales.
- browser.send_keys: page_up #Nous l'avons utilisé dans notre code.
- browser.element.send_keys (: control, ‘c’),: annuler
- browser.element.click (: enter,: space)
Voici une liste des clés spéciales prises en charge par Watir:
:Entrer | : f1 | :contrôler | : pavé numérique0 |
:décalage | : f2 | :tout | :pavé numérique 1 |
:nul | : f3 | :pause | : pavé numérique2 |
:Annuler | : f4 | :s'échapper | : pavé numérique3 |
:aider | : f5 | :espacer | : pavé numérique4 |
: retour arrière | : f6 | :finir | : pavé numérique5 |
:languette | : f7 | :domicile | : pavé numérique6 |
:revenir | : f9 | :en haut | : pavé numérique8 |
:décalage à gauche | : f10 | :droit | : pavé numérique9 |
:contrôle gauche | : f11 | :vers le bas | :multiplier |
: page_up | : f12 | :insérer | :ajouter |
:bas de page | : méta | :effacer | :soustraire |
: arrow_left | :commander | :équivaut à | : diviser |
Test de régression avec Watir
Dans les tests de régression, nous vérifions si les modifications ont affecté la pièce inchangée ou non.
Pour cela, nous devons réexécuter nos cas de test précédents. Les tests de régression prendront du temps s'ils sont effectués manuellement. Watir est l'un des meilleurs outils de test de régression car l'écriture, la maintenance / la mise à jour et l'exécution des cas de test sont faciles.
Conclusion
Pour conclure, on peut dire que Watir est facile à apprendre l'outil. Il s'agit d'un outil open source, il est donc économique et facile à utiliser. Bien qu'il n'ait pas autant d'avantages par rapport à Selenium WebDriver, c'est un meilleur outil par rapport à de nombreux autres outils.
Il prend en charge la programmation, donc bien mieux que les autres outils d'enregistrement et de lecture. C'est en effet l'un des meilleurs outils de test de régression.
Avez-vous essayé l'outil Watir?
lecture recommandée
- 30+ meilleurs didacticiels sur le sélénium: apprenez le sélénium avec de vrais exemples
- Tutoriel ChromeDriver Selenium: Tests Selenium Webdriver sur Chrome
- 180+ exemples de tests d'application Web (exemple de liste de contrôle)
- Top 30+ des outils de test d'applications Web en 2021 (liste complète)
- Guide complet de test des applications Web (Comment tester un site Web)
- Top 10 des outils de test de régression les plus populaires en 2021
- Qu'est-ce que le test de régression? Définition, outils, méthode et exemple
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)