Toiminnot sisällä QTP/UFT esimerkin kanssa
⚡ Älykäs yhteenveto
Toiminnot sisällä UFT/QTP Jaa testiskripti loogisiin, uudelleenkäytettäviin yksiköihin, jotta testaajat voivat rakentaa, ylläpitää ja jakaa automaatiota nopeammin. Tällä sivulla selitetään kolme toimintotyyppiä, niiden jakaminen ja kutsuminen sekä datan välittäminen toimintojen välillä.

Mikä on toiminto UFT/QTP?
Toiminnot in UFT/QTP jakaa testin "loogisiin yksiköihin" tai "liiketoimintaprosesseihin". Jokainen toiminto ryhmittelee yhteen vaiheet, jotka suorittavat yhden tunnistettavan tehtävän, kuten sisäänkirjautumisen, lennon etsimisen tai lipun varaamisen. Toiminnot auttavat luomaan modulaarisemman ja tehokkaamman skriptin.
Kun skripti luodaan juuri, se koostuu vain yhdestä toiminnosta. Voit lisätä useampia toimintoja Micro Focus -toimintoosi. UFT vaatimusten mukainen komentosarja, ja jokainen lisätty toiminto pitää oman logiikkansa ja paikalliset tiedot erillään muusta testistä.
Pitkän skriptin jakaminen toimintoihin kannattaa heti, kun testiä on muutettava. Testaaja voi päivittää yhden toiminnon, kuten kirjautumissekvenssin, koskematta muiden toimintojen haku- tai uloskirjautumislogiikkaan. Tämä eristäminen muuttaa toiminnot myös uudelleenkäytettäviksi rakennuspalikoiksi, joita muut skriptit voivat kutsua sen sijaan, että ne tallentaisivat samat vaiheet uudelleen.
Tyypillinen lentovarausskripti esimerkiksi jakautuu siististi kirjautumistoimintoon, lentohakuun ja lipun varaamiseen. Jokaisella on omat vaiheensa ja paikalliset tietonsa, joten testaajan, jonka tarvitsee vain varmistaa kirjautuminen, ei tarvitse tallentaa tai ylläpitää varausprosessia lainkaan.
Toimintotyypit kohdassa UFT/QTPUudelleenkäytettävä, kertakäyttöinen ja ulkoinen
UFT/QTP tukee kolmenlaisia toimintoja, ja valitsemasi tyyppi määrittää, voidaanko toiminto jakaa skriptien kesken vai pysyykö se yksityisenä siinä testissä, jossa se luotiin.
| Toiminnan tyyppi | Missä se voi toimia | Muokattavissa Calling Testissä |
|---|---|---|
| Uudelleen käytettävä | Sama testi, useita kertoja tai mikä tahansa muu testi | Kyllä, sen omistavan testin perusteella |
| Ei uudelleenkäytettävä | Vain se testi, jossa se luotiin, ja vain kerran | Kyllä |
| Ulkoinen uudelleenkäytettävä | Kutsutaan toisesta testistä jaettuna, tallennettuna toimintona | Ei, vain luku -tilassa; vain sen paikallinen datataulukon kopio on muokattavissa |
Uudelleenkäytettävästä toiminnosta tulee ulkoinen toiminta sillä hetkellä, kun jokin toinen testi kutsuu sitä sen omistavan testin sijaan. Ulkoiset toiminnot pysyvät kutsuvassa testissä vain luku -tilassa, koska jaettua toimintoa voivat käyttää kymmenet skriptit samanaikaisesti, ja jos jokainen kutsuja voi muokata vaiheita, muut toimivat virheellisesti. Voit silti parametroida kutsun ja työskennellä paikallisesti sen datataulukon kopion kanssa.
Nykyään uusi toiminto pidetään käyttökelvottomana niin kauan kuin sen logiikka on edelleen yhden testin alainen. PromoTee se uudelleenkäytettäväksi heti, kun toinen skripti tarvitsee samat vaiheet, ja odota sen toimivan ulkoisena, vain luku -tilassa olevana toimintona heti, kun toinen skripti kutsuu sitä.
Toimintojen jakaminen, kopioiminen ja kutsuminen UFT
Kun toiminta kasvaa, pidäping jokainen vaihe yhdessä paikassa vaikeuttaa skriptin virheenkorjausta ja uudelleenkäyttöä. UFT voit jakaa olemassa olevan toiminnon kahteen osaan, kun siitä tulee hankala.
- Itsenäinen (sisarus)jako: Valittu toiminto jakautuu kahdeksi erilliseksi toiminnoksi, jotka suoritetaan peräkkäin, ja kumpikin pysyyping oma paikallinen datataulukko.
- Sisäkkäinen (vanhempi-lapsi) -jako: Valittu toiminto jakautuu päätoimintoon, jonka viimeinen vaihe kutsuu toista, alitoimintoa, säilyttäen loogisen riippuvuuden näiden kahden välillä.
Kun teot ovat olemassa, UFT tarjoaa kolme tapaa tuoda toiminto testiin liite valikko:
- Lisää kutsu uuteen toimintoon: Luo uuden, tyhjän toiminnon nykyisen testin sisään.
- Lisää toiminnon kopiointikutsu: Kopioi olemassa olevan toiminnon kokonaisuudessaan, mukaan lukien tarkistuspisteet, parametrisoinnin ja sen Data Table -välilehden, kutsuvaan testiin. Kopio on täysin itsenäinen, joten muokkaukset eivät koskaan vaikuta alkuperäiseen eivätkä ne muutu alkuperäisen kanssa. Voit kopioida sekä uudelleenkäytettäviä että ei-uudelleenkäytettäviä toimintoja.
- Lisää kutsu olemassa olevaan toimintoon: Lisää vain luku -tilassa olevan kutsun toiseen testiin tallennettuun uudelleenkäytettävään toimintoon. Sitä voi muokata vain siinä testissä, jossa se luotiin, mikä pitää jokaisen kutsujan synkronoituna ja helpottaa suurten testisarjojen ylläpitoa.
Jokainen kutsu kootaan yhteen RunAction lausunto asiantuntijalausunnossa:
' Calls Action2, which is stored in Test2, running it for one iteration RunAction "Action2[Test2]", oneIteration
Toiminto suoritetaan niin monta kertaa kuin sen toimintokutsuominaisuudet määrittävät. Jos esimerkiksi toiminto2 on asetettu suoritettavaksi jokaisella Test2:n tietotaulukon iteraatiolla, mutta testi1:n kutsuva toiminto1 suoritetaan vain kerran, toiminto2 suoritetaan silti vain kerran, koska itse kutsu käynnistetään vain kerran.
💡 Vinkki: Kun testi sisältää useita toimintoja, avaa Testivirta ruudusta Näytä-valikosta vetääksesi ja järjestääksesi ne uudelleen. Tämä muuttaa järjestystä, jossa UFT suorittaa toiminnot muokkaamatta yksittäisten toimintojen sisällä olevia vaiheita.
Alla oleva video perustuu aiemmissa opetusohjelmissa luotuun viisivaiheiseen kirjautumisskriptiin Lennon varaus ja käy läpi toimintojen luomisen, jakamisen ja kutsumisen alusta loppuun. Se on pisin video tässä UFT/QTP opetusohjelmasarja, joten muistiinpanojen tekeminen katselun aikana on hyödyllistä.
Napauta täältä jos video ei ole saatavilla
Parametrien välittäminen ja tulosarvojen tallentaminen toimintojen välillä
Toiminnon kutsumisen lisäksi useimpien oikeiden skriptien on siirrettävä dataa siihen ja luettava tulos takaisin. UFT antaa jokaiselle toiminnolle omat syöte- ja tulosparametrit sekä useita tapoja säilyttää palauttamansa arvot.
Parametrien välittäminen toiminnolle ja toiminnolta
Ihan kuin funktiot tai metodit Ohjelmointikielissä toiminto voi määritellä syötteen ja tulosteen parametritTällä parametrilla ei ole yhteyttä Testitietojen parametrointi aiemmin käsitelty; parametrit kuuluvat tässä itse toimintoon, eivät tietotaulukon sarakkeeseen. Määritä ne Muokkaa > Toiminto > Toiminnon ominaisuudettai napsauttamalla toimintoa hiiren kakkospainikkeella avainsananäkymässä. Välitä arvot kutsussa käyttämällä tätä syntaksia:
' Passes an input value and captures the action's output into myResult RunAction "Action1", oneIteration, "testuser", myResult
Toiminnon lähtöarvon tallentaminen
Riippuen siitä, mitä muu komentosarja tarvitsee, voit säilyttää toiminnon palauttaman arvon yhdessä kolmesta paikasta:
- Muuttuja:
RunAction "Action1", oneIteration, "testuser", myResulttallentaa tulosteen suoraanmyResult. - An ympäristömuuttuja: luo käyttäjän määrittämä muuttuja alle Tiedosto > Asetukset > Ympäristö, kirjoita sitten
RunAction "Action1", oneIteration, "testuser", Environment("env_var"). - Tietotaulukon sarake:
RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet)kirjoittaa tuloksen suoraan globaalille taulukkoon.
Globaalit ja paikalliset datalehdet
Toiminnot lukevat ja kirjoittavat testidataa kahdenlaisten taulukoiden kautta. Globaali datalehti on ainutlaatuinen koko testille; mikä tahansa toiminto voi lukea siitä tai kirjoittaa siihen, ja sen nimi on aina ”Globaali”. Paikallinen käyttöturvallisuustiedote on toimintoa kohden ainutlaatuinen, on nimetty kyseisen toiminnon mukaan, ja vain sen oma toiminto voi lukea tai kirjoittaa sen.
Toiminnon lopettaminen ja iteraation hallinta
Kun vaiheen on pysäytettävä toiminto aikaisin sen sijaan, että se annettaisiin suorittaa loppuun, UFT tarjoaa neljä lausuntoa:
ExitAction— pysäyttää vain nykyisen toiminnon.ExitActionIteration— pysäyttää toiminnon nykyisen iteraation ja siirtyy seuraavaan.ExitRun— pysäyttää koko testiajon välittömästi.ExitGlobalIteration— pysäyttää nykyisen globaalin testi-iteraation ja siirtyy seuraavaan.
Suorittaessaan a UFT/QTP käsikirjoitus joka käyttää toimintoja, pidä mielessä globaalit ja paikalliset iteraatiot, koska molemmat vaikuttavat siihen, kuinka monta kertaa toiminto todellisuudessa suoritetaan. Voit muuttaa kutsutun toiminnon toistumistiheyttä avaamalla Toimintokutsun ominaisuudet > Suorita välilehti ja iteraatiotilan asettaminen siellä.
⚠ Yleinen sudenkuoppa: Kutsuttu toiminto, joka on asetettu suoritettavaksi jokaisella paikallisella iteraatiolla, mutta jonka käynnistää vain kerran suoritettava päätoiminto, suoritetaan silti vain kerran. Vahvista sekä päätoiminnon globaalien iteraatioiden määrä että alitoiminnon kutsuominaisuudet ennen kuin oletat kutsutun toiminnon toistuvan.
