{"id":748,"date":"2021-12-10T06:38:04","date_gmt":"2021-12-10T06:38:04","guid":{"rendered":"https:\/\/testeroprogramowania.pl\/?p=748"},"modified":"2021-12-10T06:38:06","modified_gmt":"2021-12-10T06:38:06","slug":"pierwszy-test-automatyczny-pobranie-strony-i-wypisanie-jej-tytulu-na-ekranie","status":"publish","type":"post","link":"https:\/\/testeroprogramowania.pl\/index.php\/2021\/12\/10\/pierwszy-test-automatyczny-pobranie-strony-i-wypisanie-jej-tytulu-na-ekranie\/","title":{"rendered":"Pierwszy test automatyczny &#8211; pobranie strony i wypisanie jej tytu\u0142u na ekranie"},"content":{"rendered":"\n<p style=\"text-align:left\">Z tego wpisu dowiesz si\u0119, jak uruchomi\u0107 przegl\u0105dark\u0119 internetow\u0105 i otworzy\u0107 wybran\u0105 stron\u0119. Przed przyst\u0105pieniem do tego procesu nale\u017cy pobra\u0107 bibliotek\u0119 Selenium WebDriver oraz odpowiedni driver, kt\u00f3ry umo\u017cliwi komunikacj\u0119 pomi\u0119dzy kodem testu, a przegl\u0105dark\u0105. Oczywi\u015bcie musimy upewni\u0107 si\u0119, \u017ce mamy r\u00f3wnie\u017c zainstalowan\u0105 przegl\u0105dark\u0119 internetow\u0105 na Naszym komputerze.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/12\/coding-924920_1280-1024x682.jpg\" alt=\"\" class=\"wp-image-751\" srcset=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/12\/coding-924920_1280-1024x682.jpg 1024w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/12\/coding-924920_1280-300x200.jpg 300w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/12\/coding-924920_1280-768x512.jpg 768w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/12\/coding-924920_1280.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Czym jest Selenium?<\/h2>\n\n\n\n<p style=\"text-align:left\">Selenium jest zbiorem narz\u0119dzi do automatyzacji zachowania u\u017cytkownika w przegl\u0105darce internetowej. W sk\u0142ad tych narz\u0119dzi wchodzi mi\u0119dzy innymi Selenium WebDriver czyli biblioteka, kt\u00f3ra pozwala pisa\u0107 kod w wybranym j\u0119zyku programowania, kt\u00f3ry po uruchomieniu jest w stanie stworzy\u0107 nowe okno przegl\u0105darki i nast\u0119pnie wykonywa\u0107 w nim zadane w kodzie akcje np. klika\u0107 na elementy, wpisywa\u0107 warto\u015bci w pola tekstowe itd. Jest to obecnie najpopularniejsza biblioteka do tworzenia test\u00f3w automatycznych na poziomie UI i posiadaj\u0105ca najwi\u0119ksz\u0105 spo\u0142eczno\u015b\u0107. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dodanie Selenium do projektu<\/h2>\n\n\n\n<p>Przed przyst\u0105pieniem do pisania kodu musimy najpierw pobra\u0107 bibliotek\u0119 Selenium WebDriver i doda\u0107 j\u0105 do Naszego projektu. Je\u017celi tego nie zrobimy wszystkie nazwy klas charakterystyczne dla tej biblioteki nie zostan\u0105 rozpoznane i b\u0119d\u0105 si\u0119 \u015bwieci\u0107 na czerwono. W celu pobrania biblioteki nale\u017cy klikn\u0105\u0107 na bezpo\u015bredni link do pobrania:<br><em>https:\/\/github.com\/SeleniumHQ\/selenium\/releases\/download\/selenium-4.1.0\/selenium-java-4.1.0.zip<\/em> Nast\u0119pnie wypakowujemy zawarto\u015b\u0107 archiwum<br> i dodajemy go do projektu. \u017beby doda\u0107 Selenium do projektu musimy uruchomi\u0107 wcze\u015bniej stworzony projekt w Intellj. P\u00f3\u017aniej przechodzimy do zak\u0142adki:\u00a0<em>File\/Plik -> Project Settings\/Ustawienia Projektu<\/em> i w sekcji\u00a0<em>Modules<\/em>\u00a0wybieramy zak\u0142adk\u0119\u00a0<em>Dependencies<\/em>. Klikamy na znaczek + a nast\u0119pnie\u00a0<em>Files\/Directories<\/em>\u00a0i odnajdujemy lokalizacj\u0119 wypakowanego archiwum. Klikamy na folder, wybieramy<em>\u00a0Ok<\/em>\u00a0i ponownie akceptujemy wybieraj\u0105c opcj\u0119\u00a0<em>Apply<\/em>\u00a0i\u00a0<em>Ok<\/em>. Po wykonaniu tych akcji Selenium powinno zosta\u0107 dodane do projektu. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Czym jest driver?<\/h2>\n\n\n\n<p>Driver jest pewnego rodzaju \u0142\u0105cznikiem mi\u0119dzy kodem w wybranym j\u0119zyku programowania, a przegl\u0105dark\u0105 internetow\u0105. Dzi\u0119ki niemu nasz kod b\u0119dzie si\u0119 przek\u0142ada\u0142 na konkretne akcje wykonane w przegl\u0105darce internetowej. Ka\u017cda przegl\u0105darka posiada dedykowany driver, dlatego musimy zdecydowa\u0107 z jakiej przegl\u0105darki b\u0119dziemy korzysta\u0107. Je\u017celi chcemy uruchamia\u0107 nasze testy na r\u00f3\u017cnych przegl\u0105darkach to musimy posiada\u0107 kilka driver\u00f3w na swoim komputerze. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pobranie chromedrivera<\/h2>\n\n\n\n<p>W naszym te\u015bcie b\u0119dziemy korzystali z przegl\u0105darki Chrome i dlatego potrzebujemy drivera dla tej przegl\u0105darki. Przed pobraniem drivera musimy upewni\u0107 si\u0119 czy mamy zainstalowan\u0105 przegl\u0105dark\u0119 Chrome na naszym komputerze i w jakiej jest ona wersji. Gdy zweryfikujesz ju\u017c wersj\u0119 swojej przegl\u0105darki Chrome to mo\u017cesz przej\u015b\u0107 na stron\u0119 z kt\u00f3rej mo\u017cna pobra\u0107 chromedrivera wybieraj\u0105c odpowiedni\u0105 wersj\u0119 kompatybiln\u0105 z wersj\u0105 Twojej przegl\u0105darki. (<em>https:\/\/chromedriver.chromium.org\/downloads<\/em>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zmienna \u015brodowiskowa <br>i inicjalizacja przegl\u0105darki<\/h2>\n\n\n\n<p> Po pobraniu chromedrivera mo\u017cemy przej\u015b\u0107 do kodu i pr\u00f3by uruchomienia przegl\u0105darki. W celu uruchomienia kawa\u0142ka kodu mo\u017cemy skorzysta\u0107 z metody oznaczonej adnotacj\u0105 Test z biblioteki TestNG. Je\u017celi nie pami\u0119tasz jak to wygl\u0105da\u0142o to wr\u00f3\u0107 do poprzedniego emaila. Wewn\u0105trz metody musimy zrobi\u0107 dwie rzeczy. Pierwsza to wskazanie gdzie znajduje si\u0119 plik chromedriver.exe, a druga to stworzenie obiektu klasy ChromeDriver, kt\u00f3ry automatycznie uruchomi nam przegl\u0105dark\u0119. \u015acie\u017ck\u0119 do drivera ustawiamy przy pomocy nast\u0119puj\u0105cej linijki kodu (\u015bcie\u017cka mo\u017ce si\u0119 r\u00f3\u017cni\u0107 w zale\u017cno\u015bci gdzie umie\u015bci\u0142e\u015b\/a\u015b drivera):<br><code>System.setProperty(\"webdriver.chrome.driver\",\"C:\\\\Users\\\\downloads\\\\chromedriver.exe\");<\/code><br>Nast\u0119pna linijka to stworzenia przegl\u0105darki:<br><code>WebDriver driver = new ChromeDriver();<\/code><br>Ca\u0142a metoda testowa mo\u017ce wygl\u0105da\u0107 nast\u0119puj\u0105co:<br><code>@Test<br>public void openGooglePage() {<br>\u00a0System.setProperty(\"webdriver.chrome.driver\",\"C:\\\\Users\\\\downloads\\\\chrome\u00a0 driver.exe\");<br>\u00a0WebDriver driver = new ChromeDriver();<\/code><br>} <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pobranie wybranej strony internetowej i wypisanie tytu\u0142u<\/h2>\n\n\n\n<p>Teraz spr\u00f3bujemy otworzy\u0107 jak\u0105\u015b stron\u0119 internetow\u0105. Nast\u0119pnie pobierzemy jej tytu\u0142 i wypiszemy go na ekranie. W celu pobrania wybranej strony musimy skorzysta\u0107 z metody get(&#8222;adres strony&#8221;) dost\u0119pnej w obiekcie klasy WebDriver. Na przyk\u0142ad mo\u017ce to by\u0107 strona google.com:<br><code>\u00a0driver.get(\"https:\/\/www.google.com\");<\/code><br>Po otwarciu strony mo\u017cemy pobra\u0107 jej tytu\u0142 i wypisa\u0107 go na ekranie. Linijka kodu odpowiedzialna za ten proces mo\u017ce wygl\u0105da\u0107 nast\u0119puj\u0105co:<br><code>\u00a0System.out.println(driver.getTitle());<\/code><br>Ca\u0142a metoda b\u0119dzie wygl\u0105da\u0107 w ten spos\u00f3b:<br><code>@Test<br>public void openGooglePage() {<br>\u00a0System.setProperty(\"webdriver.chrome.driver\",\"C:\\\\Users\\\\downloads\\\\chrome\u00a0 driver.exe\");<br>\u00a0WebDriver driver = new ChromeDriver();<br>\u00a0driver.get(\"https:\/\/www.google.com\");<br>\u00a0System.out.println(driver.getTitle());<br>}<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Podsumowanie<\/h2>\n\n\n\n<p style=\"text-align:left\"> Informacje zawarte w tej wiadomo\u015bci pozwoli\u0142y Ci otworzy\u0107 przegl\u0105dark\u0119, pobra\u0107 wybran\u0105 stron\u0119 i wypisa\u0107 na ekranie jej tytu\u0142. Mam nadziej\u0119, \u017ce wszystko dzia\u0142a :). Je\u017celi nie to z ch\u0119ci\u0105 pomog\u0119 Ci rozwi\u0105za\u0107 ewentualne problemy.<br>Jeste\u015bmy na dobrej drodze do napisania pierwszego testu automatycznego na poziomie interfejsu u\u017cytkownika. Kolejnym etapem b\u0119dzie odnajdywanie element\u00f3w na stronie i interakcja z nimi. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Z tego wpisu dowiesz si\u0119, jak uruchomi\u0107 przegl\u0105dark\u0119 internetow\u0105 i otworzy\u0107 wybran\u0105 stron\u0119. Przed przyst\u0105pieniem do tego procesu nale\u017cy pobra\u0107 bibliotek\u0119 Selenium WebDriver oraz odpowiedni driver, kt\u00f3ry umo\u017cliwi komunikacj\u0119 pomi\u0119dzy kodem testu, a przegl\u0105dark\u0105. Oczywi\u015bcie musimy upewni\u0107 si\u0119, \u017ce mamy r\u00f3wnie\u017c zainstalowan\u0105 przegl\u0105dark\u0119 internetow\u0105 na Naszym komputerze. Czym jest Selenium? [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":751,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-748","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts\/748","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/comments?post=748"}],"version-history":[{"count":3,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts\/748\/revisions"}],"predecessor-version":[{"id":752,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts\/748\/revisions\/752"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/media\/751"}],"wp:attachment":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/media?parent=748"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/categories?post=748"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/tags?post=748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}