0:00:16dobrý den
0:00:17já jsem _e si zasmát o a vy tam a tady na _e chcete krátké přes ta testování webového ju
0:00:25I
0:00:27díky ste si svěřila tolik
0:00:29a že se narodili nepřišli tato se omlouvám
0:00:34_e
0:00:36proto je ta přednáška _e
0:00:39jelena
0:00:41myslím že _e
0:00:43cizí takže odnese něco jak _e si bude tam základní přehled
0:00:47o nějaké terminology
0:00:50něco pro řekne designéry developer i při
0:00:54_e a na co nezapomenout takovej _e
0:00:57na co nezapomenout při vývoji stránek aby
0:01:02řekněme nebo se _e developer _e usnadnili práci pro ten čili _e vyjmenujeme pár nějakých nástrojů
0:01:12_e
0:01:13dobrou noc tady které jsou použitelné _e třeba mě v praxi osvědčily a
0:01:20a na závěr si řekneme něco
0:01:22trošku víc o selenium dva a když bude čas tak si ukážeme nějaké příklady _e
0:01:30eventuelně vám může třeba ukážu
0:01:34pokud to neznáte jak vypadá ten a S jmeter u
0:01:40soudit to se podívám proto jak bude čas
0:01:43jo to by vás poprosil abyste si případný poznámky _e
0:01:48zaznačily _e _e nebo otázky poznačili a budeme řešit nakonec
0:01:55_e
0:01:57podstaty věci pilířích _e si říkám
0:02:00_e jsou rozvedené _m bloku
0:02:04_e
0:02:05to neříkám jenom pro tady už _e reklamu ale protože na na ten formát nebyla to časové _e
0:02:13a teďka si rozhlase máme
0:02:15není _e
0:02:16není možné v něm
0:02:18_e i do takový detailů takže poklesu mobilitu zajímat tak _e buď tam a nebo
0:02:28to budu mates odpovím
0:02:33ten
0:02:41takže když se bavíme testová jaksi musíme především
0:02:44především uvědomit nebo říct ale chceme testovat
0:02:48_e
0:02:50fázi ne není žádná novinka ale to rekapituluju to je to především abychom
0:02:57_e potvrdit že ta aplikace chová tak jak silně očekává a tím že vyhovuje nějakým zadefinovaný standardu nebo
0:03:06_e že se chová tak jak _e je domluveno zákazníkem čili v rámci třema je _e může to by současně
0:03:14jaký akceptačních testů
0:03:16potom
0:03:17druhá
0:03:18a druhý důvod proč testovat je _e zabrání regret tím znamená
0:03:25chytrák nějaké funkce lidi která vždy fungovala
0:03:28_e
0:03:29nebo na
0:03:32vražda jednostranně na
0:03:35_e
0:03:36tak zvané bez daně _e právě element je běžné že pokud přenášená chyba
0:03:42napíšete který detekuje a pro jeho právě _e idente měl
0:03:47_e
0:03:48plocha je v zařazeno vedla regresní tady tady testu
0:03:57to se nějak mít dva _e dva důvody
0:04:02a se i co se týče provádí
0:04:05je automatizované
0:04:08_e ano
0:04:10tomu se tomu se
0:04:13nevyhnete až stejných _e většinou
0:04:16jsou jenom manuální deset tadyhle _e typicky okolí kárání aplikace
0:04:22a tím scénáře
0:04:24samozřejmě přímo neteřím první ten scénář psaný
0:04:28tímhle té
0:04:30_e výhoda manuálně by správně strom že
0:04:34_e u toho sedí člověk může
0:04:38kroky které se
0:04:39_e ten _e testovací scénáři
0:04:43_e
0:04:46relativizovat
0:04:47vůči třeba nějaké to nějakým počáteční post _e hodnot _e nebo jinému aktuálnímu stavu
0:04:53nevýhoda těch je mnoho
0:04:56nevýhod _e krát _e že náročné nenásilné naším i _m sameček něco si špatně vyloží asketickou tak asi má být
0:05:07_e nebo
0:05:09naopak přeskočí
0:05:12_hm
0:05:14a tak zvaných cestu to je větší _e této
0:05:18_e toto se všichni _e
0:05:22mně
0:05:23snažím
0:05:24až it nepotřebuji zásah
0:05:27zásah člověka najisto že by se nějaký test omylem nepřeskočil
0:05:34_e
0:05:35výhoda samozřejmě že se _e je to
0:05:39musí se v rámci
0:05:41nějaký kosinus integra ten případně znamená tady ty
0:05:46při té změně
0:05:50_e je to tedy čem
0:05:52nějakého rozsahu
0:05:54dělíme nájmy testy které testují nějakou konkrétní zrovna tady jednotku porcelanity přídu metodu _e
0:06:04potom sou testy systémové nebo tak jen to vemte protestují vlastně R
0:06:10aplikace _e s okolím bity
0:06:14_e s uživatelem v podstatě
0:06:18dá se říct že a nějaké justice a diagramy tak
0:06:22_e
0:06:23všecko to není
0:06:25a xor tak _e sou
0:06:28systémové testy
0:06:30_e mezi systémovými a init testy je potom _e
0:06:36to test integrační které testuji kombinace _e komponent a jejich zájem i pro vzájemné propojení
0:06:46o tom
0:06:48když už se ty pouštíme
0:06:50tak máme možnosti
0:06:52_m
0:06:53nebo jsem si narazil zabývat tím jestli
0:06:57_e ten tak pouštět _e to vlastně aplikaci pouštět standalone uznaná tak taky běžně nasazena nebo nějakým _e medit kontejneru
0:07:08a tu klientskou část i jsem pro stresy pošle lokálně nebo vzdáleně
0:07:20co se týče co se týče toho _e _e toho
0:07:24tendence run tak se mi to jednoznačné _e ten displej mentě podobný _e
0:07:31tak jak to jenom dete _e běžné
0:07:34už nemá nasazení
0:07:38nevýhoda může být že třeba na některých platformách protivníkem protože už pracuje
0:07:43_e
0:07:50souboj _e a samozřejmě někde tomu si
0:07:55předělat pro tu kterou pak
0:07:59ty
0:08:04jasně
0:08:07a _e kde
0:08:08_e tím
0:08:12holka _e spustí lokálně nebo
0:08:20_e
0:08:26testovat si až tydescis pojí S vzdáleným serverem
0:08:30_e
0:08:32máte lepší pře o tom co se tam prohlížeče je
0:08:39_e nekoliduje to vlastně se _e se standardně běžícími testy _e v rámci třeba _e _e
0:08:47postě třeba zhasnu nebo jenkins no
0:08:53a _e
0:08:55co se týče vzdálených _e zarovnání tam jedna z výhod je
0:09:00_e třeba že můžete mu máte možnost vyzkoušet ona prožití který nemáte na svém na sem počasí k dispozici
0:09:08dycky pokud jeden linuxu a aplikace misema tesla ty na internet exploreru
0:09:14nevýhoda že potom potřeba nějaká forma remote desktop o pokud se chcete dívat
0:09:18to dělá
0:09:43no
0:09:50testovatelnost proč se vůbec sežene ty zabývat
0:09:55je to se na to jsme si ostatně bavili
0:09:59_e
0:10:02definice toho že nějaká času třeba i ty je udělaná by měla zahrnovat i to že _m prochází testy a
0:10:11pochopitelně
0:10:13_e
0:10:16S or T pusu si _e nutné kdo má vysvětlili napsat je potřeba jakým způsobem _e taky minimalizovat
0:10:26anebo má alespoň _e
0:10:29dostanete jako
0:10:32neuron o upotřebit ano míru
0:10:35_e s jakými
0:10:37s jakými problémy nebo
0:10:41_e s tím se _m může můžete se ptát co je mi
0:10:46_e
0:10:48tři
0:10:54že testování aplikace která se používá _e velice intenzivně page X
0:11:00_e tak
0:11:03sou ty problémy
0:11:04_e
0:11:06to sou super nevíte kdy
0:11:09_m nejste schopni jeden _e defi _e detekovat že se třeba nějaká třeba stránky změnila nebo třeba se vraťme
0:11:20řekl S rují _e
0:11:23_e pořadí které
0:11:27poněkud C
0:11:31neodpovídá tomu zase _e je to jak se používá uživatel
0:11:38typická nutnost _e
0:11:41indikace změny je
0:11:46mluvil
0:11:48když máte _e tabulku kde se refresh vy data po nějakém čase intervalu
0:11:54a
0:11:56_e váš test bude čekat na tomáš až a se změní
0:12:00já jsem to tak _e ten kód musí nějakým způsobem poznat
0:12:04že té změně došlo
0:12:08a pokud _e
0:12:10pokud to pokud to není se _m pokud _e práce není něco proč aby to pozná takže to dělala skrytá
0:12:17proměna text _e
0:12:20třeba část _e tom
0:12:23_e
0:12:24tom rozhraní je vypsané někde sem rozhraní je potom velice _e obtížné zaručit tři a že že aby ten de
0:12:33byl _e robustní
0:12:46typickým
0:12:49typickým příkladem se _e druhé _e kategorie může být _e
0:12:57tabulka která má nějaký která je ten že vana
0:13:01a
0:13:02ten takže se ne pro ten ten takže se nepřekresluje _e současně s tím obsahem samozřejmě uživateli to nevadí pokud
0:13:09je tam rozdíl řádově desítek _e
0:13:13řádově _e
0:13:17dnes desetin _e vteřiny ale _e ten testu Š potom může třeba
0:13:23_e klikat na
0:13:26na odkaz který _e který tam mít nemá
0:13:32pro vole problematickým dalším prvkem profese remízy pro to po určitém časovém intervalu ze stránky
0:13:39je to příklad nějakých já nestydí které
0:13:49_e které se objeví a procesor a mansona že po časem a časem teda interval se mají odstranit
0:13:55_e působit o problémy z toho důvodu že plus ta aplikace je po C
0:14:02_e která se testuje pod nějakého zátěží způsobenou třeba tím že se testu na na konkrétním _e počítači neživý
0:14:11a
0:14:15ne _m nebo ten vitální které tento pošité má omezené zdroje tak _e
0:14:24test který očekává přikážu
0:14:29že na na na stránce se pokud se dostane aplikace využito stavu objeví nějaký element tak já může _e může
0:14:37lehce
0:14:38tak ondra zájmové až v neděli tam ten ale ne z není tím pochopitelně lečo pochopitelně složitý můžete spadne aniž
0:14:46by aniž byste a vlastní aplikaci byla chyba
0:14:53pokud _e takže switch nějaké doporučení _e pokud to programujete _e takovejhle elementy
0:15:02tak _e
0:15:05tam dejte možnost _e ten časový interval vypnout nebo aspoň _e nebo nastavit na nějakou no a délku
0:15:14výrazně tím _e výrazně tím usnadníte potom vlastní se vlastně testování
0:15:20_e
0:15:25rom _e _e ta robustnost _e test a ty testy budou to skutečně _e vy _e vyhledávat chyby které sou
0:15:32aplikaci a nevlastní testech
0:15:37je možno samozřejmě to obcházet _e
0:15:42respektive řešit to ze strany toho člověka který ty testy píše
0:15:48napadá mě možnost třeba _e filtr ktery ten L detekuje že i že sem zařazeny do zpracování se toto toho
0:15:56požadavku který jako režim prochází ten který který který obsahuje
0:16:02a ten _e
0:16:05timeout a přepíše ona
0:16:08libovolně vysokou hodnotu nicméně
0:16:11_e
0:16:13samozřejmě
0:16:15tím se mění de provence _e T T vlastní aplikace prostor tento sme ten test je tam jiný to nějaký
0:16:22navíc tom zpracování a ten vlastní se teda může může způsobit další
0:16:29_e další chyby
0:16:32a ačkoliv
0:16:34samozřejmě je dobré psát testy na testy
0:16:38tak _e _e
0:16:40je potřeba přátel března rozumné v úrovni _e dohledu pracnosti už protože běžně
0:16:48ve firmách ten _e testovací tým na je dost malý a
0:16:53_e
0:16:55ta
0:16:58řekněme s pracovní pracovní zátěž je jasné vyrovnaná vždycky na konci nějakého right _e iteračního cyklu je té práce jedete
0:17:07práce podstatně víc a
0:17:12určitě určitě není _e není dobré si vytvářet nějaké vlastní vlastní problémy je potřeba dát kdybyste aplikaci
0:17:21co může _e to bych doporučil
0:17:23_e další také validace
0:17:27validace _e stránky jedno z toho důvodu že _e některé chyby jsou poměrně obtížně odhalitelné
0:17:37_e
0:17:40_e můžu můžou za můžou souviset s tím nějak
0:17:44_e pro se zpracovává
0:17:46_e jak reprezentuje do model a jakým způsobem _e _m zpracovává
0:17:53nějaké nějaký dělat typy koho spouštěny _e _e sem boxu toho
0:18:00_e toho prohlížeče
0:18:03a validace potom takový první krok _e k tomu abyste věděli do _e
0:18:09a první krok k tomu ověření že
0:18:12a ten _e ta ta stránka nějakým způsobem
0:18:19řekněme jevili je větší šance _e
0:18:24po regiony jo korektně zpracování nějakou střev a ty knihovnou
0:18:30_hm
0:18:32příkladem může by T
0:18:35třeba knihovna která _m
0:18:39řeší _e která interpretuje X pás výrazy _e pro
0:18:45exploreru protože ten nativně zatím
0:18:48timletim nedisponuje
0:18:59to sem co se týče některých tady těch negativní negativní _e prvků které se nedělal tak třeba absence indikace změny
0:19:09nebo prvky mizející ze stránky po časovém intervalu to jsou typicky _e problémy tedy
0:19:16_e které nette narazíte pokud byste třeba vyjeli portálové a nějaká řešení a snaží se zkreslovat _e administrativní rozhraní like
0:19:25projekce do
0:19:28ohledu testovatelnosti dost špatně _e pak špatně děláme
0:19:33ze teče validace
0:19:35_e
0:19:38opět _e tomletom prostředí _e
0:19:45můžete mi C bude bude validace obtížně nasaditelná protože třeba průsek regenerují odkazy také generují invalidní
0:19:53byť trojice se s tím poradí
0:19:57rozhodně bych doporučil každýmu každému prvku kterým chcete nějakým způsobem _e zas tom testu pracovat a protože to nevíte dopředu
0:20:05tak asi každému
0:20:07a přiřadit unikátní a jiný
0:20:10proč toho důvodu že
0:20:12_e adresace přes _e přes a její je
0:20:16bez ohledu na prohlížeč že _e nejrychlejší
0:20:20je to dát pozor na to když třeba nějaký prvek _e má with karty ze stejné stránce
0:20:28tak aby ta jednička nebyla
0:20:30duplicitní
0:20:33což by vám třeba odchytila právě ta validace
0:20:36tak _e případy kdy tohoto potřebujete tak _e je
0:20:40se celkem osvědčilo
0:20:43zase celkem osvědčilo
0:20:45_e X nějaký společný prefix vajíčkách ani nějaký unikátní _e třeba náhodný řetěze
0:20:58_e kuřete _e pokud se zas není z principu možné odlišit _e
0:21:03instance nějaké komponenty té stránce od sebe
0:21:08potom _e
0:21:11_e dnes _e krome zádička plán anebo místo toho a jednička můžete se může použít klást atribut
0:21:18a
0:21:20_e rozlišovat rozlišovat _e ty prvky pole pořadí
0:21:28_m teďka _m
0:21:30by stálo asi za to říct jaké nástroje lze použít _e testování se může todle není zdaleka vyčerpávající výčet těch
0:21:41_e použitelných nástrojů jsou desítky
0:21:46_hm tady
0:21:48tento krátký výčet
0:21:50_e zvládne nástroje které _e tady měla máme
0:21:54buď do B nebo aspoň nějaké _e zkušenosti a většinou o sopka neviděl je
0:22:02na nebo umožnily _e používání javy zima _e vím kolik se může selenium které lze
0:22:09_e
0:22:11_e volat hrozny _e různých jazyku nicméně to se mně že texasem saponát používá v javě
0:22:19představím
0:22:21představím _e
0:22:25doba _e ty jednotlivé nástroje
0:22:29selenium
0:22:31selenium se vrátíme ještě potom
0:22:35_e ypsilonové podrobněji
0:22:42takže to tedy přes milenia to jako takové vzniklé v roce dva tisíce čtyři
0:22:48_e stát vo _e správnost
0:22:50_e autorem že jsem ládin
0:22:53_e se nedá selete úspěšný
0:22:56projekt vlastně _e cíle názor a bylo
0:23:02bavit se právě to ono kliká vání
0:23:05_e a
0:23:07řešeto formou jakési praxi
0:23:10která _e potom před _e před dělat firmy _e spouštěla prohlížeči nějaký
0:23:17_e nějaký to _e ten projekt _e teďka poměrně velký ohlas sme něměl
0:23:24měli sta _e
0:23:26omezení
0:23:28proto v roce dva tisíce
0:23:31šest
0:23:33_e se mastil _e googlu _e
0:23:39přišel s projektem webdriver
0:23:41který se snaží nepřekoná dcera
0:23:45omezení toho semeny a
0:23:50a to a _m a ten _e jednak _e
0:23:56možnost nepohodli nebo štětko to mě sem boxu chceš tom selenium
0:24:02systémové ale není to zdaleka pohodu ne
0:24:05a navíc a určité typy
0:24:08operaci nepustíte _m file upload _e dialog _e vám třeba _e neumožní se nebo
0:24:18použit
0:24:20na některých prohlížeči
0:24:23je to samozřejmě bezpečnostních důvodů
0:24:26_e
0:24:28další _m problém byl ve nebo problém nešikovnost milenia je že
0:24:34jo rozhraní
0:24:36které není příliš objektově orientované
0:24:43_e
0:24:44_m samozřejmě výkonná co čtyřech prohlížeč
0:24:48to je v R používá po dost odlišný přístup oproti tomu selenium jedná
0:24:53a
0:24:54_e pro žitím set tak jednotlivým prohlížečů zná na tom kterých platformách infra připojuje přes těch nativní rozhraní to znamená
0:25:05každý _e takže ten projekt má jakýsi svůj
0:25:09frajver kterým se ten _e
0:25:11_e prosím semen témata výhody
0:25:14i nevýhody
0:25:16_e vlastně rozebereme
0:25:19rozebereme později
0:25:22_e
0:25:23samozřejmě _e
0:25:26ty
0:25:27vyhledá fleky spoj _e komunikovali já dva roky později roce dva tisíce osum se dohodli na tom že futrál něco
0:25:33uzří se dohodli na tom že
0:25:36_m
0:25:37že _e
0:25:41to čeho do ciziny spojité na projektu a vzniklo selenium dva
0:25:45to je projekt který _e spojuje který momentálně zpětně kompatibilní obsahuje jak rozhraní zelený a jedná tak zvaný se _e
0:25:56webdriver u
0:25:58samozřejmě _e
0:26:01pokud píšete nový kolo tak bych doporučil ten webdriver
0:26:06případě jsem to konec _e
0:26:10že N je nezbytně nepotřebě fousek se tam ještě nejsou s _m buď dobře nebo vůbec na implementován
0:26:16k tomu se ještě dostaneme _e
0:26:19ta
0:26:20_m podpora se na jedné tam hlavně proto aby se daly postupně testy převádět to znamená abyste byli schopni kombinovat
0:26:28já s _e testy se v jedné _e toho dbej
0:26:33jak _e
0:26:37jasný vlastní
0:26:39_e exite si to selenium jedna tak _e ty nové webdriver rostě
0:26:44_e o selenium se hodně používají _m
0:26:51X tak výrazy _m z toho důvodu jsem tady uvedl a R dva a si ho všichni znáte
0:26:57tak jenom _m stručně je to X než na do
0:27:03rodiče fajn vox
0:27:05_e máte
0:27:07_e umožňuje _e nidace jde bodování
0:27:12monitorování vlastně tohoto stejně ve stránce
0:27:16je tam honza přes kterou _e
0:27:18přes _e kterou se právě dají a dobře
0:27:22_e
0:27:23dobře
0:27:27testovat _e
0:27:28že tady s pásové výrazy
0:27:31to si můžeme ukázat pokud
0:27:33třeba nevíte _m nicme ta funkce semene _e do dolar X a jim po parametrem je potom ten vlastní pásovej
0:27:41výraz
0:27:42_m samozřejmě logování
0:27:46a ke vysvětlit obsah obsahu těch _e
0:27:51těch objektu na stránce
0:27:53_e
0:27:56co se týče toho logování tak _e samozřejmě pokud máte ve svém potom dělat kristen korun volání ty _e logovací
0:28:03funkci tak jako ty factor fungovat nebudou
0:28:07a asi na to jestli _e různé další hrany ledovce a to jeho dodají
0:28:13já jsem měl celkem úspěch _e _e _e prostorách že se menuje kompanie _m děje S že
0:28:22pokud potom potřebujete ty _e kilo _e
0:28:27ty
0:28:29zprávy zálohované S
0:28:31_e _m které
0:28:33jestli T T L tak můžete požít o to
0:28:37_e jmeter
0:28:39je nástroj
0:28:43_e pro
0:28:45tak tady performer testování
0:28:48web aplikaci oba ty na to je ten že my tedy anti antipatros _e má soud napsané v javě _e
0:28:56mají nějaké
0:28:57_e
0:28:59grafické uživatelské rozhraní
0:29:01a a jmeter u si můžete
0:29:05nahrát nějakou session tím že _e funkcemi chovat jako prostě nahrává event i přes které přesně
0:29:12dní prochází potom to editovat
0:29:17_e ten _e
0:29:19parametrizovat
0:29:21a ty scénáře slovy K sou se formáty chceme a může si říkáme tak takový scénář vypadá na konci
0:29:27_e
0:29:30je to je to dobrý nástroje nicméně _m
0:29:33mluv určitých ohledech i věk poslední deset procent F se říká
0:29:39_m
0:29:41je potřeba si dát pozor
0:29:44abyste si testy třeba nevynechali mi všechno z toho a pokud se tam vypisují výsledky do nějaké tabulky tak ono
0:29:50se to ono se to dá do rádo po nějaké době zahltit takto
0:29:55můžeš padnout
0:29:57_e
0:29:59problém je tam diktováním těch vlastních _e
0:30:03_e
0:30:05scénářů
0:30:08váš pokud _e sto _m neděláte potřebujete aby jeden schopen updatovat nějaký kolega
0:30:16z toho důvodu _m zase dá se to obejít _e tím že použijete nějakou pro při kterou nahrajete
0:30:24to vlastní řešen kterou rychle projdete toto ten ten _e s má dělat
0:30:28_e a ste _e toho záznamu té slyším potom nějakým skriptem idolu milujete ty parametry které _e které kterým nahradit
0:30:39nějaké
0:30:39_e tady vhodné jsem že mi teda je scénáři které si tam vyplynuly před nezavřem sice umístit
0:30:46toho důvodu je tady _e uvedená ještě a _e aplikace aby pános
0:30:52_hm
0:30:53cože jakási _m
0:30:56novější _e novější verze nebo ford projektu pános
0:31:02oba oboje s o pro tyto účely použitelné jedná se o pro při která je primární určená pro _e nějakém
0:31:11bezpečnostní testy webových aplikací nicméně právě velice dobře splněn to že _e nahrává a nahrává z
0:31:19seš M _e
0:31:22do nějakého takto soubor stereo stereo potom můžete _e ty parametry na pro ten vlastně že mikro vy
0:31:29_e úzce náš
0:31:32dolovat
0:31:42_e já bych ještě ta kamal _e vložka abysme věděli o čem pořád bavíme
0:31:50_e
0:31:51nějaká makají terminologie
0:31:54test K
0:31:56to je
0:31:57_m
0:32:02v podstatě _m
0:32:05_e nějaká nějaký typicky modu nebo nebo třída která testuje určit i _e usecase nebo require mém
0:32:15skládá se _m zkrátka _e jej výstup o tom o odpovídá
0:32:21_e tomu jestli ten test prošel nebo ne
0:32:24_e s K se samozřejmě se sme to
0:32:28metoda vo tom with ta testovací metoda potom obvykle testuje konkrétní část _e _m to scénáře nebo nějakou podmnožinou funkcionality
0:32:37pokud _e
0:32:39typickým test case se může být třeba navigace to znamená _e ověření že _e nějaký navigační prvek ste aplikaci funguje
0:32:49jak má že se dá to že se dá jím procházet na další stránky a a tak dál
0:32:56ne ne
0:33:00_e potom _e _e
0:33:02konkrétně pro při vývoji už těch _e vlastních _e vlastně testu tohle byly lajn
0:33:09se používá tak zvaný _e
0:33:13page object a ten
0:33:16nebo taky péčka
0:33:19není to tak
0:33:22_e není to není to tak _e vyhraněně _e definovaný pate nechce možná zvykli v podstatě se jedná o pro
0:33:30si která vám umožňuje nějaký obvyklým způsobem potom přistupovat ke objektem T T stránce
0:33:41pokud vytváříte ty _e ty objekty s C typy Č klasy
0:33:48je potřeba _e samozřejmě myslet na to
0:34:00_e na a na to jakým způsobem _e typicky s tím ten _e sem uživatel pracuje pokrýt dobře _e po
0:34:07pokriví dobrému sanitu _e toho nabídnout také funkce které po posoudit tomu tomu test case u
0:34:20_e výhoda pokud _e si
0:34:23co se týče těch ještě deset case u
0:34:26_m pokud _e víte že javě třeba máte projekt mainu také
0:34:32ale nejenom v tomto případě obecně se doporučuje nebo se vyplatí mi ten typicky samostatných module případě že třeba zda
0:34:41no části funkce kde je nějaký
0:34:43problém aby ten test case se dál _e dočasně vypnout _e _m _e omezovat tím by _e by
0:34:52jak ostatních _e zesvětlit
0:34:57_e
0:35:00to je _m potom ste vlastně stránce můžou být nějakém nějaké komponenty jo
0:35:06které se opakovatelně použitelné
0:35:09jen ta jim říkat viď že říct že jo patch komponent
0:35:13to je celkem _m celkem _e vedlejší příkladem může by _e vedle uštvat zmiňovaného prvku pro nějakou navigaci test nějak
0:35:23přes nějaké objekty té stránce _e že by _e nejty K
0:35:29_m nějakým
0:35:32status ba R
0:35:36asi bychom vykašli ještě vy
0:35:39_e
0:35:41ten a
0:35:43při nám _e té toku _e potom při kdy která pracuje s tou _e _m návrh nebo reprezentuje pro ten
0:35:51_e test
0:35:52_e tu teď komponentu je potřeba _e se nebo
0:35:58nebo výhodné přinejmenším se držet pár zásad
0:36:02a za prvé nezapomenout že těch _e ve nebo uvědomit si jestli těch komponent té stránce to samé typu nemůže
0:36:10být víc a podle toho se zařídit
0:36:14potom ta vlastně patch komponent _e by neměla
0:36:18přistupovat T
0:36:21_e k té k to k tomu se prvně _e přímo ale prostřednictvím bezpráví která ji obsahuje
0:36:32podívám se k něco nezapomněl
0:36:37_e samozřejmě _e kromě takže ke komponent affect instance instance těch komparace stránce může být vícero
0:36:45a nový ty vykopat by mohl být jedno slova nebo strašné mi teprve zajímavé
0:36:51co se týče navigace
0:36:54tak tady zimním _e to jak jak ten _e
0:36:58jak typ H tvá si _e
0:37:02otevírají to vlastně s vlastní web H _e
0:37:07možností prostě vícero
0:37:14většina
0:37:16_e bych rozhodně doporuč ne doporučil jenom protože se chcete dostat na nějakou stránku tak vytvářet instanci ty _e C
0:37:24F H _e teďka si je lepší když každá stránka to mi sama o sobě ať ruší že otevírá ať
0:37:32může otevírá nějaké vyválel nebo pokud _e ty stránky ze umisťovat diarchií kde
0:37:39vlastně ty
0:37:41ty rudého _e ty zrůdo tady a stě se otevírají přežívá L a ty tedy _e ty potom kterej který
0:37:48se navigujte dál tak
0:37:50_e
0:37:51_e si pro kliká Y to poslední část
0:37:55_e _e část _e
0:37:59to prachy _e ty na té jasně navigace a co se týče tak předchozí kroku tak se spoléhají na stránky
0:38:06které sou
0:38:08které se přední hierarchy
0:38:11_m řekněme že tam bude nějaká metoda na viděj tu a máte nějakou stránku hodin
0:38:20to není úplně dobrý příklad
0:38:22_e tak máte nějakou stránku
0:38:25_e
0:38:30news která se standardně otevírá potom třeba _e přechod na konkrétní a detail tak by
0:38:37no tak bude _e teďka to která se bude jmenovat mínus
0:38:41a z ní bude vyděděn _e ta ním měl být ale víte jel _e tam bude volat _e
0:38:50metodu na vidět u té news a potom s _e potom _e potom přidá nějaký vlastní cot
0:38:55_e který tedy udělá to poslední část abyste se do se na ten _e file
0:39:01_e
0:39:03zásadním zásadním _e zase mít doporučení ne poslední řádek té metodě která řeší tohle to znamená
0:39:12otevři _e to _e otevírá to vlastně ve patch by měl být _e změny
0:39:18by měl podmíněné by měl být proměnné čekání které vám zaručí že ste na té stránce naserete chtěli být
0:39:25protože pokud nejste tak to samozřejmě _e selže a
0:39:30jo na první vyprší nějaký téma a pokuste tak _e to nemusíte potom dál dalším že sto kód opakovaně testovat
0:39:38_e tento
0:39:39_e
0:39:41tak ten pokud se tak dá vůbec nazvat se velmi osvědčil vede k redukci kódu a výraznému zvýšení robustnosti traffic
0:39:50_e
0:39:52velichovky změním _e
0:39:58podmíněná nepodmíněná a čekání _e asi jasné o co de podmíněné a nepodmíněné čekání čekáš úplný úplně časový interval
0:40:07buď plýtvá časem _e nebo
0:40:11a na většinou plýtvá časem a navíc _e nevytřeštit často _e je _e
0:40:18málo robustní do znamená pokud a ty _e událost nastane dřív tak _e ten ten rozdíl čeká zbytečně pokud a
0:40:27a _e od _e z nějakého důvodu nastane později
0:40:30_e tak _e ten takto čekání a a a ten test tím pádem selže
0:40:38pokud chcete trávit spoustu spoustu času laděním různých různých adhoc _e těch _e čekání ta nám tu tak směle do
0:40:47toho ale rozvitou nedoporučuju
0:40:50_e
0:40:51dá se to ospravedlnit momentě kdy
0:40:55to nemáte pod kontrolou jako nějakej _e událost a na přichází zvenčí
0:40:59nebo událost nějaké se zpátky komponenty kterou nemůžete nebo nechcete nechcete protože není ve scope testu _e měnit tak se
0:41:08to dá ospravedlnit ale ne ve vlastním ne kódu tam je potřeba
0:41:13_e tento není tak aby se to čekání dal dělat podmíněné podmíněné pochopitelně
0:41:19pořád je tam timeout jako jakási
0:41:23horním S
0:41:24_e po jako se na něco čeká ale pak je tam vždycky nějaká nějaká podmínka která musí být splněná by
0:41:30ten aby ten
0:41:32aby to čekání prošlo
0:41:34_m dobře napsané a ten webdriver hodně dobře _e napsat čekání vrací vraty přímo ten element na který čeká
0:41:43potom ten kódem dobře čitelný a
0:41:47_e
0:41:49a _m velice velice udržovateli
0:41:54pokud už můžete popou že ten _e _e nepodmíněná čekání mějte na to jedno metodu kterou používáte používejte napříč celou
0:42:03code vejs abyste zase věděli kde to je použít _e tyhle věci aby se to mohli zbavit jak na to
0:42:09bude možné protože to je
0:42:12a vám dokáže _e zaručit že to je přesně to co budete chtít udělat pokud _e
0:42:18pokud máte pokoj testy vůbec ne když udržovat
0:42:22_e
0:42:26ještě minuty dobře
0:42:28zmínil bych pár _e pak drobnosti _e co se týče vlastně se na něj a dva
0:42:34pořád _e výhody pro sme nepřecházeli agentura nějaké nástrahy
0:42:39lépe orientované rozhraní
0:42:41_e selenium jedna mělo rozhraní typu _e i metod na ji a udělají
0:42:48_e _e
0:42:49tom webdriver US metod metoda je některá vrací obě kalení se potom po pochopitelně _e dnes metody to vlastně objektů
0:42:57které říkají tady není vole nějaké akce třeba zapsání
0:43:02hodnoty do input filtru
0:43:06_e selenium dva má rychlejší spád _e tady _e zpracování stavy rozhodneš
0:43:12_e se exploreru ačkoli je tam a knihovna která která todleto zařizuje dělat kristova
0:43:19vy podprojektu že žvanec to přeskočíme o té o této usuší integraci prožití musím říct už sem říkal je to
0:43:27dvojsečná samozřejmě ten a ty vniklo C musí _e ji udržovat _e naštěstí tom mě problém ten vývoj _e do
0:43:34toho webdriver
0:43:37a tom že a narodil to T selenium _e jedničky nepotřebujete pouštět remote server aby se na něm byli schopní
0:43:46_e abyste mi schopni poště ty testy co šel _e ostatně vlastní vlastní vývoj
0:43:53_e nevýhody
0:43:56_m vektoru je potřeba to valid věci zoom level efektivity _e i i spásné nížin _e to tam chybí tak
0:44:04znamená že nemůžete michalem S kterýma a jiný tehdys protože tam dáte tak za ním už nejste schopni X pásem
0:44:11nic adresovat
0:44:14tento tento to I D totiž _e nebo ten byl identifikátor když v udělat a vlastně knihovna _e
0:44:21a trosko nevýhoda ještě donedávna dost velká byly chybějící hlásím teda kšand to sou hrozne double click i triky pravým
0:44:29začít cannot připravených lidi zdržen klávesy
0:44:33eště vedla této fungovat interakce s planner u a my sme double click a right click _e za osmi se
0:44:39vypadá že to funguje obou prohlížečích takže teď tu Š _m tam
0:44:45_m postatě těch takové ty hodně používaný věci postrádám pouze M možnost podržet tu klávesu což a s není tak
0:44:56fatální
0:44:58_e zkušenost přechodem na selenium dva byla táže vlastní přepsání těch _e kódu těch _e testů zabralo zhruba čtvrtinu času
0:45:08další tři čtvrtiny času zabralo a do té doby _e úprava tech testu a doplnění _e nepodmíněných podmíněných čekání aby
0:45:19ty testy by robustnější
0:45:21_e výhody se projevily velice
0:45:24brzo pote teda potřeb odezva práce udělána testy se robustnější a běží kratší dobu pro se nečeká zbytečně
0:45:33_e
0:45:35_e tak E s
0:45:38tak je ušije _e nestaneš by se nějaká chyba za maskovala na maskovala tím _e že ten se často padá
0:45:46takže děkuju a pokusu nějaký
0:45:52není