Geautomatiseerde Web Testing in Ruby met Watir-Webdriver (4 / 7 stap)

Stap 4: Doorlopen van meerdere HTML-objecten


Tot nu toe we hebben zijn interactie met afzonderlijke objecten door ze direct te roepen binnen onze code, maar dit is zeer inefficiënt aangezien de meeste webtoepassingen veel divs, formulieren, knoppen, selectievakjes en dergelijke op een enkele pagina hebben. Er is niets mis met het doen van acties op elk HTML-object, maar u zal besteden veel tijd bewerken van uw code.

Bijvoorbeeld als een website heeft 100 selectievakjes uit en klik op alle van hen die u wenst dat u zou moeten 100 coderegels te doen als volgt u de vorige methode. Hoewel Watir-Webdriver heeft gebouwd in technologieën om te helpen steun ons daarbij zo snel en eenvoudig mogelijk.

Voor het grootste deel maken de meervoudsvorm van het object dat je wil te werken op zal een collectie van alle HTML-objecten die overeenkomen met retourneren. Een collectie is gewoon een groepering van de objecten die u kunt dan doorlopen en interactie met de mogelijkheid voor een beknoptere minder coderegels. Samen met deze collecties, moet u wellicht te gebruiken regex om te Watir-Webdriver vertellen wat je wilt binnen deze collectie.

Terug naar onze 100 selectievakjes bijvoorbeeld kunt zeggen dat ze allemaal de ID 'checkbox-X hebben' waarbij X de numerieke waarde van het selectievakje is. Als we Watir-Webdriver om te zoeken naar een specifieke checkbox ex vertellen: "checkbox-10" dat is de enige checkbox die zal worden toegevoegd aan de lijst. Om op te lossen dit we eenvoudige regex kunnen gebruiken om het maken van een "wild card" match voor alle selectievakjes die wij willen verzamelen.

 checkboxes = browser.checkboxes(:id => /checkbox-/) checkboxes.each do |checkbox| checkbox.set end 

In dit voorbeeld gemaakt we een nieuwe variabele met de naam selectievakjes om te houden van onze collectie en we de meervoudsvorm van checkbox (checkboxes) gebruikt om te vertellen van de Watir-Webdriver geven ons alle selectievakjes die overeenkomen met onze ID-naam die wij hebben geleverd. De ID-naam is een regex-wedstrijd, die in wezen zegt "als de id van een checkbox bevat 'checkbox-' dan toe te voegen aan de lijst". Daarna wij (lus) doorlopen in onze keuzes en elkaar op true (klik erop).

Zoals u kunt zien hebben we gewoon afgeslankte 100 lijnen van code te klikken op 100 selectievakjes in 4 lijnen van code die dezelfde taak doet. Dit kan worden toegepast op bijna elk HTML-object dat als een enkelvoud vormen dergelijke als knop, radio, checkbox, li, div, text_field en vele anderen.

Gerelateerde Artikelen

Web Driver IO Tutorial met behulp van een Live website en voorbeelden werken

Web Driver IO Tutorial met behulp van een Live website en voorbeelden werken

Web Driver IO Tutorial met behulp van een Live website en voorbeelden werkenLaatste Update: 07/26/2015(Sortie weerom vaak als ik deze instructables met meer details en voorbeelden update)AchtergrondIk had onlangs een interessante uitdaging voor mij.
Hoe maak je emmer tuinieren met Water level Indicator

Hoe maak je emmer tuinieren met Water level Indicator

Emmer tuinieren isvery geschikt voor planten als er geen vrij land.Bespaar water, en gemakkelijk te verplaatsen. De waterniveau-indicator is zeer nuttig, zodat u niet nogmaals vergeten voor de planten water geven. U kunt maken met behulp van die alle
Hergebruik van dingen van thuis om een midgetgolfbaan (met water ballonnen en rivier)

Hergebruik van dingen van thuis om een midgetgolfbaan (met water ballonnen en rivier)

ik vond onze oude golfen set thuis en vroeg me af als er manier om te maken van een golfbaan was van wat ik al had thuis... en hier is het!hoop u geniet ervan, en vergeet niet, u kunt toevoegen of verwijderen van alles wat je wilt... Wees creatief!en
How to Build een simpel en Basic dubbele tomaat Container met Water iedere

How to Build een simpel en Basic dubbele tomaat Container met Water iedere

Wow! Een heleboel woorden te zeggen twee vijf gallon verf Emmers samengesteld zodat u een back-up water iedere in de bodem. Tomaten zal groeien echt goed in containers, maar je kan niet laten uitdrogen zelfs voor een dag. Ik beveel een emmer van 5 ga
"Negatieve X" vuur ontstaat met water (zink, ammoniumnitraat en natriumchloride)

"Negatieve X" vuur ontstaat met water (zink, ammoniumnitraat en natriumchloride)

bezoek http://www.youtube.comCforChemistryHD voor meer!Het bekende vuur begint met water experiment, in welke zink poeder, ammoniumnitraat en natriumchloride vermengd. Chloride-ion introduceert de oxidatie van zink en openbarst als vlam.Muziek: Dat i
Sommige Water te besparen... Met Water!?

Sommige Water te besparen... Met Water!?

The Toilet Buggy is een apparaat dat u een HELEBOEL water uit uw toilet bespaart. Sterker nog, er is een apparaat aan de top die, wanneer u nood voor wisseling van het water, u toelaten zal om nemen zonder uw handen te raken het water dompelen. Het i
Hoe een blikje met Water - imploderende kunt Crusher Crush

Hoe een blikje met Water - imploderende kunt Crusher Crush

dit is een zeer ontzagwekkende manier om het verpletteren van een blikje met water. Ik had zo veel plezier dit te doen, waarschijnlijk mijn fav video nog :DAls u als deze video genoot, vergeet niet te verlaten een achtige en zelfs een abonnement :)Be
DIY ballon Squishy stressbal met Water

DIY ballon Squishy stressbal met Water

Tutorial hoe te maken ballon Squishy stressbal met waterStap 1: Stap 1: ballon vullen met water Ik gebruik koud water uit de kraanStap 2: Stap 2: Tie einde van ballon Maak een knoop aan einde van de ballonStap 3: Stap 3: Geniet vanDank u voor het bek
Schilderen met Water! Eenvoudige tuin leuk

Schilderen met Water! Eenvoudige tuin leuk

dit is een eenvoudige en gratis leuke spel voor kinderen van alle leeftijden en houdt ze bezet voor leeftijden en met de zomer hier een heleboel plezierNu we allemaal hebben gebruikt krijt, kunnen verf en andere materialen met kinderen etc maar deze
Aquaponics: EnvDAQ upgrade met Water temperatuursensor (groeien Bed DAQ)

Aquaponics: EnvDAQ upgrade met Water temperatuursensor (groeien Bed DAQ)

de broncode voor de wolk toepassing en Arduino sketch voor deze tutorial zijn beschikbaar hier.U vindt ook dit leerprogramma op onze blog in een veel meer leesbaar formaat (in line figuren).Het milieu DAQ is een open-source Arduino schild dat tracks
Maak een ALTOIDS kleine USB LED-TESTER / FLASH DRIVE (met Voltages regelbaar)

Maak een ALTOIDS kleine USB LED-TESTER / FLASH DRIVE (met Voltages regelbaar)

ik heb altijd al iets met behulp van een kleine geval van alotids te maken, maar ik kon nooit erachter te komen wat tot voor kort! Dit omvat hoe te maken van een LED-tester (met spanning selectie) / flash drive. Het usb gebruikt als een stroombron (5
Hoe naar TEST uw transistoren met uw multimeters (universeelmeters)

Hoe naar TEST uw transistoren met uw multimeters (universeelmeters)

Hallo iedereen!!In dit instructable ik zal u vertellen hoe om te testen uw transistoren met behulp van uw multimeters (universeelmeters).Nu, vergeet deze schakelingen gebruikt voor het testen van transistors en nu is het tijd om eenvoudig en praktisc
Model generator test rig.  experimenten met huisgemaakte macht.

Model generator test rig. experimenten met huisgemaakte macht.

Project: Om te bouwen van een eenvoudige model generator om te helpen me mijn hoofd rond het idee van opwekking van elektriciteit.Opmerking: Dit werd nooit gebouwd om het produceren van bruikbare macht.  MAAR LATEN ZIEN HOE STROOM WORDT GEPRODUCEERD.
Wingin'het: Optimaal met wat je hebt

Wingin'het: Optimaal met wat je hebt

In dit Instructable zullen we leren wat te doen en wat niet te doen als 3D-afdrukken van een bestand op Thingiverse.com.Stap 1: Eerste foutIk wilde oorspronkelijk een zweefvliegtuig verdienen een van de bestanden die ik vond op Thingiverse.com, een w