2 joulukuun, 2021

Flash/Flex-sovellusten testauksen automatisointi

Flash/Flex-sovellusten testauksen kysyntä on kasvanut huomattavasti viime vuosina. Tämä osoittaa, että tätä tekniikkaa käytetään yhä enemmän, mikä puolestaan osoittaa, että näitä sovelluksia on testattava automaattisesti. Tämä tarve herättää kuitenkin muutamia kysymyksiä ja ongelmia, joista joitakin käsitellään seuraavassa kirjoituksessa.

erityisesti ensimmäinen kysymys, johon Flash/Flex-sovelluksen automatisoinnista on vastattava, on: mikä on oikea Automaatiotekniikka? On kaksi erillistä tapaa mennä:

Native mouse & keyboard integration – hyvä tilanteissa, joissa tarvitaan vain vähän Flash-vuorovaikutusta.

API-tason integraatio – hyvä tilanteissa, joissa tarvitaan paljon Flash-vuorovaikutusta.

Native mouse & keyboard integration – tässä simuloidaan hiiren liikettä, hiiren klikkausta tai näppäimistön toimintaa käyttöjärjestelmätasolla. Se toistaa realistisimman käyttäjäsimulaation tallentamalla GUI-pohjaisia toimia, saa meidät hyvin lähelle sovelluksemme ”tosielämän” käyttöä. Kuitenkin, käyttämällä tätä menetelmää on joitakin ongelmia. Esimerkiksi Flash-sovelluksen testaaminen edellyttää, että sovellus ja testausympäristö on valmisteltu erityisellä tavalla. On olemassa erilaisia tapoja tehdä Flash-sovellus testattavissa, riippuen testaus työkalu ja kehitysympäristö. Jotkin työkalut, kuten TestComplete, Rational Robot ja QTP, edellyttävät, että oma kirjasto (yleensä työkalun toimittajan toimittama) on upotettu Flash-sovellukseen kokoamisen aikana tai ajon aikana. Tämän prosessin erityispiirteet löytyvät tyypillisesti näiden työkalujen dokumentaatiosta.

kohteiden tallentaminen Flex/Flash-sovellukseen on ongelmallista jo itsessään. Tämän ratkaisemiseksi on kaksi pääasiallista lähestymistapaa:

  1. kaapata näyttö laitteesta ja käyttää kuvantunnistus paikantaa halutut elementit näytöllä, automatisoimalla sovelluksen black-box tavalla. Munakoiso on hyvä esimerkki työkalusta, joka hyödyntää tätä lähestymistapaa. Näin SilkPerformer toimii myös Citrix-ympäristössä.
  2. jäsennä käytettävät oliot ominaisuuksiksi ja käytä näitä ominaisuuksia kohteen paikantamiseen. Tämä on sama lähestymistapa, jota käytetään QTP: n objektivarastoissa. Tyypillisiä Flash-objektin ominaisuuksia, kuten tila, nimi ja teksti, käytetään sekä kohteiden paikantamiseen että tiettyjen toimien varmistamiseen. Rational Robot on hyvä esimerkki tästä lähestymistavasta; se käyttää 11 eri Todentamispistettä varmistaakseen, että tietty toiminta on tapahtunut, tai todentaakseen esineen tilan. Tämä lähestymistapa on täydellinen niille, jotka haluavat simuloida suhteellisen yksinkertaisia GUI-vuorovaikutuksia, kuten klikkaamalla elokuvan ”toista” – painiketta tai vuorovaikutuksessa vahvistusikkunan kanssa, koska monimutkaisemmassa sovelluksessa Tämä lähestymistapa yleensä epäonnistuu.

API-tason integraatio – sovelluksille, joissa on paljon monimutkaisempia Flash/Flex-käyttöliittymiä tai sovelluksia, jotka ovat 100% Flash-pohjaisia, on vaikea käyttää GUI-kaappausta esitetyllä tavalla, koska se voi olla hauras ja vaikea varmistaa, että haluttu toiminto toimi. Tätä varten voidaan käyttää API-tason integraatiota. Tämän tyyppistä automaatiota varten on kyettävä kääntämään/muokkaamaan taustalla olevia Flash-objekteja.

se, miten tästä eteenpäin, riippuu siitä, käytätkö Flashia vai Flexiä, sillä Flex paljastaa joitakin automaatiorajapintoja, jotka muutoin on toistettava, jos käytät puhdasta Flashia. Näin voi tehdä:

Vastaa

Sähköpostiosoitettasi ei julkaista.