UI flow on Power Automaten työkalu, jolla voi rakentaa RPA (Robotic Process Automation) toteutuksia. Aiemmassa kirjoituksessa kävin läpi, miten tehdä työasemasovellusta käyttävä UI flow (Desktop UI flow). Tällä kertaa rakennetaan työnkulku, joka UI flow:ta (Web UI flow) hyödyntäen hakee tietoja verkkopalvelusta.

Mihin minä tätä UI flow:ta tarvitsen?

Täydellisessä maailmassa et mihinkään. Maailmassa, jossa kaikkiin palveluihin pääsee käsiksi rajapintojen avulla. Ilmaisesti ja helposti.

Käytännössä UI flow:n kaltaiselle työkalulle on usein tarvetta.

Esimerkki – Yrityksen tietojen hakeminen

Kuvitellaan prosessi, johon liittyy yritys ja sen tiedot. Prosessi on automatisoitu muilta osin, mutta sen alussa haetaan YTJ:n yrityshaulla yrityksestä sen perustiedot.

Hakuja tehdään niin harvoin, ettei organisaatio halua maksaa rajapinnan käytöstä perittävää liittymismaksua.

Voisiko tiedot hakea automatisoidusti UI flow:n avulla YTJ:n verkkosivuilta?

Kokeillaan.

UI flow:n luominen

Siirrytään Flow-palveluun. UI flow:t ovat esikatseluvaiheessa (Preview) ja ne löytyvät ainoastaan omien työnkulkujen alta (My flows).

Luodaan UI flow (New -painikkeella).

ui flow

Seuraavaksi valitaan UI flow:n tyyppi. Työnkulkumme käyttää verkkopalvelua, eli valitsemme verkkosovelluksen (Web app).

Huom! Mikäli et ole aiemmin tehnyt UI flow:ta, joudut tässä välissä asentamaan tarvittavat paketit työasemallesi. Seuraat vain ohjeita.

ui flow 2

Annetaan Flow:lle nimi ja määritellään verkko-osoite, jonka Flow käynnistyessään avaa. Esimerkissämme se on https://tietopalvelu.ytj.fi/yrityshaku.aspx?kielikoodi=1.

ui flow 3

Launch recorder -painiketta painamalla siirrytään tallennetaan toiminnot, joita haluamme Flow:n verkkopalvelussa tekevän.

Toimintojen tallentaminen

Avautuva työkalu (Selenium) on eri, kuin millä Desktop UI flow:t rakennetaan. Toimintojen tallennus aloitetaan oikean yläkulman Rec-painikkeella.

ui flow 4

Selenium-työkalun viereen avautuu uusi selainikkuna, jossa toimenpiteet suoritetaan. Kuvassa verkkosivulle on syötetty y-tunnus hakuehdoksi. Näemme miten jokaista selaimessa tehtyä toimintoa kohden löytyy vastaava rivi vasemmanpuoleistesta ikkunasta .

ui flow 5

Suoritetaan verkkosivulla haku ja avataan ainoa hakutulos.

Meitä kiinnostava verkkosivu näyttää tältä.

ui flow results

Ja Seleniumin nauhoitus tältä.

ui flow 7

Parametrien määrittely

Haluamme luonnollisesti tehdä hakuja eri y-tunnuksilla.

Tämä onnistuu vaihtamalla nauhoituksessa käytetty y-tunnus muuttujaksi. Muuttujat ovat muotoa ${muuttujanNimi}.

ui flow 8

Nyt y-tunnus (CompanyCode) on yksi UI Flow:n parametreista.

Mutta miten saamme tallennettua löytämämme yrityksen tiedot?

Lisätään Seleniumiin viimeiseksi kommennoksi Store text. Sen avulla voimme tallentaa verkkosivulta arvoja.

ui flow 9

Klikataan Target-kentän vieressä olevaa Select target in page -toimintoa (merkitty punaisella), jonka jälkeen klikataan tallennettavaa tekstiä verkkosivulta. Esimerkiksi yrityksen nimeä.

ui flow 10

Työkalu täyttää toiminnon Target-osuuden automaattisesti. Kaapatulle arvolle tulee antaa kuvaava nimi (Value) ja kuvaus (Description). Mikäli nämä jättää tyhjiksi, kaatuu Flow:n tallennus virheeseen.

ui flow 11

Poimitaan vastaavalla tavalla talteen sivulta

  • yrityksen osoite
  • puhelinnumero
  • verkkosivun osoite.

Valmis nauhoite näyttää tältä. Lopetetaan nauhoittaminen (Rec-painike) ja tallennetaan UI flow oikean yläreunan kuvakkeesta.

ui flow 12

Olemme valmiit!

Melkein.

Web UI flow:n testaaminen

Web UI flow:ta ei voi testata Desktop UI flow:n tapaan suoraan muokkaustilasta. Testaaminen tapahtuu kutsumalla Web UI flow:ta toisesta Flow:sta.

Luodaan tätä varten Flow, joka kutsuu tekemäämme UI Flow:ta.

ui flow test

UI flow:n palauttama vastaus näyttää tältä.

ui flow test result

Toimii!

Web UI Flow:n hyödyntäminen

Kuvitellaan tilanne, jossa saan päivittäin tehtäväkseni selvittää YTJ:stä usean yrityksen tiedot.

Toimeksiannon saan Excelillä.

ui flow excel

Pääsemme helpommalla, kun tallennamme haun tulokset muualle kuin toimeksianto exceliin. Luodaan kerättäville tiedoille SharePoint-lista.

ui flow sharepoint

Seuraavaksi luodaan Flow, joka käynnistyy kun toimeksiannon sisältävä tiedosto pudotetaan SharePointin dokumenttikirjastoon. Tällöin ensimmäisenä haetaan tiedoston sisältämät taulukot (tiedostossa on niitä yksi).

ui flow step 1

Sitten haetaan taulukon kaikki rivit. Nyt meillä on käsiteltävänä toimeksianto, eli nippu y-tunnuksia.

ui flow step 2

Jokaisen y-tunnuksen kohdalla käynnistetään tekemämme UI flow, joka hakee YTJ:n sivuilta kyseisen yrityksen tiedot. Noudetut tiedot tallennetaan SharePoint-listaan.

ui flow step 3

Lopputuloksena meillä on yritysten tiedot nätisti tallessa.

ui flow step 4

Yhteenveto

Mitä enemmän olen UI flow:ta pyöritellyt, sitä vakuuttuneemmaksi olen tullut siitä että sillä on ehdottomasti paikkansa. Sillä ei voi vielä tehdä mitään oikeaa ratkaisua (virtuaalikoneiden käyttö ei ole tuettua, attented RPA only jne), mutta nämä korjaantuvat kun palvelu siirtyy tuotantokelpoiseksi.

UI flow:n menestys riippuu lopulta siitä, millainen hintalappu sille tulee.

Edit: Hinnoittelu on julkaistu, eikä se vaikuta olevan este UI Flow:n hyödyntämiselle.

Edit: Lue myös juttu, jossa käydään läpi kaikki ne UI Flow:n rakentamiseen liittyvät vaiheet, jotka tässä kirjoituksessa sivuutettiin.