Älykäs tunnistus QTP/UFT esimerkin kanssa

⚡ Älykäs yhteenveto

Älykäs tunnistus on varamekanismi UFT Yksi objektin paikantamiseen, kun sen opittu kuvaus ei enää vastaa testattavaa sovellusta, käyttämällä perus- ja valinnaisia ​​suodatinominaisuuksia ehdokasluettelon rajaamiseksi yhteen osumaan.

  • 🔍 Määritelmä: Mekanismi aktivoituu vain, kun opittu kuvaus ei löydä yhtä ainoaa osumaa kohteesta.
  • 🧩 Kaksi kiinteistötyyppiä: Perussuodattimen ominaisuudet määrittävät, mikä kohde on; valinnaiset suodattimen ominaisuudet rajaavat osumaa entisestään.
  • ⚙️ Eliminointiprosessi: UFT muodostaa uudelleen ehdokasluettelon perusominaisuuksista ja suodattaa sen sitten valinnaisten ominaisuuksien avulla yksi kerrallaan.
  • 🖥️ kokoonpano: Ota käyttöön ja määritä suodattimet objektiluokittain kohdasta Työkalut > Objektin tunnistus.
  • ⚠️ Tulosten näkyvyys: Jokainen kutsu kirjaa varoitusvaiheen testitulosten puuhun.
  • 🐢 Suorituskyvyn kompromissi: Lisäsuodatus lisää suoritusaikaista ylimääräistä kuormitusta suurissa testisarjoissa.
  • 🔧 Manuaalinen korjaus: Korvaa muuttumaton ominaisuus, kuten nimi, vakaalla ominaisuusella, kuten HTML-id, välttääksesi varajärjestelmän käytön.
  • 💻 Skriptien hallinta: Asetus (“DisableReplayUsingAlgorithm”) ottaa käyttöön älykkään tunnistuksen koko ajokerran ajaksi.

Mitä on älykäs tunnistus? QTP/UFT?

Älykäs tunnistus on varaobjektin tunnistusmekanismi OpenText UFT Yksi työkalu, joka tunnettiin aiemmin nimellä HP QuickTest Professional (QTP). Jos normaali tunnistusprosessi ei löydä yksilöllistä vastinetta objektin opitulle kuvaukselle, UFT laukaisee älykkään tunnistuksen, edellyttäen, että mekanismi on otettu käyttöön kyseisen objektiluokan objektin tunnistusasetuksissa.

Toisin kuin opittu kuvaus, Smart Identification ei vaadi tarkkaa osumaa jokaiselle tallennetulle ominaisuudelle. Se arvioi kaksi ominaisuusluokkaa rajatakseen ehdokasobjektien joukon täsmälleen yhteen:

  • Perussuodattimen ominaisuudet. Testiobjektiluokan perustavanlaatuisimmat ominaisuudet; ne, joiden arvoja ei voida muuttaa muuttamatta alkuperäisen objektin olemusta.
  • Valinnaiset suodattimen ominaisuudet. Tukiominaisuudet, jotka auttavat tunnistamaan kohteen, mutta jotka todennäköisemmin muuttuvat ajan myötä.

Kun älykäs tunnistus on käynnissä, UFT ”unohtaa” opitun kuvauksen ja luo uudelleen uuden ehdokaslistan, joka sisältää kaikki objektit, jotka vastaavat kaikkia perussuodattimen ominaisuuksia. Sitten se rajaa listaa edelleen tarkistamalla valinnaiset suodattimen ominaisuudet yksi kerrallaan, kunnes jäljellä on yksi objekti.

Jos älykäs tunnistus käynnistetään ajoistunnon aikana, testitulospuu kirjaa varoitusviestin, joka vahvistaa mekanismin käytön, ja älykkään tunnistuksen vaihe lisätään tuloksiin, jotta poikkeama opitusta kuvauksesta pysyy näkyvissä.

Älykäs tunnistus on kolmantena UFTn objektitunnistushierarkiassa opitun kuvauksen ja mahdollisen visuaalisen relaatiotunnisteen jälkeen ja ennen viimeisenä keinona käytettyä järjestysnumerotunnistetta. Sen sopivuuden ymmärtäminen selittää, miksi sen täydellinen poistaminen käytöstä taustalla olevien ominaisuuksien korjaamisen sijaan on harvoin paras pitkän aikavälin vaihtoehto usein suoritettavalle skriptille.

Perussuodattimen ominaisuudet vs. valinnaiset suodattimen ominaisuudet

Molemmat suodattimet toimivat yhdessä, mutta niillä on eri roolit edellä kuvatussa eliminointiprosessissa. Alla oleva vertailu selventää, milloin kutakin käytetään ja kuinka paljon eliminointitehoa kukin kantaa.

Aspect Perussuodattimen ominaisuudet Valinnaiset suodattimen ominaisuudet
Rooli Laadi alustava ehdokaslista Rajaa ehdokasluettelo yhteen objektiin
Pysyvyys Lähes koskaan ei muutu muuttamatta objektin identiteettiä Voi muuttua ajoittain muuttamatta objektin identiteettiä
Vastaavuussääntö Jokaisen ehdokkaan on täytettävä kaikki perusominaisuudet Tarkistetaan yksi ominaisuus kerrallaan; ominaisuus ohitetaan, jos se sulkisi pois kaikki ehdokkaat
Tyypillinen esimerkki HTML-tagi, objektiluokka, indeksi Nimi, HTML-tunnus, alt-teksti, kuvan lähde
Missä konfiguroitu Objektin tunnistus > Määritä > Perussuodattimen ominaisuudet Objektin tunnistus > Määritä > Valinnaiset suodattimen ominaisuudet

Koska sama ominaisuus ei voi olla molemmissa listoissa, suunnittele jako huolellisesti. Ominaisuudet, jotka määrittelevät, mitä objekti pohjimmiltaan on, kuuluvat peruslistaan; ominaisuudet, jotka vain auttavat erottamaan sen samankaltaisista objekteista, kuuluvat valinnaiseen listaan.

Miten älykäs tunnistaminen toimii: Vaiheittainen prosessi

Älykäs tunnistus aktivoituu vasta, kun opittu kuvaus ja mikä tahansa visuaalinen relaatiotunniste eivät pysty paikantamaan yhtäkään kohdetta. Kun se on lauennut, UFT toimii ennustettavan, nelivaiheisen eliminointiprosessin kautta:

  1. Laadi ehdokaslista uudelleen. UFT ohittaa opitun kuvauksen ja etsii objektin pääobjektista kaikki objektit, jotka vastaavat kaikkia perussuodattimen ominaisuuksia.
  2. Käytä ensimmäistä valinnaista ominaisuutta. UFT poistaa kaikki ehdokkaat, jotka eivät vastaa Valinnaiset suodattimen ominaisuudet -luettelon ensimmäistä ominaisuutta.
  3. Arvioi tulos. Jos ehdokkaita on jäljellä useampi kuin yksi, UFT toistaa edellisen vaiheen seuraavalla valinnaisella ominaisuudella. Jos suodatin poistaisi kaikki jäljellä olevat ehdokkaat, UFT ohittaa kyseisen ominaisuuden ja siirtyy seuraavaan.
  4. Pysähdy yhteen otteluun. UFT toistaa suodatus- ja arviointisykliä, kunnes jäljellä on täsmälleen yksi objekti tai kunnes tarkistettavat valinnaiset ominaisuudet loppuvat.

Jos eliminointiprosessi ei vieläkään pysty eristämään yksittäistä kohdetta, UFT palautuu opittuun kuvaukseen ja järjestysnumerotunnisteeseen, kuten indeksiin, sijaintiin tai luontiaikaan. Jos edes tämä yhdistelmä ei tunnista objektia, suoritus keskeytyy ja näyttää suorituksenaikaisen virheen.

Älykkään tunnistuksen ottaminen käyttöön tai poistaminen käytöstä

Älykäs tunnistus konfiguroidaan testiobjektiluokittain Työkalut > Objektin tunnistusValitse ympäristö ja objektiluokka, kytke päälle Ota käyttöön älykäs tunnistus, napsauta sitten Configure valitaksesi kyseisen luokan perusominaisuudet ja valinnaiset suodattimen ominaisuudet. Samassa valintaikkunassa voit poistaa asetuksen käytöstä luokalle, jonka tulisi aina käyttää opittua kuvausta.

Ota älykäs tunnistus käyttöön/poista käytöstä

Älykkään tunnistamisen toimintaperiaate (video-opastus)

Alla oleva video käy läpi perus- ja valinnaisen suodattimen poistoprosessin reaaliaikaisessa esimerkissä.

Napauta täältä jos video ei ole saatavilla

Älykkään tunnistuksen käytön edut ja haitat

Älykäs tunnistus lisää vikasietoisuutta, mutta sillä on ajonaikaisia ​​kustannuksia. Punnitse molemmat puolet ennen kuin jätät sen oletusarvoisesti käyttöön koko objektitietovarastossa.

  • ✅ Selviää pienistä käyttöliittymämuutoksista: Uudelleen nimetty ominaisuus tai siirretty sijainti sivulla ei enää riko kaikkia objektia koskettavia komentosarjoja.
  • ✅ Vähentää objektivaraston ylläpitotarvetta: Testaajat käyttävät vähemmän aikaa objektien uudelleentallennukseen pienten käyttöliittymäjulkaisujen jälkeen.
  • ✅ Pysyy näkyvissä tuloksissa: Jokainen kutsu kirjaa varoituksen, joten tiimit voivat tarkistaa, kuinka usein varatoimintoa todella tarvitaan.
  • ⚠️ Hitaampi testin suoritus: Ehdokaslistan rakentaminen ja suodattaminen vie mitattavasti kauemmin kuin suora ominaisuushaku, ja kustannukset moninkertaistuvat suuren joukon kesken.
  • ⚠️ Voi peittää todellisia vikoja: Jos Smart Identification löytää hiljaisesti samankaltaisen objektin, aito käyttöliittymän regressio voi jäädä huomaamatta.
  • ⚠️ Tarvitsee säännöllistä tarkistusta: Perus- ja valinnaisia ​​suodattimia on edelleen tarkistettava satunnaisesti sovelluksen kehittyessä.

Useimmat tiimit jättävät älykkään tunnistuksen käyttöön tutkiville ja harvoin käytetyille skripteille ja poistavat sen sitten käytöstä valikoivasti suorituskyvyn kannalta kriittisten objektien kohdalla, kun objektin tunnistusominaisuudet ovat vakaat.

Vältä älykäs tunnistaminen muokkaamalla objektin ominaisuutta

Älykkään tunnistuksen joustavuus tulee edellä kuvatuista suorituksenaikaisista kustannuksista, joten monet tiimit mieluummin korjaavat objektin tunnistusominaisuudet itse kuin toistuvasti turvautuvat varamenetelmään. Tarkkaile kahta merkkiä siitä, että ominaisuuksien korjaus on parempi kuin suorituksenaikainen varamenetelmä: Älykkään tunnistuksen varoitus, joka ilmestyy lähes jokaisella suorituskerralla, ja skripti, joka on hidastunut huomattavasti varamenetelmän käynnistymisen jälkeen. Molemmat viittaavat objektiin, jonka oletusarvoiset tunnistusominaisuudet eivät enää sovi sovellukseen, eivätkä kertaluonteiseen käyttöliittymähäiriöön. Alla oleva video esittelee korjauksen oikealla kirjautumislomakkeella.

Napauta täältä jos video ei ole saatavilla

Videon transkriptio: Keskeiset tiedot

  • Älykäs tunnistus hidastaa komentosarjojen suoritusta, mikä ei ole toivottavaa suurissa tai usein suoritettavissa paketeissa.
  • Voit välttää sen kokonaan muuttamalla oletusarvoisia objektin tunnistusominaisuuksia varamenetelmään luottamisen sijaan.
  • In Kohteen tunnistaminen, poista pakollisista ominaisuuksista ”name” ja korvaa se ”HTML id”:llä, jotta testi on riippumaton nimenmuutoksista.
  • Kirjaa samat vaiheet uudelleen, kun pakollinen ominaisuusluettelo on päivitetty.
  • Jos nimi myöhemmin muuttuu "Lähetä"-tilasta "Kirjaudu sisään"-tilaan, skripti suoritetaan nyt käynnistämättä Smart Identification -toimintoa.
  • Samoin, jos testattavan objektin pakollinen tai avustava ominaisuus muuttuu usein, korvaa se vakaammalla ominaisuudella skriptin suorittamisen nopeuttamiseksi.
  • Ominaisuuksien säätäminen on kokemuksen kautta kehittyvä taito; se paranee mitä enemmän työkalulla työskentelet.

Poista älykäs tunnistus käytöstä VBScriptin avulla

Älykäs tunnistus voidaan myös kytkeä pois päältä koko ajokerran ajaksi koskematta objektitietovarastoon käyttämällä Poista käytöstä toisto käyttämällä algoritmia ajonaikainen asetus. Tästä on hyötyä, kun komentosarjan halutaan epäonnistuvan välittömästi minkä tahansa ominaisuusristiriidan sattuessa sen sijaan, että se palaisi hiljaisesti eliminointiprosessiin.

' Disable Smart Identification for this run session
Setting("DisableReplayUsingAlgorithm") = 1

Browser("Mercury Tours").Page("Find Flights").WebEdit("userName").Set "mercury"

' Re-enable Smart Identification once the strict steps are done
Setting("DisableReplayUsingAlgorithm") = 0

Pidä käytöstä poistettu ikkuna mahdollisimman lyhyenä. Sen sisällä suoritettavien vaiheiden on vastattava opittua kuvaustaan ​​täsmälleen, joten mikä tahansa testattavan sovelluksen laillinen ajautuminen aiheuttaa välittömän epäonnistumisen eikä sujuvaa varatoimintoa.

Esittelymateriaalit

Lataa yllä olevassa opetusohjelmassa käytetyt verkkosivut itseharjoittelua varten

UKK

Ei. Älykäs tunnistus toimii useimmissa UFT Yksi ympäristö, mukaan lukien Windows, Javaja .NET-objekteja, ei vain Webiä. Saatavuus riippuu apuohjelmasta ja testiobjektiluokasta eikä niinkään ympäristötyypistä.

Ehdokaslistan kokoaminen ja sen suodattaminen ominaisuus ominaisuus kerrallaan vie kauemmin kuin yhden opitun kuvauksen osuman etsiminen. Suurissa objektitietovarastoissa ylimääräinen prosessointi kasaantuu, joten monet tiimit poistavat sen käytöstä suorituskyvyn kannalta kriittisten objektien kohdalla.

Kyllä. Avaa objekti objektitietovarastossa, siirry kohtaan Objektin ominaisuudet > Lisätiedot ja aseta Ota älykäs tunnistus käyttöön -asetukseksi Epätosi vain kyseiselle objektille, jolloin muu tietovarasto ei muutu.

Ne ratkaisevat samanlaisen ongelman eri tavalla. Itsekorjautuvat paikantimet nykyaikaisissa AI-testaustyökalut oppii muuttuneen elementin uudelleen automaattisesti, kun taas Smart Identification suodattaa kiinteiden ominaisuuksien luettelon. Monet tiimit käyttävät molempia yhdessä.

Ei. Älykäs tunnistus suodattaa tallennettuja tekstiominaisuuksia, kun taas UFT Uudemmat tekoälyyn perustuvat ja Insight-tunnistustekniikat tunnistavat esineet visuaalisesti. Nämä kaksi toimivat erillisinä, toisiaan täydentävinä varakerroksina.

Tiivistä tämä viesti seuraavasti: