{"id":40234,"date":"2021-04-06T11:48:58","date_gmt":"2021-04-06T11:48:58","guid":{"rendered":"https:\/\/www.globallogic.com\/sk\/?post_type=insightsection&#038;p=40234"},"modified":"2025-03-08T18:39:24","modified_gmt":"2025-03-08T18:39:24","slug":"automatizovane-testovanie-mobilnych-a-webovych-aplikacii","status":"publish","type":"insightsection","link":"https:\/\/www.globallogic.com\/sk\/insights\/blogs\/automatizovane-testovanie-mobilnych-a-webovych-aplikacii\/","title":{"rendered":"Automatizovan\u00e9 testovanie mobiln\u00fdch a webov\u00fdch aplik\u00e1ci\u00ed"},"content":{"rendered":"<div class=\"classic_editor_content\"><span style=\"font-weight: 400;\">S pr\u00edchodom smartf\u00f3nov a mo\u017enosti p\u00edsa\u0165 aplik\u00e1cie do telef\u00f3nov a tabletov vznik\u00e1 \u00faplne nov\u00fd IT segment, na ktor\u00fd reaguje aj testovanie. Vznikaj\u00fa nov\u00e9 technol\u00f3gie a postupy, ako testova\u0165 aplik\u00e1cie na mobiln\u00fdch zariadeniach.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Jednou z najv\u00e4\u010d\u0161\u00edch v\u00fdziev automatizovan\u00e9ho testovania b\u00fdva testovanie viacer\u00fdch typov mobiln\u00fdch zariaden\u00ed a r\u00f4znych verzi\u00ed opera\u010dn\u00fdch syst\u00e9mov (Android, iOS). <\/span><b>Dokonca je mo\u017en\u00e9 pou\u017ei\u0165 jeden k\u00f3d na testovanie aj iOS, aj Android, aj web rozhrania.<\/b><span style=\"font-weight: 400;\"> Po\u010fme si predstavi\u0165 mo\u017en\u00e9 rie\u0161enia.<\/span><\/p>\n<h3><b>Appium<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Jedn\u00fdm z l\u00eddrov v tejto oblasti je Appium. Appium je \u201copen source\u201d [1] n\u00e1stroj nap\u00edsan\u00fd v NodeJS. Je vhodn\u00fd na sp\u00fa\u0161\u0165anie skriptov na testovanie nat\u00edvnych aplik\u00e1ci\u00ed, mobiln\u00fdch webov\u00fdch aplik\u00e1ci\u00ed a hybridn\u00fdch aplik\u00e1ci\u00ed na Androide alebo iOS pomocou protokolu Webdriver. M\u00e1 \u0161irok\u00fa z\u00e1klad\u0148u pou\u017e\u00edvate\u013eov a existuje ku nemu obsiahla dokument\u00e1cia [2]. <\/span><span style=\"font-weight: 400;\">Appium je server, cez ktor\u00fd sa p\u00fa\u0161\u0165aj\u00fa skripty, \u010di u\u017e vo\u010di re\u00e1lnym zariadeniam, alebo spusten\u00fdm cez emul\u00e1tor.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ve\u013ekou<\/span><b> v\u00fdhodou<\/b><span style=\"font-weight: 400;\"> je pln\u00e1 kontrola nad cel\u00fdm procesom spustenia skriptov a nad konfigur\u00e1ciou emulovan\u00fdch zariaden\u00ed. \u010eal\u0161ou v\u00fdhodou je mo\u017enos\u0165 nap\u00edsa\u0165 testovacie skripty vo viacer\u00fdch jazykoch, \u010di u\u017e Python, Java, PHP alebo Ruby. Rovnako je mo\u017en\u00e9 spusti\u0165 na mobilnom zariaden\u00ed mobiln\u00fa webov\u00fa aplik\u00e1ciu.\u00a0<\/span><\/p>\n<p><b>Nev\u00fdhodou<\/b><span style=\"font-weight: 400;\"> Appium je absencia testovania webovej aplik\u00e1cie na webovom prehliada\u010di na \u201cdesktope\u201d. Pre testovanie webovej aplik\u00e1cie na stolov\u00fdch po\u010d\u00edta\u010doch a laptopoch je jedn\u00fdm z vhodn\u00fdch a popul\u00e1rnych rie\u0161en\u00ed napr. Selenium [3]. Toto v\u0161ak znamen\u00e1 rozdelenie b\u00e1zy testovacieho k\u00f3du pod\u013ea platformy.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">Appium je dobre pou\u017eite\u013en\u00e9 ak testovac\u00ed t\u00edm pracuje samostatne bez t\u00edmu developerov. K dispoz\u00edcii potrebuj\u00fa iba in\u0161talovate\u013en\u00fa verziu aplik\u00e1cie, ktor\u00e1 je predmetom testovania.\u00a0<\/span><\/p>\n<h3><b>\u010co ak chceme ma\u0165 jeden testovac\u00ed k\u00f3d pre v\u0161etky platformy?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">V posledn\u00fdch rokoch prich\u00e1dza snaha zo strany v\u00fdvoj\u00e1rov ma\u0165 jeden k\u00f3d, z ktor\u00e9ho sa generuj\u00fa aplik\u00e1cie pre viacer\u00e9 platformy (Android, iOS, ale aj web). Jednou z t\u00fdchto technol\u00f3gi\u00ed je React Native. Ruka v ruke prich\u00e1dza aj mo\u017enos\u0165 testova\u0165 viacer\u00e9 platformy s pou\u017eit\u00edm jednej b\u00e1zy k\u00f3du pomocou CodeceptJS [4]. <\/span><b>CodeceptJS<\/b><span style=\"font-weight: 400;\"> je tie\u017e \u201copen source\u201d [5]. Testy s\u00fa p\u00edsan\u00e9 v \u0161t\u00fdle tzv. BDD (Behavior-Driven Development), pou\u017eit\u00edm syntaxe Gherkin. Na spustenie testov vo\u010di re\u00e1lnym alebo emulovan\u00fdm zariadeniam sa d\u00e1 pou\u017ei\u0165 vy\u0161\u0161ie spom\u00ednan\u00e9 Appium. Na testovanie webovej aplik\u00e1cie je op\u00e4\u0165 mo\u017en\u00e9 pou\u017ei\u0165 Selenium driver. Ak je teda potrebn\u00e9 otestova\u0165 aplik\u00e1ciu, ktor\u00e1 m\u00e1 rovnak\u00fa funkcionalitu na viacer\u00fdch platform\u00e1ch (Android, iOS, web), CodeceptJS je jedn\u00fdm z ve\u013emi vhodn\u00fdch n\u00e1strojov pre automatizovan\u00e9 testovanie. Nie je potrebn\u00e9 deli\u0165 b\u00e1zu testovacieho k\u00f3du pre nat\u00edvne a webov\u00e9 aplik\u00e1cie.<br \/>\n<\/span><span style=\"font-weight: 400;\">Pre samotn\u00e9 spustenie skriptov sa v r\u00e1mci CodeceptJS vyberie n\u00e1stroj, cez ktor\u00fd sa testy sp\u00fa\u0161\u0165aj\u00fa.<\/span><\/p>\n<h3><b>TestProject<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">\u010eal\u0161\u00edm zo zauj\u00edmav\u00fdch rie\u0161en\u00ed pre vytv\u00e1ranie komplexn\u00fdch multiplatformov\u00fdch testov je TestProject. TestProject je pomerne nov\u00fd projekt, pon\u00fakaj\u00faci grafick\u00fa nadstavbu (GUI) pri vytv\u00e1ran\u00ed testov. Viac sa m\u00f4\u017eete do\u010d\u00edta\u0165 v na\u0161om \u010fal\u0161om \u010dl\u00e1nku <a href=\"https:\/\/www.globallogic.com\/sk\/blog\/automatizovany-testovaci-framework-testproject\/\">TU.<\/a><\/span><\/p>\n<p><span style=\"font-weight: 400;\">Referencie:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\"><a rel=\"external nofollow\" target=\"_blank\" href=\"https:\/\/github.com\/appium\/appium\"><span style=\"font-weight: 400;\">https:\/\/github.com\/appium\/appium<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\"><a rel=\"external nofollow\" target=\"_blank\" href=\"http:\/\/appium.io\/docs\/en\/writing-running-appium\/running-tests\/\"><span style=\"font-weight: 400;\">http:\/\/appium.io\/docs\/en\/writing-running-appium\/running-tests\/<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\"><a rel=\"external nofollow\" target=\"_blank\" href=\"https:\/\/github.com\/SeleniumHQ\/selenium\"><span style=\"font-weight: 400;\">https:\/\/github.com\/SeleniumHQ\/selenium<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\"><a rel=\"external nofollow\" target=\"_blank\" href=\"https:\/\/codecept.io\/\"><span style=\"font-weight: 400;\">https:\/\/codecept.io\/<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\"><a rel=\"external nofollow\" target=\"_blank\" href=\"https:\/\/github.com\/codeceptjs\/CodeceptJS\"><span style=\"font-weight: 400;\">https:\/\/github.com\/codeceptjs\/CodeceptJS<\/span><\/a><\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Zistite ak\u00e9 s\u00fa si mo\u017en\u00e9 rie\u0161enia modern\u00e9ho automatizovan\u00e9ho testovania a pre\u010d\u00edtajte si bli\u017e\u0161ie o Appium, CodeceptJS a TestProject. <\/p>\n","protected":false},"author":12,"featured_media":39377,"parent":0,"menu_order":0,"template":"","insight":[41],"insight-subcats":[63],"insight-industry":[750],"insight-services":[],"insight-partners":[],"class_list":["post-40234","insightsection","type-insightsection","status-publish","has-post-thumbnail","hentry","insight-blogs","insight-subcats-agile","insight-industry-technology"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insightsection\/40234","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insightsection"}],"about":[{"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/types\/insightsection"}],"author":[{"embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/users\/12"}],"version-history":[{"count":2,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insightsection\/40234\/revisions"}],"predecessor-version":[{"id":102453,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insightsection\/40234\/revisions\/102453"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/media\/39377"}],"wp:attachment":[{"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/media?parent=40234"}],"wp:term":[{"taxonomy":"insight","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight?post=40234"},{"taxonomy":"insight-subcats","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight-subcats?post=40234"},{"taxonomy":"insight-industry","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight-industry?post=40234"},{"taxonomy":"insight-services","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight-services?post=40234"},{"taxonomy":"insight-partners","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight-partners?post=40234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}