Funktioiden käyttö QTP/UFT 3 helpossa vaiheessa
⚡ Älykäs yhteenveto
Toiminnot QTP/UFT anna testaajien pakata uudelleenkäytettävää VBScript-logiikkaa kirjastotiedostoihin, joita mikä tahansa testi voi kutsua, mikä vähentää päällekkäisyyksiä, helpottaa ylläpitoa ja nopeuttaa automaation kehitystä eri puolilla UFT ja QTP hankkeisiin.

Jos sinulla on koodisegmenttejä, joita sinun on käytettävä useita kertoja testeissäsi, voit halutessasi luoda käyttäjän määrittämän funktion. Käyttäjän määrittämien funktioiden avulla testisi ovat lyhyempiä ja helpompia suunnitella, lukea ja ylläpitää.
Omat funktiokirjastosi Micro Focuksessa UFT voi sisältää vbscript toiminnot, aliohjelmat, moduulit jne.
Sinun tarvitsee noudattaa vain kolmea yksinkertaista vaihetta käyttääksesi kirjastosta löytyvää funktiota testissäsi.
Funktiokirjasto eroaa toiminta in UFT: funktiolla ei ole omaa objektivarastoa tai datataulukkoa, mutta mikä tahansa toiminto tai testi voi kutsua sitä, kun kirjasto on liitetty.
Samojen vaiheiden kopioiminen ja liittäminen jokaiseen toimintoon moninkertaistaa ylläpitotyön, koska yksi muutos on toistettava jokaisessa kopiossa. Funktiokirjasto ratkaisee tämän keskittämällä kyseisen logiikan yhteen paikkaan, jota mikä tahansa projektin toiminto tai testi voi kutsua.
3 yksinkertaista vaihetta kirjaston funktion käyttämiseen UFT/QTP
Vaihe 1) Luo uusi funktiokirjasto kohdassa UFT or QTP valitsemalla Tiedosto > Uusi > Funktiokirjasto. Se avautuu uutena välilehtenä QTP.
Luodaan hyvin yksinkertainen funktio, joka näyttää viestiruudun.
Function Demo MsgBox "This is a Test Function" End Function
Aina kun tätä funktiota kutsutaan, näyttöön tulee viestiruutu. Yksi tiedosto voi sisältää useita funktioita, joten tallenna tiedosto kerran ja käytä sitä uudelleen useissa testeissä. UFT tallentaa funktiokirjaston, jossa on .qfl laajennus oletuksena, vaikka tavallinen .vbs tiedosto toimii myös, kuten seuraavassa osiossa selitetään.
Vaihe 2) Liitä kirjasto testiisi. Avaa Tiedosto > Asetukset > Resurssit > Liitä funktiokirjasto ja napsauta Lisää, valitse funktiokirjastotiedosto ja napsauta OK.
Vaihe 3) Viimeinen vaihe on funktion kutsuminen testiskriptin sisällä. Kun kirjasto on liitetty, funktion kutsuminen on yhtä yksinkertaista kuin typing sen nimen ja välittää kaikki tarvittavat argumentit alla olevan mukaisesti.
' Call the function from the associated library
Demo()
UFT paikantaa esittely liittyvässä kirjastossa ja suorittaa sen täsmälleen ikään kuin se olisi kirjoitettu paikallisesti testin sisällä.
Tärkeitä huomautuksia
- COM- ja DCOM-objektien avulla voit luoda erittäin edistyneitä funktioita
- Itse asiassa monet ominaisuuksista, joita tarjoaa QTP voidaan koodata VBScriptillä
- Olemme nähneet automaatioinsinöörejä, jotka tekevät siitä enemmän VB-projektin kuin automaatioprojektin
- Suosittelemme keskittymään 100 % automaatioon VB-taitojen kerskumisen sijaan
Napauta täältä jos video ei ole saatavilla
Funktiokirjaston tiedostotyypit: .qfl vs. .vbs
UFT ei pakota sinua käyttämään yhtä tiedostomuotoa funktiokirjastolle. Funktiokirjaston editori tallentaa uudet tiedostot .qfl laajennus oletuksena ja UFT hyväksyy myös selkotekstin .vbs millä tahansa koodieditorilla luotu tiedosto, koska a QTP/UFT funktiokirjasto ei ole muuta kuin tavallista levylle tallennettua VBScript-koodia; nämä kaksi muotoa toimivat samalla tavalla suorituksen aikana.
| KUVAUS | .QFL-TIEDOSTO | .VBS-TIEDOSTO |
|---|---|---|
| Luotu | UFT Funktiokirjaston editori | Mikä tahansa teksti- tai koodieditori |
| Avautuu ulos UFT | Ei | Kyllä, pelkkänä tekstinä |
| Versiohallinnan helppous | rajallinen | Parempi, koska erot ovat luettavissa |
| Yhdistysmenetelmä | Sama molemmille | Sama molemmille |
Valinta riippuu enimmäkseen tiimin työnkulusta eikä niinkään toiminnallisuudesta. Kertaluonteinen kirjasto rakennetaan nopeasti sisään UFT toimii hyvin kuten .qfl, kun taas Gitissä, SVN:ssä tai muussa versionhallintajärjestelmässä ylläpidetyt kirjastot säilytetään yleensä muodossa .vbs tiedostoja, koska pelkkä teksti tuottaa paljon luettavampia eroavaisuuksia koodin tarkistuksen aikana. Molemmat muodot tukevat kaikkia VBScript-ominaisuuksia, mukaan lukien luokat, virheenkäsittely ja COM-objektien luonti, ja molemmat liittyvät testiin täsmälleen samalla tavalla, kuten seuraavassa osiossa selitetään.
Tiedostopäätteen uudelleennimeäminen ei muuta sen sisältöä, joten olemassa olevan tiedoston muuntaminen .qfl tiedosto .vbs, tai toisinpäin, on vain tiedoston uudelleennimeäminen, jonka jälkeen uudelleennimetty tiedosto liitetään uudelleen testiin.
Tapoja liittää funktiokirjasto testiin
Yllä olevassa vaiheessa 2 käytetään Resurssit-valintaikkunaa, mutta UFT tarjoaa itse asiassa useita tapoja liittää funktiokirjasto testiin, ja oikean tavan valinta riippuu siitä, pitäisikö liitoksen olla pysyvä vai koskea vain yhtä suorituskertaa. Testiin voi olla liitettynä useampi kuin yksi kirjasto samanaikaisesti, ja UFT lataa ne resurssiluettelossa näkyvässä järjestyksessä.
- Liitä funktiokirjasto -valintaikkuna (GUI): Avaa Tiedosto > Asetukset > Resurssit > Liitä funktiokirjasto, napsauta Lisää ja valitse tiedosto. UFT tallentaa tämän kytkennän itse testiin, joten kirjasto latautuu automaattisesti aina, kun testi avautuu. Tämä on vaiheessa 2 esitetty menetelmä, ja se toimii hyvin oletusvalintana mille tahansa kirjastolle, jota jokainen projektin testi tarvitsee.
- LoadFunctionLibrary-lauseke: Kutsu LoadFunctionLibrary-funktiota ”polku” skriptin sisältä liittääksesi kirjaston suorituksen aikana koskematta Resurssit-valintaikkunaan. UFT käsittelee kirjastoa täsmälleen kuten dialogipohjaista assosiaatiota loppuajon ajan, mikä on kätevää, kun kirjastopolku päätetään dynaamisesti.
- ExecuteFile-lauseke: ExecuteFile “path” suorittaa komentosarjatiedoston ja paljastaa sen funktiot nykyiselle suoritukselle, mutta UFT ei rekisteröi tiedostoa nimellä tracked-resurssi, joten se ei koskaan näy testiasetuksissa kohdassa Liittyvät funktiokirjastot.
- Automaatio-objektimalli (AOM): Ulkoinen VBScript-tiedosto voidaan käynnistää UFT, avaa testi ja lisää kirjasto Test.Settings.Resources.Libraries-kirjastoon ohjelmallisesti. Käännös- tai käyttöönottoskriptit käyttävät usein tätä lähestymistapaa saman kirjaston määrittämiseen kymmenissä testeissä yhdellä kertaa.
' Load a library at run time from inside a script LoadFunctionLibrary "C:\Automation\CommonFunctions.qfl" ' ExecuteFile works the same way, but UFT does not ' track the file as an associated resource ExecuteFile "C:\Automation\CommonFunctions.qfl"
Valitsemastasi menetelmästä riippumatta kirjasto tarvitsee liittää vain kerran testiä kohden GUI- ja AOM-metodeissa, kun taas LoadFunctionLibrary ja ExecuteFile on suoritettava uudelleen joka kerta, kun skripti suoritetaan, koska ne ovat tavallisia VBScript-lauseita eivätkä tallennettuja asetuksia.
Kun kirjastoa ei enää tarvita, poista se resurssiluettelosta sen sijaan, että jättäisit sen liitettynä, koska käyttämätön kirjasto voi silti varjostaa samannimistä funktiota, jonka lisäät myöhemmin toiseen kirjastoon.
Parhaat käytännöt kirjoittamiseen UFT/QTP Funktiokirjastot
Funktiokirjasto kannattaa vain, jos koko tiimi voi luottaa siihen ja ylläpitää sitä. Seuraavat tavat pitävät kirjaston luotettavana sen kasvaessa.
- Käytä optiota eksplisiittisesti: Lisää se jokaisen kirjaston ensimmäiseksi riviksi, jotta UFT merkitsee väärin kirjoitetun muuttujan sen sijaan, että loisi hiljaa uuden.
- Pidä funktioiden nimet yksilöllisinä: Jos kaksi toisiinsa liittyvää kirjastoa määrittelee samannimisen funktion, UFT kutsuu viimeksi ladattua, joten kaksoisnimet aiheuttavat hiljaista, vaikeasti havaittavaatracja ötököitä.
- Palauta arvot kovakoodaamisen sijaan: Hyväksy parametrit ja palauta tulos, kuten alla olevassa esimerkissä, joten sama funktio suorittaa useita testejä yhden sijaan.
- Vältä viestejäBox tuotantoskripteissä: Viestiruutu keskeyttää suorituksen, kunnes joku napsauttaa OK. Reporter.ReportEvent sen sijaan hyväksymis-, epäonnistumis- ja varoitustilat kirjataan suoraan tulospuuhun ilman pysäytystäping juoksu.
- Ryhmittele verkkotunnuksen, ei mukavuuden mukaan: Pidä kirjautumisfunktiot, tietokantafunktiot ja käyttöliittymän apufunktiot erillisissä tiedostoissa, jotta mikä tahansa testi voi liittää niihin vain sen, mitä se todella tarvitsee.
- Pidä kirjastot versionhallintana: Tallenna funktiokirjastotiedostot samaan säilöön kuin muu automaatioprojekti, jotta projektin peruutus palauttaa myös kaikki jaetut funktiot.
Function AddNumbers(ByVal num1, ByVal num2) AddNumbers = num1 + num2 End Function Dim result result = AddNumbers(10, 20) Reporter.ReportEvent micPass, "Sum Calculation", "The result is " & result
Näiden tapojen omaksuminen alkuvaiheessa maksaa vähän, mutta niiden sisällyttäminen suureen, hallitsemattomaan kirjastoon myöhemmin on paljon kalliimpaa.
