Kirjoitin kesällä sarjan
tekstejä nimellä “Helle haittaa koodaamista” ja lupasin palata
koodaamisharjoituksiin, kun illat pimenevät. No nyt on kyllä ollut niin pimeää,
että ainakin sen puolesta ollut mahdollisuus jatkaa koodausharjoituksia, ja
tässä teille ensimmäisiä havaintoja ja pari videotakin itse koodaamistani
ohjelmistoroboteista. Vielä mennään hyvin alkeissa, mutta ainakin on päästy eteenpäin.
Pääsin töiden puolesta
järjestämään kaksi Mimmit koodaa -workshopia nyt syksyllä ja molemmissa perehdyttiin Robot
Framework –teknologiaan. Aikaisemmassa tekstissäni (Avointa robotiikkaa) kerron hieman
taustoja ohjelmistorobotiikasta ja Robot Frameworkista, joten en kertaa niitä tässä,
vaan menen suoraan asiaan. Robot Framework on nimensä mukaisesti ”framework”
eli suomeksi viitekehys, jonka tarkoitus on helpottaa koodaamista ja antaa
tietynlaista rakennetta. Se sisältää muun muassa kirjastoja, joissa on jo
valmiita avainsanoja ja työkaluja, jotka helpottavat erilaisten ohjelmistojen
automatisointia. Tämä nopeuttaa huomattavasti koodaamista, kun kaikkea ei
tarvitse aloittaa alusta, vaan valmiita palikoita on jo olemassa. Tarkempaa
tietoa Robot Frameworkista löytyy täältä: http://robotframework.org/
Tämän blogin tarkoitus on
avata teknologiatermejä ja tehdä myös koodaamisesta helpommin lähestyttävää,
joten alla hieman sanastoa, millä pääsee hyvin alkuun.
Syntaksi =
ohjelmointikielen kielioppi, jokaisella ohjelmointikielellä on omanlainen
kirjoitusasu ja siitä puhutaan nimellä syntaksi
Robot Framework = automatisointiin
kehitetty viitekehys (alun perin testausautomaatioon, mutta nykyään käytössä
myös ohjelmistorobotiikassa), perustuu Python-ohjelmointikieleen. Alla Robot Frameworkin syntaksia.
Suite = tämä ei suinkaan ole
sviitti, vaan Robot Frameworkissa sivu tai sisältö, joka sisältää kirjoitetun
koodin. Alla kuva suitesta ja sen koostumuksesta.
Settings = tämän alla on
lueteltu kyseisessä ohjelmistorobotissa/automaatiossa käytettävät kirjastot
Test cases / Tasks =
Tähän kuvataan ne asiat, mitä ollaan automatisoimassa, esimerkiksi ”avaa
verkkokauppa ja kirjaudu sisään”
Keywords = Nämä ovat niitä avainsanoja, jossa käsketään ohjelmistorobottia tekemään yksittäisiä toimintoja, kuten ”open browser” eli avaa selain. Avainsanoja listataan Test Cases –osion alle ja niitä voi helposti luoda myös itse lisää ja hyödyntää usealla ohjelmistorobotilla samoja avainsanoja.
Variables = eli suomeksi muuttujat,
tarkoittavat paikkaa, johon ohjelmoinnissa varastoidaan tietoa. Robtin tarvitsee esimerkiksi poimia
järjestelmästä asiakasnumeroita ja tallettaa ne, niin nämä ovat esimerkkejä
muuttujista.
String = Tämä ei tarkoita
pikkuhousuja tai skandinaavista hyllyratkaisua, vaan koodatessa voidaan luoda ”stringejä”
eli suomeksi merkkijonoja. Näitä voi käyttää esimerkiksi silloin, kun pitää
etsiä jostain tekstistä tai numerosarjasta tiettyä kirjainta tai numeroa. Nämä
ovat myös yhdenlaisia muuttujia.
Boolean = tämä on ollut
jotenkin hankala sana ymmärtää, mutta suomennettuna voidaan puhua totuusarvoista
(tosi/epätosi = true/false). Robotti voi kohdata tilanteita, joissa sille on
opetettu, että järjestelmän jossain kentässä on esimerkiksi tietty luku ja jos
näin on, on se ”tosi” ja jos lukua ei kentässä olekaan, on kyseessä ”epätosi”. Boolean on myös yhdenlainen muuttuja.
Alla vielä kaksi todella vikkelää ohjelmistorobottiani, joista saa hyvin käsityksen, minkä tasoista autoamaatiota tällainen aloittelija pystyy rakentamaan. Toinen luo kirjastosovellukseen uuden teoksen tietoineen ja toinen hakee joululahjoja verkkosivulta ja valitsee annetuilla tiedoilla sopivan joululahjan ennalta määritellylle lahjansaajalle.
Tässä ensimmäiset opit ja
perusteet, joiden ymmärtäminen helpottaa huomattavasti koodauksen aloitusta.
Ensimmäisen kerran, kun opettelin ohjelmistorobotiikkaa, ei näitä termejä oltu
avattu mitenkään ja ihmettelin, että miten voidaan olettaa kaikkien tietävän,
mitä tarkoittaa esimerkiksi ”boolean” tai ”string”. Siksi olen näitä nyt avannut ja yksinkertaistanut, jotta muut kaltaiseni koodaamisesta kiinnostuneet pääsisivät vähän
helpommalla. Toivottavasti näistä vinkeistä on apua!