{"id":3672,"date":"2017-04-25T14:51:37","date_gmt":"2017-04-25T12:51:37","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=3672"},"modified":"2025-05-07T13:06:06","modified_gmt":"2025-05-07T11:06:06","slug":"selenium-ide-czyli-jak-zarobic-wiecej-robiac-mniej","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/selenium-ide-czyli-jak-zarobic-wiecej-robiac-mniej\/","title":{"rendered":"Selenium IDE, czyli jak zarobi\u0107 wi\u0119cej, robi\u0105c mniej?"},"content":{"rendered":"\n<p>Je\u017celi otworzy\u0142e\u015b ten artyku\u0142, to na pewno zainteresowa\u0142 ci\u0119 temat<strong> <a href=\"https:\/\/sii.pl\/blog\/automatyzacja-testow-androida-przy-uzyciu-appium\/\" class=\"ek-link\">test\u00f3w automatycznych<\/a><\/strong> z wykorzystaniem Selenium IDE. By\u0107 mo\u017ce dopiero zaczynasz swoj\u0105 przygod\u0119 z testami automatycznymi, albo zastanawiasz si\u0119, czy op\u0142aca si\u0119 integrowa\u0107 testy automatyczne z platform\u0105 SharePoint 2013 lub innymi aplikacjami &#8222;webowymi&#8221;, nad kt\u00f3rymi pracujesz.<\/p>\n\n\n\n<p>W tym artykule porusz\u0119 g\u0142\u00f3wnie kwestie podstaw Selenium IDE, opisz\u0119 narz\u0119dzia, kt\u00f3rych b\u0119dziesz potrzebowa\u0142 oraz stworzymy przyk\u0142adowy przypadek testowy w oparciu o Selenium IDE. Kolejny artyku\u0142 b\u0119dzie dotyczy\u0142 integracji test\u00f3w automatycznych z platform\u0105 SharePoint 2013 oraz Office 365. Zapraszam do lektury \ud83d\ude42<\/p>\n\n\n\n<p>Na ko\u0144cu artyku\u0142u znajdziesz odpowied\u017a na pytanie postawione w tytule.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Co to jest Selenium IDE?<\/strong><\/h2>\n\n\n\n<p>Selenium IDE to zintegrowane deweloperskie \u015brodowisko do testowania Web aplikacji, przy pomocy Selenium. Selenium IDE jest zaimplementowany jako dodatek do przegl\u0105darki Mozilla Firefox, przez co, na pocz\u0105tku swojej przygody z testami automatycznymi, tester nie musi si\u0119 przejmowa\u0107 o instalowanie skomplikowanych narz\u0119dzi, czy dodatkow\u0105 konfiguracj\u0119 \u015brodowiska testowego. Po dodaniu pluginu do przegl\u0105darki, narz\u0119dzie jest gotowe do pracy.<\/p>\n\n\n\n<p><a href=\"https:\/\/addons.mozilla.org\/pl\/firefox\/addon\/selenium-ide\/\" rel=\"nofollow\" >Aby \u0142atwo zainstalowa\u0107 potrzebne wtyczki<\/a> uruchom przegl\u0105dark\u0119 Mozilla Firefox (najlepiej najnowsz\u0105 wersj\u0119), <a href=\"https:\/\/addons.mozilla.org\/pl\/firefox\/addon\/selenium-ide\/\" rel=\"nofollow\" >a nast\u0119pnie wejd\u017a w link<\/a>. Aby doda\u0107 plugin wystarczy jedynie klikn\u0105\u0107 przycisk <em>+ Zainstaluj<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/SeleniumPlugin-e1484755405682.png\"><img decoding=\"async\" width=\"650\" height=\"314\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/SeleniumPlugin-e1484755405682.png\" alt=\"Instalacja Selenium IDE\" class=\"wp-image-3681\"\/><\/a><\/figure>\n\n\n\n<p><br>Nast\u0119pnie, dla wygodnego u\u017cytkowania <a href=\"https:\/\/addons.mozilla.org\/pl\/firefox\/addon\/selenium-ide-button\/\" rel=\"nofollow\" >zainstaluj dodatkow\u0105 wtyczk\u0119<\/a>, o nazwie <em>Selenium IDE Button<\/em>, kt\u00f3ra pozwoli Ci szybko uruchomi\u0107 narz\u0119dzie Selenium IDE. <a href=\"https:\/\/addons.mozilla.org\/pl\/firefox\/addon\/selenium-ide-button\/\" rel=\"nofollow\" >Plugin dost\u0119pny jest tutaj.<\/a> <em>&nbsp;<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/SeleniumPluginButton-1-e1484755368493.png\"><img decoding=\"async\" width=\"650\" height=\"299\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/SeleniumPluginButton-1-e1484755368493.png\" alt=\"Instalacja Selenium IDE Button\" class=\"wp-image-3686\"\/><\/a><\/figure>\n\n\n\n<p>Ostatni\u0105 rzecz\u0105, kt\u00f3re r\u00f3wnie\u017c usprawni twoj\u0105 prac\u0119, <a href=\"https:\/\/addons.mozilla.org\/pl\/firefox\/addon\/xpath-checker\/\" rel=\"nofollow\" >jest pobranie <em>XPath Checker<\/em><\/a>, kt\u00f3ry jest interaktywnym edytorem wyra\u017ce\u0144 XPath, pozwalaj\u0105cym na proste lokalizowanie element\u00f3w Web aplikacji (wi\u0119cej informacji w dalszej cz\u0119\u015bci bloga). <a href=\"https:\/\/addons.mozilla.org\/pl\/firefox\/addon\/xpath-checker\/\" rel=\"nofollow\" >Narz\u0119dzie dost\u0119pne jest pod linkiem<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/SeleniumPluginXPath-e1484755223115.png\"><img decoding=\"async\" width=\"650\" height=\"254\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/SeleniumPluginXPath-e1484755223115.png\" alt=\"Instalacja XPath Checker\" class=\"wp-image-3683\"\/><\/a><\/figure>\n\n\n\n<p><br>Po zainstalowaniu narz\u0119dzi jeste\u015b gotowy do pracy, ale najpierw&#8230; zrestartuj przegl\u0105dark\u0119 \ud83d\ude1b Dodatki zainstalowane w przegl\u0105darce do poprawnego dzia\u0142ania potrzebuj\u0105 ponownego uruchomienia przegl\u0105darki.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Mam ju\u017c wszystkie potrzebne narz\u0119dzia. Co dalej?<\/strong><\/h2>\n\n\n\n<p>Uruchom przegl\u0105dark\u0119 Mozilla Firefox i kliknij w <em>Menu opcji<\/em> w prawym g\u00f3rnym rogu. Nast\u0119pnie kliknij <em>Dodatki<\/em> i sprawd\u017a czy zainstalowane dodatki s\u0105 obecne na li\u015bcie. Rekordy S<em>elenium IDE<\/em>, <em>Selenium IDE Button<\/em> oraz <em>XPath Checker<\/em> powinny by\u0107 widoczne na li\u015bcie, jak poni\u017cej.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Rozszerzenia-e1484757036560.png\"><img decoding=\"async\" width=\"800\" height=\"341\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Rozszerzenia-e1484757036560.png\" alt=\"\" class=\"wp-image-3693\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Dostosuj-1-e1485430289632.png\"><img decoding=\"async\" width=\"800\" height=\"355\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Dostosuj-1-e1485430289632.png\" alt=\"\" class=\"wp-image-3815\"\/><\/a><\/figure>\n\n\n\n<p>Je\u017celi dodatki pojawi\u0142y si\u0119 na li\u015bcie, wr\u00f3\u0107 do widoku <em>Menu<\/em> przegl\u0105darki, kliknij <em>+ Dostosuj<\/em>, a nast\u0119pnie przeci\u0105gnij ikon\u0119 wtyczki <em>Selenium IDE Button<\/em> na g\u00f3rny pasek szybkiego wybierania. Po tym naci\u015bnij klawisz <em>Esc<\/em>. <a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Dostosuj-e1485428887246.png\"><br><\/a><\/p>\n\n\n\n<p><strong>Pami\u0119taj!<\/strong> Dostosowanie \u015brodowiska do potrzeb osoby, kt\u00f3ra b\u0119dzie z niego korzysta\u0107, a w tym przypadku do Twoich potrzeb jest bardzo wa\u017cne w pracy i pozwala zaoszcz\u0119dzi\u0107 czas, przez co mo\u017cesz go&nbsp;po\u015bwi\u0119ci\u0107 wi\u0119cej na pilniejsze zadania, wymagaj\u0105ce Twojej uwagi.&nbsp;Ta drobna modyfikacja, jak\u0105 jest wstawienie przycisku do paska narz\u0119dzi, pozwoli Ci na szybki dost\u0119p do <em>Selenium IDE<\/em>, bez konieczno\u015bci wchodzenia w zak\u0142adk\u0119 rozszerze\u0144.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Odpalamy!<\/strong><\/h2>\n\n\n\n<p>Aby uruchomi\u0107 Selenium IDE, kliknij na ikon\u0119, kt\u00f3r\u0105 w\u0142a\u015bnie doda\u0142e\u015b do paska narz\u0119dzi w przegl\u0105darce, a nast\u0119pnie wybierz opcj\u0119 <em>Open Selenium IDE as s Pop Up<\/em>. Pozwoli to na otworzenie narz\u0119dzia w dodatkowym oknie, kt\u00f3re mo\u017cesz swobodnie modyfikowa\u0107 (przesuwa\u0107, zmienia\u0107 rozmiar).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/OpenSelenium.png\"><img decoding=\"async\" width=\"316\" height=\"119\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/OpenSelenium.png\" alt=\"OpenSelenium\" class=\"wp-image-3697\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/OpenSelenium.png 316w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/OpenSelenium-300x113.png 300w\" sizes=\"(max-width: 316px) 100vw, 316px\" \/><\/a><\/figure>\n\n\n\n<p>Po klikni\u0119ciu, Twoim oczom powinien ukaza\u0107 si\u0119 ten oto widok:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/SeleniumIDE-e1484841974227.png\"><img decoding=\"async\" width=\"650\" height=\"708\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/SeleniumIDE-e1484841974227.png\" alt=\"Widok Selenium IDE 2.9.1\" class=\"wp-image-3698\"\/><\/a><\/figure>\n\n\n\n<p>Tak wygl\u0105da narz\u0119dzie, z kt\u00f3rym b\u0119dziesz pracowa\u0107. Teraz mo\u017cesz zauwa\u017cy\u0107, \u017ce nie by\u0142y potrzebne instalacje \u017cadnego dodatkowego oprogramowania, nie potrzebujesz posiada\u0107 \u017cadnej licencji, ani pozwolenia, \u017ceby pracowa\u0107 z Selenium IDE.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pasek narz\u0119dzi<\/strong><\/h2>\n\n\n\n<p>Zanim przejdziemy do tworzenia, analizowania i rozwi\u0105zywania problem\u00f3w zwi\u0105zanych z testami, przedstawi\u0119 ci jeszcze g\u0142\u00f3wne elementy paska narz\u0119dzi Selenium IDE:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/MainMenu.png\"><img decoding=\"async\" width=\"306\" height=\"21\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/MainMenu.png\" alt=\"G\u0142\u00f3wne zak\u0142adki menu - Plik, Edycja, Actions, Favorites, Options oraz Pomoc\" class=\"wp-image-20810\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/MainMenu.png 306w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/MainMenu-300x21.png 300w\" sizes=\"(max-width: 306px) 100vw, 306px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zawiera wiele opcji potrzebnych do pracy. Opisz\u0119 jedynie zak\u0142adki <em>Plik<\/em> i <em>Actions<\/em>, gdy\u017c jedynie one obecnie maj\u0105 dla nas znaczenie.<\/li>\n\n\n\n<li>Najwa\u017cniejsze w zak\u0142adce <em>Plik<\/em> s\u0105:\n<ul class=\"wp-block-list\">\n<li>New Test Case &#8211; tworzy nowy przypadek testowy<\/li>\n\n\n\n<li>Open&#8230; &#8211; otwiera przypadek testowy<\/li>\n\n\n\n<li>Save Test Case &#8211; zapisuje przypadek testowy<\/li>\n\n\n\n<li>New Test Suite &#8211; tworzy nowy Test Suite (zbi\u00f3r przypadk\u00f3w testowych)<\/li>\n\n\n\n<li>Save Test Suite &#8211; zapisuje zbi\u00f3r przypadk\u00f3w testowych (wszystkich aktualnie otwartych) &#8211; je\u017celi testy twojej aplikacji sk\u0142adaj\u0105 si\u0119, za\u0142\u00f3\u017cmy z 20 przypadk\u00f3w testowych, mo\u017cesz je zapisa\u0107 jako Test Suite. Plik ten b\u0119dzie przechowywa\u0142 informacje o tych testach, a powracaj\u0105c do test\u00f3w automatycznych, wystarczy otworzy\u0107 zapisany test suite, aby otworzy\u0142y si\u0119 wszystkie zapisane w nim testy. <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Najwa\u017cniejsze w zak\u0142adce <em>Actions&nbsp;<\/em>s\u0105:\n<ul class=\"wp-block-list\">\n<li>Record &#8211; uruchamia lub zatrzymuje nagrywanie testu (dzia\u0142anie takie same, jak w przypadku u\u017cywania czerwonego przycisku po prawej stronie),<\/li>\n\n\n\n<li>Pause \/ Resume &#8211; zatrzymuje lub wznawia dzia\u0142anie aktualnie uruchomionego testu. <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/FastSlow.png\"><img decoding=\"async\" width=\"102\" height=\"27\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/FastSlow.png\" alt=\"\" class=\"wp-image-20812\"\/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Je\u017celi warto\u015b\u0107 tego przycisku ustawimy na <em>Fast<\/em>, testy b\u0119d\u0105 wykonywane najszybciej jak to b\u0119dzie mo\u017cliwe. Odwrotny skutek otrzymamy je\u015bli&nbsp;ustawimy tu warto\u015b\u0107 na&nbsp;<em>Slow<\/em>, wtedy testy b\u0119d\u0105 wykonywane wolno (niezalecane). Pami\u0119taj, \u017ceby tak tworzy\u0107 i optymalizowa\u0107 swoje testy, \u017ceby zawsze mo\u017cna by\u0142o je uruchomi\u0107 u\u017cywaj\u0105c opcji <em>Fast.<\/em><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/BaseURL.png\"><img decoding=\"async\" width=\"206\" height=\"23\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/BaseURL.png\" alt=\"\" class=\"wp-image-20814\"\/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pole w kt\u00f3re wpisujemy adres witryny lub serwera, na kt\u00f3rym testowana jest aplikacja. Podczas test\u00f3w z SharePointem ustawiam w tym miejscu adres serwera, np.: <em>http:\/\/adresserwera\/<\/em> .<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/Run1Test.png\"><img decoding=\"async\" width=\"30\" height=\"21\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/Run1Test.png\" alt=\"\" class=\"wp-image-20816\"\/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Przycisk, kt\u00f3ry s\u0142u\u017cy do wykonywania aktualnie wybranego przypadku testowego.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/RunAllTests.png\"><img decoding=\"async\" width=\"34\" height=\"25\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/04\/RunAllTests.png\" alt=\"\" class=\"wp-image-20818\"\/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Przycisk, kt\u00f3rym uruchomimy wszystkie aktualnie otwarte w narz\u0119dziu przypadki testowe.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Przejd\u017amy do testowania&#8230; Jak stworzy\u0107 sw\u00f3j test?<\/strong><\/h2>\n\n\n\n<p>Nowy <em>test case<\/em> mo\u017cesz utworzy\u0107 na trzy sposoby:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>klikaj\u0105c prawym przyciskiem myszy w pole pod testem <em>Untitled,<\/em><\/li>\n\n\n\n<li>z zak\u0142adki <em>Plik &gt; New Test Case,<\/em><\/li>\n\n\n\n<li>u\u017cywaj\u0105c skr\u00f3tu klawiszowego <em>Ctrl + N.<\/em><\/li>\n<\/ul>\n\n\n\n<p>My b\u0119dziemy pracowa\u0107 na automatycznie stworzonym pliku <em>Untitled<\/em>. Najpierw jednak zapiszmy ten <em>test case,<\/em> r\u00f3wnocze\u015bnie zmieniaj\u0105c jego nazw\u0119 na &#8222;MyTestCase&#8221;. Pami\u0119taj \u017ceby testy Selenium IDE zapisywa\u0107 do folderu, kt\u00f3ry p\u00f3\u017aniej na pewno znajdziesz, bo na pewno b\u0119dzie potrzeba, \u017ceby do nich wr\u00f3ci\u0107.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Selenium1Test.png\"><img decoding=\"async\" width=\"961\" height=\"305\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Selenium1Test.png\" alt=\"Selenium1Test\" class=\"wp-image-3700\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Selenium1Test.png 961w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Selenium1Test-300x95.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Selenium1Test-768x244.png 768w\" sizes=\"(max-width: 961px) 100vw, 961px\" \/><\/a><\/figure>\n\n\n\n<p>Widzisz to ma\u0142e czerwone k\u00f3\u0142eczko w prawym, g\u00f3rnym rogu?&nbsp;Jest ono bardzo wa\u017cne, je\u017celi nie najwa\u017cniejsze w tym programie. Obecnie jest w\u0142\u0105czone! (jasnoczerwony &#8211; nagrywanie w\u0142\u0105czone, ciemnoczerwony &#8211; wy\u0142\u0105czone), co pozwala na nas\u0142uchiwanie naszych ruch\u00f3w w&nbsp;przegl\u0105darce i przek\u0142adanie ich na poszczeg\u00f3lne kroki w Selenium IDE. Mo\u017cesz przetestowa\u0107 ten mechanizm, wchodz\u0105c na przyk\u0142adow\u0105 stron\u0119 w przegl\u0105darce i klikaj\u0105c na o\u015blep, co popadnie \ud83d\ude42 Ja te\u017c spr\u00f3buj\u0119.<\/p>\n\n\n\n<p>Po zako\u0144czonym te\u015bcie, kliknij wcze\u015bniej wspomniane czerwone k\u00f3\u0142ko, aby program przesta\u0142 nas\u0142uchiwa\u0107. Powy\u017cej widzisz stworzony przeze mnie <em>test case,&nbsp;<\/em>kt\u00f3ry jest przyk\u0142adem, jak proste i przyjemne mo\u017ce by\u0107 testowanie aplikacji za pomoc\u0105 Selenium IDE.<\/p>\n\n\n\n<p>Tworzenie przypadk\u00f3w testowych cz\u0119sto trwa kr\u00f3tko, bo osobi\u015bcie zalecam tworzenie kr\u00f3tkich test\u00f3w.&nbsp;Dlaczego? Je\u017celi zrobisz jeden test, kt\u00f3ry sprawdza dzia\u0142anie ca\u0142ej aplikacji, to nawet najmniejszy b\u0142\u0105d przerwie test i by\u0107 mo\u017ce wi\u0119ksza cz\u0119\u015b\u0107 aplikacji nie zostanie przetestowania. Tworz\u0105c kr\u00f3tkie testy (a raczej optymalne) zabezpieczasz si\u0119 przed sytuacj\u0105 opisan\u0105 wy\u017cej. Oczywi\u015bcie nie zawsze si\u0119 da stworzy\u0107 kr\u00f3tki przypadek, a czasem wr\u0119cz jest to niezalecane (np. przy uzupe\u0142nianiu i testowaniu formularzy). Wydaje mi si\u0119, \u017ce przy odrobinie zdrowego rozs\u0105dku twoje testy b\u0119d\u0105 jak najbardziej optymalne.<\/p>\n\n\n\n<p>Wiesz ju\u017c jak tworzy\u0107 testy. Spos\u00f3b opisany wy\u017cej, czyli &#8222;wyklikiwanie&#8221; przypadk\u00f3w testowych i zapisywanie ich jak <em>test case-y&nbsp;<\/em>jest najprostszy i najszybszy. Lecz w \u017cyciu jak i w testowaniu nigdy nie jest kolorowo i zapewne gdyby\u015b uruchomi\u0142\/uruchomi\u0142a nagrany przypadek testowy, z &nbsp;szybko\u015bci\u0105 <em>Fast<\/em>&nbsp;nie uko\u0144czy on dzia\u0142ania z wynikiem pozytywnym, poniewa\u017c wymaga delikatnej korekty. Na ten przyk\u0142ad m\u00f3j przypadek testowy &#8222;wysypa\u0142&#8221; si\u0119 ju\u017c w drugim kroku. Dlaczego?!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podstawowe modyfikacje przypadk\u00f3w testowych, o kt\u00f3rych musisz wiedzie\u0107!<\/strong><\/h2>\n\n\n\n<p>Powy\u017cszy przypadek testowy zako\u0144czy\u0142 swoje dzia\u0142anie niepowodzeniem, poniewa\u017c program po wykonaniu pierwszego kroku od razu, jak najszybciej przechodzi do nast\u0119pnego. Tutaj najpierw wykona\u0142a si\u0119 pierwsza operacja otwarcia przegl\u0105darki <em>google.com<\/em> oraz wpisanie w wyszukiwark\u0119 frazy &#8222;Blogersii&#8221;. Nast\u0119pnie program przeszed\u0142 do kolejnego kroku i pr\u00f3bowa\u0142 klikn\u0105\u0107 w pierwszy link w wynikach wyszukiwania, kt\u00f3rym jest <em>blogersii,&nbsp;<\/em>ale to nie zadzia\u0142a\u0142o, poniewa\u017c link nie zd\u0105\u017cy\u0142 si\u0119 jeszcze pojawi\u0107. Dlatego program nie zako\u0144czy testu pozytywnie. W tym miejscu, jak widzisz warto wspomnie\u0107 o testowaniu swoich przypadk\u00f3w testowych i zoptymalizowaniu ich tak, by zadzia\u0142a\u0142y zawsze.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/InsertNewCommand.png\"><img decoding=\"async\" width=\"670\" height=\"325\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/InsertNewCommand.png\" alt=\"InsertNewCommand\" class=\"wp-image-3726\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/InsertNewCommand.png 670w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/InsertNewCommand-300x146.png 300w\" sizes=\"(max-width: 670px) 100vw, 670px\" \/><\/a><\/figure>\n\n\n\n<p>Powy\u017cszy test zmodyfikujemy o bardzo prost\u0105 operacj\u0119, jak\u0105 jest dodanie jednego kroku do naszego testu. Dodawanie komend mo\u017cliwe jest poprzez klikni\u0119cie prawym przyciskiem na krok, nad kt\u00f3rym chcemy umie\u015bci\u0107 komend\u0119 i wybieramy opcj\u0119 <em>Insert New Command<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Modyfikacja.png\"><img decoding=\"async\" width=\"794\" height=\"224\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Modyfikacja.png\" alt=\"Modyfikacja\" class=\"wp-image-3724\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Modyfikacja.png 794w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Modyfikacja-300x85.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Modyfikacja-768x217.png 768w\" sizes=\"(max-width: 794px) 100vw, 794px\" \/><\/a><\/figure>\n\n\n\n<p>Tak oto doda\u0142em komend\u0119, kt\u00f3ra wykona si\u0119 przed klikni\u0119ciem w link <em>blogersii.&nbsp;<\/em>Nast\u0119pnie warto\u015b\u0107 w kolumnie <em>Command&nbsp;<\/em>zmieni\u0142em na <em>waitForElementPresent<\/em>. Jest to bardzo u\u017cyteczna metoda. Bardzo cz\u0119sto przeze mnie u\u017cywana. Jej dzia\u0142anie mo\u017cna opisa\u0107 w kilku s\u0142owach: <em>Czekaj, a\u017c pojawi si\u0119 link blogersii.<\/em> Tak to dzia\u0142a. Teraz Selenium IDE zaczeka, a\u017c pojawi si\u0119 link <em>blogersii<\/em>, a krok trzeci wykona si\u0119 dopiero po pojawieniu si\u0119 elementu.<br><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Log-1.png\"><img decoding=\"async\" width=\"925\" height=\"270\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Log-1.png\" alt=\"Log\" class=\"wp-image-3730\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Log-1.png 925w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Log-1-300x88.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Log-1-768x224.png 768w\" sizes=\"(max-width: 925px) 100vw, 925px\" \/><\/a><\/figure>\n\n\n\n<p>Testowanie z u\u017cyciem Selenium IDE wymaga ci\u0105g\u0142ej uwagi i logicznego podej\u015bcia do problem\u00f3w. Je\u017celi test si\u0119 nie udaje warto r\u00f3wnie\u017c zajrze\u0107 do zak\u0142adki Log, kt\u00f3ra dost\u0119pna jest nieco ni\u017cej:Bardzo cz\u0119sto dost\u0119pny jest tam jasny opis tego, dlaczego dany przypadek testowy nie uko\u0144czy\u0142 swojego dzia\u0142ania pomy\u015blnie. Naprawd\u0119 warto korzysta\u0107 z tej opcji.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Najwa\u017cniejsze komendy w Selenium IDE<\/strong><\/h2>\n\n\n\n<p>Teraz wymieni\u0119 najwa\u017cniejsze&nbsp;komendy, z kt\u00f3rych najcz\u0119\u015bciej b\u0119dziesz korzysta\u0142:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>open &#8211; otwiera stron\u0119\/aplikacj\u0119, kt\u00f3rej adres jest podany w polu <em>Target,<\/em><\/li>\n\n\n\n<li>pause &#8211; zatrzymuje test na czas, kt\u00f3ry jest podany w polu <em>Target&nbsp;<\/em>liczony w ms (milisekundach),<\/li>\n\n\n\n<li>select &#8211; wybiera dany element (r\u00f3\u017cni si\u0119 od click tym, \u017ce u\u017cywany jest wy\u0142\u0105cznie w polach typu drop down menu lub gdy w pewnym miejscu mamy kilka opcji do wyboru),<\/li>\n\n\n\n<li>type &#8211; wpisuje w wybrane pole tekstowe warto\u015b\u0107, podan\u0105 w polu <em>Target,<\/em><\/li>\n\n\n\n<li>click &#8211; klika w wybrany element,<\/li>\n\n\n\n<li>clickAndWait &#8211; klika w wybrany element i czeka na za\u0142adowanie si\u0119 strony,<\/li>\n\n\n\n<li>waitForElementPresent &#8211; czeka, a\u017c ustawiony w polu <em>Target&nbsp;<\/em>element b\u0119dzie obecny,<\/li>\n\n\n\n<li>assertElementPresent &#8211; sprawdza czy ustawiony w polu <em>Target<\/em> element jest obecny,<\/li>\n\n\n\n<li>sendKeys &#8211; uruchamia komend\u0119 klikni\u0119cia w przycisk, kt\u00f3ry jest podany w polu <em>Value<\/em>,<\/li>\n<\/ul>\n\n\n\n<p>Zaznacz\u0119 w tym miejscu, \u017ce definicj\u0119 ka\u017cdej z metod (oraz wszystkich dost\u0119pnych w narz\u0119dziu) mo\u017cna znale\u017a\u0107 w polu <em>Reference<\/em>, obok zak\u0142adki <em>Log<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>XPath Chacker<\/strong><\/h2>\n\n\n\n<p>Nauczy\u0142e\u015b\/Nauczy\u0142a\u015b si\u0119 ju\u017c jak u\u017cywa\u0107 narz\u0119dzia <em>Selenium IDE<\/em> oraz <em>Selenium IDE Butto<\/em>n. Zosta\u0142 nam jeszcze ostatni: <em>XPath Checker<\/em>. <em>XPath Checker<\/em> pomaga mi cz\u0119sto lokalizowa\u0107 atrybuty element\u00f3w (takie jak: <em>class, id, text, span<\/em> i inne). Lokalizowanie element\u00f3w za pomoc\u0105 <em>XPath<\/em>, jest alternatyw\u0105 tworzenia test\u00f3w poprzez nagrywanie test\u00f3w automatycznie przez program (nas\u0142uchiwanie ruch\u00f3w u\u017cytkownika w przegl\u0105darce). Wed\u0142ug mnie najbardziej optymalne jest nagranie testu i p\u00f3\u017aniej wprowadzenie poprawek i modyfikacji, dla jak najlepszego jego dzia\u0142ania. Nie rzadko mo\u017ce si\u0119 zdarzy\u0107, \u017ce automatyczny lokalizator elementu wyznaczy taki <em>Target<\/em>, \u017ce podczas uruchamiania testu nie zadzia\u0142a on ani razu. Wtedy w\u0142a\u015bnie na ratunek przybywa <em>XPath Checker<\/em>, kt\u00f3ry pomo\u017ce zlokalizowa\u0107 poprawn\u0105 \u015bcie\u017ck\u0119. Aby skorzysta\u0107 z narz\u0119dzia, musisz klikn\u0105\u0107 prawym na element, kt\u00f3ry chcesz w programie zlokalizowa\u0107. <a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/XPath-1-e1484913751994.png\"><br><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/XPath-2.png\"><img decoding=\"async\" width=\"756\" height=\"532\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/XPath-2.png\" alt=\"XPath\" class=\"wp-image-3741\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/XPath-2.png 756w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/XPath-2-300x211.png 300w\" sizes=\"(max-width: 756px) 100vw, 756px\" \/><\/a><\/figure>\n\n\n\n<p>Po klikni\u0119ciu w link, &nbsp;tak oto powinna wygl\u0105da\u0107 \u015bcie\u017cka <em>XPath<\/em>: (id(&#8217;lst-ib&#8217;).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Xpaths-1.png\"><img decoding=\"async\" width=\"682\" height=\"271\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Xpaths-1.png\" alt=\"Xpaths\" class=\"wp-image-3740\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Xpaths-1.png 682w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Xpaths-1-300x119.png 300w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><\/a><\/figure>\n\n\n\n<p>Mo\u017ce si\u0119 r\u00f3wnie\u017c&nbsp;zdarzy\u0107 tak, \u017ce \u015bcie\u017cka <em>XPath<\/em> b\u0119dzie zbyt skomplikowana lub b\u0119dzie si\u0119 sk\u0142ada\u0107 z kilku element\u00f3w jednocze\u015bnie, jak poni\u017cej i ci\u0119\u017cko b\u0119dzie co\u015b z tego wyci\u0105gn\u0105\u0107.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Przyk\u0142ad.png\"><img decoding=\"async\" width=\"690\" height=\"110\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Przyk\u0142ad.png\" alt=\"Przyk\u0142ad\" class=\"wp-image-3742\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Przyk\u0142ad.png 690w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/Przyk\u0142ad-300x48.png 300w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/><\/a><\/figure>\n\n\n\n<p>W takim przypadku mo\u017cemy jeszcze skorzysta\u0107 z <em>Developer Tools<\/em>, kt\u00f3ry r\u00f3wnie\u017c mo\u017ce pom\u00f3c zlokalizowa\u0107 atrybuty badanego elementu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/DevTools-1.png\"><img decoding=\"async\" width=\"960\" height=\"1053\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/DevTools-1.png\" alt=\"DevTools\" class=\"wp-image-3739\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/DevTools-1.png 960w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/DevTools-1-274x300.png 274w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/DevTools-1-768x842.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/DevTools-1-934x1024.png 934w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/a><\/figure>\n\n\n\n<p>W tym przypadku po klikni\u0119ciu prawym przyciskiem w pole tekstowe w przegl\u0105darce <em>google.pl<\/em>, a nast\u0119pnie wybranie opcji <em>Zbadaj element<\/em>, wy\u015bwietli ci si\u0119 powy\u017csze okno (mo\u017cna r\u00f3wnie\u017c u\u017cy\u0107 klawisza F12). Jak widzisz w zaznaczonym elemencie widniej\u0105 takie dane jak: id, czy class, kt\u00f3re \u015bmia\u0142o mo\u017cemy u\u017cy\u0107 do lokalizowania element\u00f3w. \u015acie\u017cka XPath w takim przypadku wygl\u0105da\u0107 b\u0119dzie nast\u0119puj\u0105co:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>\/\/*[contains(@id, 'lst-ib&#8217;)]<\/em>&nbsp;lub<\/li>\n\n\n\n<li><em>\/\/*[contains(@class, 'gsfi&#8217;)].<\/em><\/li>\n<\/ul>\n\n\n\n<p>U\u017cywaj\u0105c komendy <em>click<\/em> z targetem <em>@id<\/em> lub <em>@class<\/em> stworzymy polecenie klikaj\u0105ce w pasek tekstowy przegl\u0105darki <em>google.pl<\/em>.<\/p>\n\n\n\n<p><a href=\"https:\/\/msdn.microsoft.com\/pl-pl\/library\/ms256086(v=vs.110).aspx\" class=\"ek-link\" rel=\"nofollow\" >Przyk\u0142adowe elementy XPath<\/a>, kt\u00f3re mog\u0105 Ci si\u0119 przyda\u0107 w pracy, bo zdarz\u0105 si\u0119 elementy niemo\u017cliwe do zlokalizowania przez <em>@id<\/em>, czy <em>@class, <\/em><a href=\"https:\/\/msdn.microsoft.com\/pl-pl\/library\/ms256086(v=vs.110).aspx\" class=\"ek-link\" rel=\"nofollow\" >znajdziesz tutaj.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Gar\u015b\u0107 ciekawostek i porad<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8222;Testuj swoje testy&#8221; &#8211; je\u017celi chcesz na nich polega\u0107 i bez przeszk\u00f3d ich u\u017cywa\u0107, musz\u0105 by\u0107 one niezawodne.<\/li>\n\n\n\n<li>Je\u017celi do test\u00f3w regresji dodajesz nowy przypadek testowy, odtw\u00f3rz&nbsp;go r\u00f3wnie\u017c w Selenium IDE, a nast\u0119pnie do ju\u017c wcze\u015bniej stworzonego <em>Test Suit&nbsp;<\/em>zawieraj\u0105cego poprzednio stworzone testy regresji.<\/li>\n\n\n\n<li>Pami\u0119taj, \u017ce Selenium IDE oraz wszystkie produkty Selenium podlegaj\u0105 licencji&nbsp;Apache 2.0.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/04\/License.png\"><img decoding=\"async\" width=\"941\" height=\"385\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/04\/License.png\" alt=\"\" class=\"wp-image-20820\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/04\/License.png 941w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/04\/License-300x123.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/04\/License-768x314.png 768w\" sizes=\"(max-width: 941px) 100vw, 941px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Jak zarobi\u0107 wi\u0119cej, robi\u0105c mniej?<\/strong><\/h2>\n\n\n\n<p>Na koniec wr\u00f3\u0107my do pytania postawionego w tytule: Selenium IDE. <strong>Czyli jak zarobi\u0107 wi\u0119cej, robi\u0105c mniej?<\/strong><\/p>\n\n\n\n<p>Zastanawiasz si\u0119, czy w og\u00f3le mo\u017cliwym jest zarobi\u0107 wi\u0119cej, wykonuj\u0105c mniej pracy? W artykule pozna\u0142e\u015b czym s\u0105 testy automatyczne z wykorzystaniem Selenium IDE.&nbsp;Teraz przedstawi\u0119 Ci opcje, kt\u00f3re mog\u0105 przynie\u015b\u0107 profity:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Programowanie test\u00f3w automatycznych oszcz\u0119dza czas tw\u00f3j i twojego zespo\u0142u, przez co mo\u017cecie po\u015bwi\u0119ci\u0107 wi\u0119cej czasu na nowe lub ju\u017c trwaj\u0105ce projekty. Testerzy nie trac\u0105 czasu na codziennie testy regresywne.<\/li>\n\n\n\n<li>Stworzone przez ciebie lub przez tw\u00f3j zesp\u00f3\u0142 testerski testy automatyczne, mog\u0105 sta\u0107 si\u0119 produktem, kt\u00f3ry mo\u017cecie sprzeda\u0107 klientowi za niema\u0142e pieni\u0105dze. Pozwala na to licencja Apache 2.0, kt\u00f3rej podlega oprogramowanie Selenium IDE.<\/li>\n\n\n\n<li>Wiedza o testach automatycznych mo\u017ce przyczyni\u0107 si\u0119 do wzrostu twojego wynagrodzenia, w my\u015bl zasady: wzrastaj\u0105 kompetencje, wzrasta pensja, dlatego ci\u0105g\u0142y rozw\u00f3j jest gwarantem na coraz to wi\u0119ksze zarobki, a tak\u017ce pozycj\u0119 w bran\u017cy.<\/li>\n\n\n\n<li>Wiedza, kt\u00f3r\u0105 posiad\u0142e\u015b i posi\u0105dziesz w przysz\u0142o\u015bci, je\u017celi chodzi o testy automatyczne mo\u017ce si\u0119 przyczyni\u0107, \u017ce kiedy\u015b zrobisz szkolenie dla wsp\u00f3\u0142pracownik\u00f3w lub os\u00f3b prywatnych, za co r\u00f3wnie\u017c we\u017amiesz pieni\u0105dze.<\/li>\n<\/ul>\n\n\n\n<p>&#8222;Prawdziwa decyzja jest mierzona poprzez fakt podj\u0119cia nowego dzia\u0142ania. Je\u015bli nie ma dzia\u0142ania \u2013 tak naprawd\u0119 nie podj\u0105\u0142e\u015b decyzji&#8221; &#8211; Tony Robbins<\/p>\n\n\n\n<p>***<\/p>\n\n\n\n<p>Chcesz lepiej zrozumie\u0107 aplikacje i systemy, kt\u00f3re testujesz? Do\u0142\u0105cz do ModernTester, poznaj najpotrzebniejsze narz\u0119dzia, frameworki oraz j\u0119zyki programowania i \u0107wicz na specjalnie przygotowanych \u015brodowiskach testowych: <a href=\"https:\/\/sii.pl\/aktualnosci\/moderntester-platforma-e-learningowa-tworzona-przez-testerow-dla-testerow\/?category=oferta&amp;tag=testowanie,szkolenia\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Platforma e-learningowa ModernTester<\/a><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;3672&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;13&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;3.2&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;3.2\\\/5 ( votes: 13)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Selenium IDE, czyli jak zarobi\u0107 wi\u0119cej, robi\u0105c mniej?&quot;,&quot;width&quot;:&quot;87.3&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 87.3px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            3.2\/5 ( votes: 13)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Je\u017celi otworzy\u0142e\u015b ten artyku\u0142, to na pewno zainteresowa\u0142 ci\u0119 temat test\u00f3w automatycznych z wykorzystaniem Selenium IDE. By\u0107 mo\u017ce dopiero zaczynasz &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/selenium-ide-czyli-jak-zarobic-wiecej-robiac-mniej\/\">Continued<\/a><\/p>\n","protected":false},"author":111,"featured_media":3960,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1317],"tags":[1512,1254,146],"class_list":["post-3672","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-testowanie","tag-poradnik","tag-selenium-ide","tag-testing"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2017\/01\/5-Open-Source-Alternatives-to-Selenium-Testing-Tool2.gif","category_names":["Testowanie"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/3672"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/111"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=3672"}],"version-history":[{"count":3,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/3672\/revisions"}],"predecessor-version":[{"id":26175,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/3672\/revisions\/26175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/3960"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=3672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=3672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=3672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}