Automatiserad webb testning i Ruby med Watir-Webdriver (4 / 7 steg)

Steg 4: Gå igenom flera HTML-objekt



Hittills har vi interagerar med enstaka objekt genom att direkt ringa dem inom vår kod, men detta är mycket ineffektiv eftersom de flesta webbapplikationer har många Divar, former, knappar, kryssrutor och liknande på en enda sida. Det är inget fel med att göra åtgärder för varje HTML-objekt, men du kommer att spendera en massa tid att redigera din kod.

Till exempel om en webbplats har 100 kryssrutor och du vill klicka på alla av dem skulle du behöver 100 rader kod om följer du den tidigare metoden. Även om Watir-Webdriver har inbyggd teknik för att hjälpa oss i att göra detta så snabbt och enkelt som möjligt.

För det mesta skapar pluralformen av det objekt du vill arbeta på returnerar en samling av alla HTML-objekt som matchar. En samling är helt enkelt en gruppering av objekt som du kan och sedan loopa igenom och interagera med vilket gör att färre mer koncis kodrader. Tillsammans med dessa samlingar, kan du behöva använda regex för att tala Watir-Webdriver vad du vill inuti denna samling.

Tillbaka till vår 100 kryssrutor exempel, kan säga att de alla har ID "checkbox-X" där X är det numeriska värdet för checkbox. Om vi berätta Watir-Webdriver att söka efter en specifik kryssruta ex: "checkbox-10" det är den enda kryssruta som kommer att läggas till listan. För att lösa detta kan vi använda enkla regex för att göra ett "wild card" matcha för alla kryssrutor vi vill samla in.

kryssrutorna = browser.checkboxes (: id = > /checkbox-/)
CheckBoxes.each |checkbox|
CheckBox.set
slutet

I detta exempel vi skapat en ny variabel kallas kryssrutor för att hålla vår samling och vi brukade pluralformen av checkbox (kryssrutor) berätta Watir-Webdriver att ge oss alla kryssrutor som matchar våra ID-namn vi har levererat. ID-namn är en regex match som i huvudsak säger "om id för en checkbox innehåller"checkbox-"och sedan lägga till den i listan". Efteråt vi upprepa (loop) igenom våra kryssrutor och ange var och en till true (Klicka på den).

Som ni ser har vi bara trimmas ner 100 rader kod Klicka på 100 kryssrutor i 4 rader med kod som gör samma uppgift. Detta kan tillämpas på nästan alla HTML-objekt som som en sällsam utgör sådan som knappen, radio, checkbox, li, div, text_field och många andra.

Se Steg
Relaterade Ämnen

Automatiserad vattning av krukväxter med Intel Edison

Automatiserade vattna krukväxter med Intel Edison... En fukt Sensor känner av den låga fukthalten i jord och aktiverar vattenpumpen eller magnetventilen som styr flödet av vatten. När det krävs vattnet pumpas till växterna, sensorn automatiskt stanna...

CMS2CMS: Automatiserad Kunena till bbPress Switch med en Plugin

tror du att det är dags för dig att ändra forum programvara? Är du trött på använder samma gamla plattform? Har du någonsin överväga migration?Kunena är väl ändå en populär forum komponent för Joomla webbplats som kommer att berika dig hemsida med ny...

PHloat2 DIY surt vatten testning skulptur & kit med arduino

pHloatpHloat är en DIY kit som är gjorda för att användas tillsammans med en pre-ägda / befintliga arduino mikrokontroller. Dess syfte är att testa pH-nivåer i lokala floder, sjöar och vattendrag på grund av inflödet av luft- och vattenföroreningar s...

Automatiserad SOS

Detta projekt använder en Arduino hjärtat modul att upprepaen SOS-signal i morsekod. Vi börjar med attatt bygga banan. Nästa viinstallera Arduino IDE på en dator.Slutligen, vi skriver kod och ladda upp den till Arduino på hjärtat modul.Steg 1: Automa...

Cykel - drivna arduino vattenreningssystem (med UVC ljus)

Detta instructable visar hur att driva en UV-C vattenreningssystem med en cykel och arduino kontroll. En dynamo i den bakre delen av cykeln laddar ett batteri (som vi har från början ut redan för detta projekt) som kör arduino och ljuset.De flesta av...

Hur man bli av med halsont

trött på halsen får ont? Ja detta är vad jag gör! det fungerar bra och är lätt att göra. PS när jag får ont i halsen jag känner att jag är hängdeSteg 1: Steg 1: ingredienser Vad du behöver är:SaltVattenKopp (stor)Steg 2: Att sätta ihop Vad du gör är...

Arbetar med flera datorer (för studenter)

arbeta med flera datorer kan vara mycket svårt. Man vet aldrig vad filerna finns på datorn, du kan stöta på problem med flera version av samma fil, och som ett resultat, kan du förlora dina filer alla tillsammans eller åtminstone ha ditt liv förvandl...

Hur man gör en GSM läge Tracker med AdaFruit FONA och Arduino

IntroduktionI denna handledning som vi kommer att göra en webb ansluten plats logger med Adafruit FONA styrelsen, en Arduino och Sparkfun datatjänst. Det kommer att få sin position med hjälp av triangulering och skicka den till en online-databas med...

Snabbis idéer från en icke-kock.

Om du är en nörd, finns det mer än att beställa ut för pizza. Du kan använda din dator liksom andra resurser för att ha mer interesing mat. Du kan spara en massa pengar att göra maten själv och även imponera en framtida partner.Obs: använda pekplatta...

Bästa pepparkakor Cookie recept

Varje år jag brukar lämna min semester bakning till sista minuten, utan tid för recept testning, och sluta med bara sisådär pepparkakor. Men inte i år! Jag tog äntligen tid att testa och detta recept, utan tvekan, gör den bästa pepparkakor cookie jag...

Gitarr "Stoppa Box" remote volym och döda växla

Anmärkning: en ändring av ledningar har genomförts och folie beläggning har lagts till (05-28-13).Läggas till som källa för momentan stängda switch, tunga marine (båt) horn växla), $9, gratis USA frakthttp://www.Amazon.com/gp/product/B0002UENVA/ref=p...

Utlänningar från en undervattens plannet

dessa utlänningar kommer från en plannet omgiven av vatten därför gjort kostymer för att kunna utforska andra planeter utanför sitt naturliga element.Steg 1: Tillverka huvudet lappa Huvud bit ramen var gjord av 1/4 tum aluminium smälttråd. Bent och f...

En .NET Gadgeteer baserade jäsning temperatur Controller

I den här artikeln visar jag design och tillverkning av en pekskärm baserad automatiserad jäsning temperatur styrenhet med en kombination av kommersiella och anpassade hårdvara och mjukvara. Jag har varit ölbryggning i över 20 år med främst partiell...

DIY objektiv för Google kartong VR

Inledning:Sedan Google lanserade det är VR kartong senaste 2014., jag har läst några bra återkopplingar om den., och sista kan 2015., kartong VR stöder iOS., få VR kartong är billigaste sätt att uppleva virtuella verklighet. och jag frågade mig själv...

Ammo kan Boombox

jag ursprungligen kom över denna idé från en hemsida som heter http://macgyverisms.wonderhowto.com som i sin tur var kopplade till dustinbikes instructable för Ammo Box högtalare Efter lite forskning beslutat jag att göra min enhet bärbara med SLA (f...

BoxMarker för FireBrigades

Visa dina FireBrigade kompisar som lastbilar måste lämna sina lådor, när ett larm inträffar.Steg 1: Idé, Problem och lösning Förutom mitt jobb och andra aktiviteter, jag "m en kompis av våra lokala FireBrigade.Problem:Våra FireBrigade är inte en lite...

C64 USB Joystick Adapter

det finns några bra emulatorer för vintage videospel och datorer ute, till exempel WinVice för commodore hårdvara som C64, men hur ansluter du gamla joysticks till din PC, som konkurrens Pro (den ursprungliga en, med 9-polig D-sub för en original C64...

Robotic kamera Dolly System

Nyligen fick jag möjlighet att prova Servo stadens Actobotics byggsystem. Medan jag kunde ha använt det för att bygga åtskilliga saker, beslutat jag slutligen att göra ett programmerbara kamerasystem dolly. Den här enheten tillåter mig att skapa time...

Solpanel dubbla Management System (SP DMS)

Detta sakernas prototyp har två funktioner: 1) identitetsstöld förebyggande och 2) underhåll uppgift om solpaneler med en LinkIt och sensorer1) theft Prevention: för att uppnå detta vi använder GPS och GPRS funktioner i LinkIt en bräda med accelerome...