Automatiserad webb testning i Ruby med Watir-Webdriver (5 / 7 steg)
Steg 5: Tillämpa logik till våra samlingar
I vår sista steget vi lärt sig att samla en grupp av HTML-objekt och interagera med dem alla, men vad händer om vi bara vill interagera med specifika HTML-objekt i samlingen? Detta görs enkelt genom att tillämpa if-then-else logik på attributen för det HTML-objektet i samlingen.
Till exempel vad händer om vi bara vi bara vill interagera med HTML-objekt som har värdet av "ja" hoppa över alla andra objekt i samlingen? Detta är lika enkelt som tillgång till attributet för vår HTML-objekt genom dess namn.
kryssrutorna = browser.checkboxes (: id = > /checkbox-/)
CheckBoxes.each |checkbox|
om checkbox.value == "ja" och sedan
CheckBox.set
slutet
slutet
Här kan vi se vi åtkomst till objektet checkbox inuti vår samling och kontrollera om dess värde är lika med "ja". Denna logik kan användas till nästan alla HTML-attribut som namn, klass, värde, id, etc. En ännu bättre lösning är att göra kryssrutorna fånga mer strikt begränsa antalet faktiska objekt i samlingen. Med Watir-Webdriver, färre saker det har att göra ju snabbare det förformar så ju mer koncis du vara bättre ansökan blir du.
I detta exempel skulle vi 6 kryssrutor som matchar, men endast 3 av dem faktiskt få in. Om vi ändrade våra sökord så att
kryssrutorna = browser.checkboxes (: id = > /CheckBox- /,: värde = > "ja")
i stället har vi endast 3 objekt inuti vår samling som tillåter oss att prestera vårt arbete snabbare.
Denna iteration (loopa) och logik flöde kan du göra mycket komplexa webbprogram testning skript som endast interagerar med HTML-objekt som matchar din designade logik flöde.