Appium vs innfæddur rammi: Samanburður

Eftir Kouros Aliabadi og Rohan Janjua

Þessi færsla er yfirlit yfir reynslu okkar og ekki endilega öll myndin. Við munum bjóða upp á nokkra tengla og byggja á þessu í framtíðarpóstum til að hjálpa þér í eigin rannsóknum. Við vonum að þetta verði góður upphafspunktur fyrir alla sem vilja gera valið á milli nokkurra leiðandi aðferða við sjálfvirkni farsíma.

Það eru til önnur sjálfvirkni verkfæraskúr en fyrir samhengi þessarar bloggfærslu munum við takmarka okkur við þetta Appium og sjálfgefin tæki fyrir iOS og Android: XCUITests og Espresso í sömu röð.

Appium:

Appium hefur verið defacto tól fyrir sjálfvirkni farsíma á síðustu árum og veitt seleníum reynslu. Hingað til hefur það verið einn af faglegustu hagkvæmum kostunum af ýmsum ástæðum.

  1. Í fyrsta lagi er það málfræðileg tungumál sem styður fjölbreytt tungumál. Ef valið tungumál þitt er með vefstjórann viðskiptavin geturðu notað Appium. Þetta er niður á sameiginlegu jsonWireProtocol. Þetta er mjög þægilegt þar sem það gerir prófhönnuðum kleift að ná tólinu fljótt. Tungumál sem studd er fela í sér, en takmarkast ekki við Java, C #, JavaScript, Python og rúbín.
  2. Það er mjög einfalt að taka upp og byrja auðveldlega. Á svipaðan hátt og fyrri atriðið hefur Appium mikið líkt með Selenium vefstjóranum. Ávinningurinn af þessu er sá að ef prófunarhönnuðirnir eru vanir að skrifa selen vefstjórar vefpróf þá ætti Appium að vera tiltölulega einfalt að taka upp og alveg leiðandi.
  3. Appium gerir kleift að prófa marga palla frá sama prufakóða. Fyrir þá sem starfa í miðlægu prófteymi eða teymi sem vinnur bæði iOS og Android, getur það dregið úr kóðanum á ketilplötunni sem þarf til að vinna með prufuinnviði og hermir.
  4. Að auki í reynslu sumra prófunarverkfræðinga okkar, er stuðningurinn við innfæddur forrit sem notar vefskoðun betri á Appium en flestir aðrir keppendur. Stuðningurinn sem Appium veitir getur verið ómetanlegur þegar kemur að sjálfvirkni blendingaforrita.

Það eru líka sumir gallar við notkun Appium:

  1. Reynslan okkar keyrir Appium mun hægari en próf sem skrifuð eru í XCUITests eða Espresso
  2. Prófkóðinn býr ekki við dev kóða. Nú gæti þetta verið til umræðu en okkur finnst staðfastlega að prófkóði og dev kóða ættu að búa nálægt hvort öðru.
  3. Við prófun á krosspallforritum mun alltaf vera tæknilegt flækjustig sem fylgir Appium. Þú verður annað hvort að:
  4. Viðhalda 2 settum af PageObjects / ScreenObjects sem fylgja einum samningi svo hægt sé að hringja í þau úr aðeins einu prófunarliði.
  5. Skrifaðu tvö próf
  6. Vertu viss um að verktaki noti sömu auðkenni í báðum forritunum

Innfædd tæki:

Tveir helstu vettvangar fyrir þróun appa eru nú með mjög samkeppnishæf sjálfvirkni HÍ: XCUITest og Espresso. Þroski þessara tveggja tækja hefur batnað til muna og í nýlegri ræðu á WWDC 2017Apple hafa gert það ljóst að þau eru mjög virk í að vinna að því að bæta sjálfvirkni verkfæri HÍ.

  1. Það er grundvallaratriði í því að nota XCUITest og Espresso: þau eru búin til af vettvangsaðilum: Apple og Google. Þessi tæki verða alltaf á undan ferlinum fyrir prófanir á iOS og Android. Sérhver nýr eiginleiki frá Appium væri í flestum tilvikum byggður ofan á virkni núverandi innfæddra tækja.
  2. Annar helsti ávinningur í augum okkar er að þú munt láta prófarakóðann fylgja með frumkóða verkefnisins. Þetta er kannski til umræðu lítillega en við munum ræða þetta í framtíðinni. Í bili munum við bara fullyrða að við teljum að það að hafa prófkóðann þinn innan sama verkefnis og á sama tungumáli og verktaki þínir noti hafi mikla hag. Það veitir meiri hvata til samstarfs innan teymisins og gerir öllum kleift að auðveldlega leggja sitt af mörkum í þessum þætti hugbúnaðarþróunar.
  3. Stundum er ætlunin að Android reynsla verði frábrugðin iOS upplifuninni, með því að skrifa prófin þín fyrir hvern vettvang þarftu ekki að flækja prófarammann þinn til að takast á við þessar aðstæður.
  4. Mikið minna flagnandi. Innfædd verkfæri eru bara minna flagnandi. Það kann að hafa eitthvað að gera með minni fjölda hreyfanlegra hluta og minna lag af samskiptum milli prófkóðans og tækjabúnaðarins, en próf sem skrifuð eru með innfæddum tækjum virðast vera miklu minna flagnandi.
  5. Þú getur notað miklu stærri tækjabúnað en ef þú notar tæki eins og Appium. Til dæmis með Android hefurðu aðgang að bæði UiAutomator bókasafninu og Espresso bókasafninu.

Espresso:

Android próftæki Google Espresso hefur nokkrar sniðugar eiginleikar sem vert er að nefna.

  1. Espresso er mjög hratt, við höfum aldrei séð eitthvað svo hratt í sjálfvirkni HÍ. Það er eins og Flash of UI sjálfvirkni, ekkert annað tól kemur nálægt hraða þess.
  2. Þú þarft ekki að hafa áhyggjur af því að bíða eftir að hlutirnir gerist eða ljúka í prufukóðanum þínum þar sem Espresso sér um þetta fyrir þig, að undanskildum nokkrum undantekningartilvikum. Þetta tekur í raun það brothættasta við sjálfvirkni HÍ úr jöfnunni.
  3. Espresso notar „gráa kassa“ prófunaraðferð. Ekki alveg svartur kassi, ekki alveg hvítur. Með espresso hefur prófarinn miklu meiri stjórn á forritinu en í svarta kassa tól eins og appium.
  4. Espresso leyfir prófunaraðilanum að nota tæki eins og Robolectric, ramma til að keyra Android SDK án þess að ræsa upp hermir eða tengja tæki. Hvað þetta þýðir er að prófin þín byrja hraðar og keyra líka hraðar.

Það er til ramma svipuð Espresso, einnig búin til af Google, fyrir iOS prófanir sem vert er að nefna hér: EarlGrey. Við höfum ekki notað það, en ef það færir sumum kostum Espresso í iOS er það vel þess virði að skoða.

Það eru líka nokkrir gallar við notkun innfæddra prófa tækja:

  1. Ef þú ert að þróa krosspallforrit þarftu mögulega að hafa tvöfalt fleiri próf samanborið við ef þú notaðir tæki eins og Appium.
  2. Ef þú ert að þróa krosspallforrit þarftu að kunna tvö tungumál.
  3. Fleiri flækjur geta verið þátttakendur í þessari nálgun. Þetta er aukaverkun aukaaflsins og aðgangsins sem verkfæri eins og Espresso getur veitt prófaranum. Til dæmis bíður Espresso sjálfkrafa eftir að atburðum ljúki í forritinu sem er prófað með IdlingResource. Í sumum tilvikum verður prófunaraðilinn þó að innleiða IdlingResource handvirkt.
  4. Með tól eins og Espresso getur prófunaraðili sett forritið í það ástand að það er ekki víst að það geti náð frá sjónarhóli notanda. Aftur, þetta er hin hliðin á aukakraftinum sem þú færð.