JOS, Muuten, Loppu JOS, On olemassa QTP/UFT esimerkin kanssa
โก รlykรคs yhteenveto
IF Else End If-lausekkeet let UFT ja QTP skriptit haarautuvat suorituksenaikaisten ehtojen perusteella, kun taas Exist-ominaisuus tarkistaa, nรคkyykรถ objekti nรคytรถllรค ennen haaran suorittamista, kattaen myรถs ElseIf-, sisรคkkรคiset If- ja Select Case -ominaisuuden.

Mikรค on IF Else -lauseke? UFT/QTP?
IF Else -lauseke on yleisin ehdollinen ohjausrakenne VBScriptissรค, skriptikielessรค, jota kรคytetรครคn UFT/QTP automaatioskriptejรค. Se antaa komentosarjan tehdรค pรครคtรถksen suorituksen aikana: kun ehto antaa tulokseksi True, suoritetaan yksi lausekelohko, ja kun se antaa tulokseksi False, suoritetaan toinen lohko. Testaajat kรคyttรคvรคt tรคtรค rakennetta jatkuvasti, esimerkiksi haarautuakseen komentosarjaan kirjautumisen onnistuessa ja epรคonnistuessa, tai milloin objekti saattaa nรคkyรค nรคytรถllรค tai ei. Tรคydellinen luettelo VBScriptin tukemista ehtolausekkeista ja vertailuoperaattoreista on osoitteessa VBScript-ehtolauseke opas.
Perusmuodossa IfโฆThen yhdistetรครคn valinnaiseen Else-lohkoon ja se pรครคttyy aina End If -lohkoon. UFT/QTP arvioi ehdon kerran. Jos se on True, vain Then- ja Else-lausekkeiden vรคliset lauseet suoritetaan; jos se on False, vain Else- ja End If-lausekkeiden vรคliset lauseet suoritetaan, ja vain yksi haara suoritetaan. Alla oleva syntaksi tarkistaa numeerisen arvon ja nรคyttรครค eri viestiruudun kullekin tulokselle.
Dim iValue iValue = 25 If iValue > 18 Then MsgBox "Eligible" Else MsgBox "Not Eligible" End If
In UFT/QTPehto vertaa lรคhes aina objektin ominaisuutta, tarkistuspisteen tulosta tai Exist-ominaisuuden paluuarvoa pelkรคn numeron sijaan, koska useimmat skriptit validoivat testattavan sovelluksen aritmetiikan sijaan. Jokainen tรคllรค sivulla myรถhemmin oleva esimerkki perustuu samaan yllรค esitettyyn IfโฆThenโฆElseโฆEnd If -malliin; vain ehto muuttuu. Kรคytitpรค kumpaa tahansa ehtoa, testaa aina sekรค True- ettรค False-polut vรคhintรครคn kerran ennen skriptin siirtรคmistรค regressiosarjaan.
JOSโฆNiinโฆMuutenJosโฆMuuten-lauseke UFT/QTP
Yksinkertainen If Else valitsee aina vain kahden lopputuloksen vรคlillรค. Kun komentosarjan on testattava kolmea tai useampaa toisensa poissulkevaa ehtoa, VBScript lisรครค ElseIf-ominaisuuden samaan lohkoon. UFT/QTP tarkistaa jokaisen ehdon ylhรครคltรค alas ja suorittaa ensimmรคisen lohkon, jonka ehto on True; kaikki muut lohkot, mukaan lukien lopussa oleva Else-lohko, ohitetaan. Tรคmรค tekee skriptistรค paljon luettavamman kuin useiden toisiinsa liittymรคttรถmien If-lohkojen sisรคkkรคin laittaminen.
- Ehtoja arvioidaan ylhรครคltรค alas, ja arviointi pysรคhtyy ensimmรคiseen ehtoon, joka on True.
- Jokainen ElseIf-avainsana tarvitsee oman Then-funktion ja oman ehdon.
- Jรคlkimmรคinen Else-operaattori on valinnainen ja se suoritetaan vain, kun mikรครคn sen ylรคpuolella olevista ehdoista ei tรคsmรครค.
- Vain yksi End If sulkee koko lohkon riippumatta siitรค, kuinka monta ElseIf-haaraa se sisรคltรครค.
Dim iMarks iMarks = 75 If iMarks >= 90 Then MsgBox "Grade A" ElseIf iMarks >= 75 Then MsgBox "Grade B" ElseIf iMarks >= 50 Then MsgBox "Grade C" Else MsgBox "Fail" End If
Yllรค oleva skripti tulostaa eri arvosanan kullekin pisteytysvรคlille ja lopettaa lisรคehtojen tarkistamisen heti, kun yhden haaran arvo on True, mikรค pitรครค suuret pรครคtรถspuut tehokkaina myรถs pitkรคn automaatioajon sisรคllรค.
Sama kaava pรคtee suoraan kรคyttรถliittymรคtarkistuksiin: skripti saattaa lukea tilakentรคn arvon ja kรคyttรครค ElseIf-funktiota reitittรครคkseen sen hyvรคksymis-, varoitus- tai epรคonnistumiskรคsittelyyn lรถytรคmรคnsรค tekstin perusteella kolmen erillisen If-lohkon sijaan, jotka kukin arvioivat kentรคn uudelleen itsenรคisesti.
Sisรคkkรคinen If-lauseke UFT/QTP
Sisรคkkรคinen If-lauseke sijoittaa yhden tรคydellisen IfโฆEnd If -lohkon toisen If-lohkon Then or Else -osan sisรครคn. UFT/QTP ratkaisee ensin ulomman ehdon ja arvioi sisemmรคn If-haaran vasta, kun kyseiseen ulompaan haaraan syรถtetรครคn. Tรคmรค malli sopii tarkistuksiin, jotka ovat toisistaan โโriippuvia, kuten kรคyttรคjรคn รครคnestรคmiseen riittรคvรคn iรคn vahvistaminen ja sitten uudelleen sukupuolen mukaan haarautuminen sen sijaan, ettรค jokainen ehto yhdistettรคisiin yhdeksi pitkรคksi lausekkeeksi And- ja Or-operaattoreilla. Pidรค sisรคkkรคisyys matalana, yleensรค enintรครคn kahdella tai kolmella tasolla, koska jokainen ylimรครคrรคinen kerros vaikeuttaa komentosarjan lukemista. trace ja debug. Sisรครคn UFT/QTP termein sisรคkkรคinen If yleensรค tarkistaa ensin kรคyttรถjรคrjestelmรคn ja haarautuu sitten uudelleen selaimen tai sovelluksen tilan mukaan, joten sisempi lohko suoritetaan vasta, kun ulkoinen konteksti on vahvistettu.
๐ก Vinkki: Sisennรค jokainen sisรคkkรคinen lohko yhdellรค ylimรครคrรคisellรค tasolla ja anna jokaiselle End If -lausekkeelle oma rivi. Yhtenรคinen sisennys on nopein tapa havaita puuttuva End If -lauseke ennen kuin skripti epรคonnistuu suorituksen aikana.
Dim iAge, sGender iAge = 20 sGender = "Male" If iAge >= 18 Then If sGender = "Male" Then MsgBox "Eligible male voter" Else MsgBox "Eligible female voter" End If Else MsgBox "Not eligible to vote" End If
Valitse tapauslausunto kohdassa UFT/QTP
Select Case on vaihtoehto pitkรคlle ElseIf-ketjulle, jossa jokainen haara testaa samaa yksittรคistรค muuttujaa eri kiinteรครค arvoa vasten. UFT/QTP laskee Select Case -rivillรค olevan lausekkeen kerran, vertaa sitรค sitten kuhunkin Case-arvoon jรคrjestyksessรค ja suorittaa ensimmรคisen vastaavan lohkon. Valinnainen Case Else -lohko havaitsee kaikki arvon, jota mikรครคn luetelluista tapauksista ei kata, samalla tavalla kuin If-lohkon lopussa oleva Else. Koska vertailumuuttuja kirjoitetaan vain kerran, pitkรครค Select Case -lohkoa on myรถs helpompi pรคivittรครค myรถhemmin kuin vastaavaa ElseIf-lausekkeiden ketjua, joka toistaa saman muuttujan nimen jokaisessa haarassa.
Kirjainkoko-arvoja verrataan yhtรคsuuruusmenetelmรคllรค, ja kirjainkoko on merkitsevรค, joten โChromeโ ja โchromeโ lasketaan eri osumiksi, ellei arvoa ensin normalisoida esimerkiksi LCase-funktiolla. Katso VBScript-muuttujan deklarointi opas siitรค, miten Dim ja tietotyypit vaikuttavat nรคihin vertailuihin.
Dim sBrowserName sBrowserName = "Chrome" Select Case sBrowserName Case "Chrome" MsgBox "Launching Chrome" Case "Firefox" MsgBox "Launching Firefox" Case "Edge" MsgBox "Launching Edge" Case Else MsgBox "Browser not supported" End Select
| SELVITYS | PARAS | EHDOT | LUETTAVUUS Skaalassa |
|---|---|---|---|
| JosโฆMuuten | Kaksi lopputulosta | 1 ehto | Korkea |
| JosโฆMuutenJosโฆMuuten | Useita toisiinsa liittymรคttรถmiรค ehtoja | 3 tai useampi ehto | Pudot oksien kasvaessa |
| Valitse Case | Yhden muuttujan useita kiinteitรค arvoja | Mikรค tahansa numero | Pysyy korkealla |
Case voi myรถs lรถytรครค vastaavan alueen kรคyttรคmรคllรค Is-avainsanaa, esimerkiksi Case Is > 90 Select Case -lohkon sisรคllรค, jolloin yksittรคinen tapaus voi kattaa kaikki kynnysarvon ylittรคvรคt arvot sen sijaan, ettรค jokainen arvo lueteltaisiin erikseen.
Valitse Valitse tapaus -vaihtoehto aina, kun skripti testaa yhtรค muuttujaa useita mahdollisia arvoja vasten; pidรค JosโฆElseJos-vaihtoehtoa ehdoissa, jotka vertailevat eri muuttujia tai kรคyttรคvรคt alueita ja loogisia operaattoreita.
Kuinka kรคyttรครค IF Else -funktiota Exist-ominaisuuden kanssa UFT
Napauta tรครคltรค jos video ei ole saatavilla
Exist-ominaisuus palauttaa arvon True tai False riippuen siitรค, onko objekti tรคllรค hetkellรค testattavassa sovelluksessa, mikรค tekee siitรค luonnollisen ehdon yhdistรครค If Else -ominaisuuden. Alla oleva esimerkki palaa klassiseen kirjautumistoiminnallisuusskenaarioon kohteelle Lennon varaus sovellus osoitteesta Testaus sarja, jossa komentosarjan on haarauduttava negatiivisen skenaarion polkuun, kun virheikkuna tulee nรคkyviin, tai positiivisen skenaarion polkuun, kun sitรค ei tule. Tรคmรค peilaa tรคsmรคlleen samaa Testiskenaario kรคsitelty yllรค olevalla videolla.
- Tallenna kaksi erillistรค skriptiรค: toinen, joka kirjautuu sisรครคn kelvollisella agentin nimen ja salasanan yhdistelmรคllรค, ja toinen, joka kirjautuu sisรครคn virheellisellรค yhdistelmรคllรค.
- Lisรครค If Else -vaihe heti kirjautumisvaiheen jรคlkeen, jotta molemmat tallenteet voidaan suorittaa yhden yhdistetyn komentosarjan sisรคllรค.
- Aseta ehto, joka tarkistaa, onko virhetietoikkuna olemassa, kรคyttรคmรคllรค Olla olemassa ominaisuus Click-vaiheen sijaan.
- Siirrรค negatiivisen skenaarion vaiheet, kuten virheikkunan ja kirjautumisikkunan sulkeminen, If-lohkon sisรคlle.
- Siirrรค positiivisen skenaarion vaiheet, kuten lentovarausikkunan sulkeminen, Muuten-lohkon sisรคlle.
- Tallenna yhdistetty komentosarja ja suorita se sekรค kelvollisilla ettรค virheellisillรค tunnistetietojoukoilla varmistaaksesi, ettรค molemmat polut suoritetaan oikein.
Dim bLoginFailed bLoginFailed = Browser("Flight Reservation").Page("Flight Reservation").WinObject("Error").Exist(5) If bLoginFailed Then 'Negative scenario - invalid login Browser("Flight Reservation").Page("Flight Reservation").WinObject("Error").Close Dialog("Login").Close Else 'Positive scenario - valid login Window("Flight Reservation").Close End If
If- ja Else-funktioiden lisรคksi VBScript tukee myรถs WhileโฆWend- ja Seuraavat silmukat toistoa varten, sekรค edellรค kรคsitellyt ElseIf- ja Select Case -lausekkeet lisรคhaaroille. Nรคiden rakenteiden yhdistรคminen Exist-ominaisuuteen antaa yksittรคiselle UFT/QTP skripti kรคsittelee sekรค positiivisen ettรค negatiivisen testiskenaarion ilman manuaalisia toimia.
โ Huomautus: Pidemmรคn arvon, kuten Exist(10), antaminen Exist-muuttujalle tekee UFT odottaa objektia kauemmin ennen arvon False palauttamista, mikรค on hyรถdyllistรค hitaasti latautuville valintaikkunoille, mutta voi hidastaa koko sarjaa, jos sitรค kรคytetรครคn jokaisessa vaiheessa. Varaa pitkรคt odotusajat aidosti hitaille objekteille. Lyhyt, hyvin valittu aikakatkaisu pitรครค yhdistetyn positiivisen ja negatiivisen skenaarioskriptin sekรค luotettavana ettรค nopeana suoritettavaksi jatkuvissa testiajoissa.
