Jak używać Selenium IDE ze skryptami & Polecenia (potwierdź, zweryfikuj)

Spisie treści:

Anonim

Będziemy używać strony internetowej Mercury Tours jako testowanej aplikacji internetowej. Jest to system rezerwacji lotów online, który zawiera wszystkie elementy potrzebne do tego samouczka. Jego adres URL to http://demo.guru99.com/test/newtours/ i będzie to nasz podstawowy adres URL.

Utwórz skrypt przez nagrywanie

Stwórzmy teraz nasz pierwszy skrypt testowy w Selenium IDE przy użyciu najpopularniejszej metody - nagrania. Następnie wykonamy nasz skrypt za pomocą funkcji odtwarzania.

Krok 1

  • Uruchom Firefox i Selenium IDE.
  • Wpisz wartość naszego podstawowego adresu URL: http://demo.guru99.com/test/newtours/.
  • Włącz przycisk nagrywania (jeśli nie jest jeszcze włączony domyślnie).
Krok 2

W przeglądarce Firefox przejdź do http://demo.guru99.com/test/newtours/. Firefox powinien przenieść Cię na stronę podobną do pokazanej poniżej.

Krok 3
  • Kliknij prawym przyciskiem myszy dowolne puste miejsce na stronie, takie jak logo Mercury Tours w lewym górnym rogu. Spowoduje to wyświetlenie menu kontekstowego Selenium IDE. Uwaga: nie klikaj żadnych obiektów ani obrazów, do których prowadzą hiperłącza
  • Wybierz opcję „Pokaż dostępne polecenia”.
  • Następnie wybierz opcję „assertTitle exact: Welcome: Mercury Tours”. To polecenie zapewnia poprawność tytułu strony.
Krok 4
  • W polu tekstowym „Nazwa użytkownika” Mercury Tours wpisz nieprawidłową nazwę użytkownika „invalidUNN”.
  • W polu tekstowym „Hasło” wpisz nieprawidłowe hasło „nieprawidłowyPWD”.
Krok 5
  • Kliknij przycisk „Zaloguj się”. Firefox powinien przenieść Cię na tę stronę.
Krok 6

Wyłącz przycisk nagrywania, aby zatrzymać nagrywanie. Twój skrypt powinien teraz wyglądać jak ten pokazany poniżej.

Krok 7

Teraz, gdy skończyliśmy z naszym skryptem testowym, zapiszemy go w przypadku testowym. W menu Plik wybierz „Zapisz przypadek testowy”. Alternatywnie możesz po prostu nacisnąć Ctrl + S.

Krok 8
  • Wybierz żądaną lokalizację, a następnie nazwij przypadek testowy jako „Invalid_login”.
  • Kliknij przycisk „Zapisz”.
Krok 9.

Zwróć uwagę, że plik został zapisany jako HTML.

Krok 10.

Wróć do Selenium IDE i kliknij przycisk Playback, aby wykonać cały skrypt. Selenium IDE powinno być w stanie bezbłędnie powielać wszystko.

Wprowadzenie do poleceń selenu - Selenese

  • Polecenia seleńskie mogą mieć maksymalnie dwa parametry: cel i wartość.
  • Parametry nie są wymagane przez cały czas. To zależy od tego, ile polecenia będzie potrzebować.

3 rodzaje poleceń

działania

Są to polecenia, które bezpośrednio współdziałają z elementami strony.

Przykład: polecenie „kliknij” jest akcją, ponieważ bezpośrednio wchodzisz w interakcję z elementem, na który klikasz.

Polecenie „typ” jest również działaniem, ponieważ umieszczasz wartości w polu tekstowym, a pole tekstowe wyświetla je w zamian. Między tobą a polem tekstowym zachodzi dwukierunkowa interakcja.

Akcesoria

Są to polecenia, które umożliwiają przechowywanie wartości w zmiennej.

Przykład: polecenie „storeTitle” jest akcesorium, ponieważ tylko „odczytuje” tytuł strony i zapisuje go w zmiennej. Nie wchodzi w interakcje z żadnym elementem na stronie.

Twierdzenia

Są to polecenia, które sprawdzają, czy określony warunek jest spełniony.

3 Rodzaje twierdzeń

  • Assert . Gdy polecenie „assert” nie powiedzie się, test jest natychmiast zatrzymywany.
  • Weryfikuj . Gdy polecenie „weryfikuj” nie powiedzie się, Selenium IDE rejestruje ten błąd i kontynuuje wykonywanie testu.
  • WaitFor . Przed przejściem do następnego polecenia, polecenia „waitFor” będą najpierw czekać, aż określony warunek stanie się prawdziwy.
    • Jeśli warunek zostanie spełniony w okresie oczekiwania, krok przechodzi.
    • Jeśli warunek nie zostanie spełniony, krok zakończy się niepowodzeniem. Błąd jest rejestrowany, a wykonanie testu przechodzi do następnego polecenia.
    • Domyślnie wartość limitu czasu jest ustawiona na 30 sekund. Możesz to zmienić w oknie dialogowym Selenium IDE Options na karcie General.

Assert vs. Verify

Wspólne polecenia

Komenda Liczba parametrów Opis
otwarty 0 - 2

Otwiera stronę za pomocą adresu URL.

click / clickAndWait 1

Klika określony element.

type / typeKeys 2

Wpisuje sekwencję znaków.

verifyTitle / assertTitle 1

Porównuje rzeczywisty tytuł strony z oczekiwaną wartością.

verifyTextPresent 1

Sprawdza, czy na stronie znajduje się określony tekst.

verifyElementPresent 1

Sprawdza obecność określonego elementu.

verifyTable 2

Porównuje zawartość tabeli z oczekiwanymi wartościami.

waitForPageToLoad 1

Wstrzymuje wykonywanie do momentu całkowitego załadowania strony.

waitForElementPresent 1

Wstrzymuje wykonywanie do momentu, gdy określony element stanie się obecny.

Utwórz skrypt ręcznie za pomocą programu Firebug

Teraz musimy ręcznie odtworzyć ten sam przypadek testowy, wpisując polecenia. Tym razem będziemy musieli użyć Firebuga.

Krok 1
  • Otwórz Firefox i Selenium IDE.
  • Wpisz podstawowy adres URL (http://demo.guru99.com/test/newtours/).
  • Przycisk nagrywania powinien być WYŁĄCZONY.
Krok 2: Kliknij najwyższą pustą linię w edytorze.

Wpisz „otwórz” w polu tekstowym Polecenia i naciśnij Enter.

Krok 3
  • Przejdź w Firefoksie do naszego podstawowego adresu URL i aktywuj Firebug
  • W panelu Selenium IDE Editor wybierz drugą linię (wiersz poniżej polecenia „otwórz”) i utwórz drugie polecenie, wpisując „assertTitle” w polu poleceń.
  • Zapraszam do korzystania z funkcji autouzupełniania.
Krok 4
  • W Firebug rozwiń tag , aby wyświetlić tag .</li> <li>Kliknij wartość tagu <title> (czyli „Welcome: Mercury Tours”) i wklej ją w polu Target w Edytorze.</li> </ul> </td> </tr> <tr> <td><strong>Krok 5</strong> <ul> <li>Aby utworzyć trzecie polecenie, kliknij trzecią pustą linię w Edytorze i wpisz „typ” w polu tekstowym Polecenie.</li> <li>W Firebug kliknij przycisk „Sprawdź”.</li> </ul> </td> </tr> <tr> <td>Kliknij pole tekstowe Nazwa użytkownika. Zauważ, że Firebug automatycznie wyświetla kod HTML dla tego elementu.</td> </tr> <tr> <td><strong>Krok 6</strong> <p>Zwróć uwagę, że pole tekstowe Nazwa użytkownika nie ma identyfikatora, ale ma atrybut NAZWA. Będziemy zatem używać jego NAZWY jako lokalizatora. Skopiuj wartość NAME i wklej ją do pola Target w Selenium IDE.</p> <p>Nadal w polu tekstowym Target przedrostek „nazwa_użytkownika” przedrostkiem „nazwa =”, co oznacza, że ​​Selenium IDE powinno być skierowane na element, którego atrybut NAME to „nazwa_użytkownika”.</p> <p>Wpisz „invalidUN” w polu tekstowym Wartość w Selenium IDE. Twój skrypt testowy powinien teraz wyglądać jak na poniższym obrazku. Skończyliśmy z trzecim poleceniem. Uwaga: Zamiast invalidUN, możesz wprowadzić dowolny inny ciąg tekstowy. Ale Selenium IDE rozróżnia wielkość liter i wpisujesz wartości / atrybuty dokładnie tak, jak w aplikacji.</p> </td> </tr> <tr> <td><strong>Krok 7</strong> <ul> <li>Aby utworzyć czwarte polecenie, wpisz „typ” w polu tekstowym Polecenie.</li> <li>Ponownie użyj przycisku „Sprawdź” Firebuga, aby uzyskać lokalizator pola tekstowego „Hasło”.</li> </ul> <ul> <li> <p>Wklej atrybut NAZWA („hasło”) do pola docelowego i poprzedz go ciągiem „nazwa =”</p> </li> <li> <p>Wpisz „invalidPW” w polu Wartość w Selenium IDE. Twój skrypt testowy powinien teraz wyglądać jak na poniższym obrazku.</p> </li> </ul> </td> </tr> <tr> <td><strong>Krok 8</strong> <ul> <li>W przypadku piątego polecenia wpisz „clickAndWait” w polu tekstowym Polecenie w środowisku Selenium IDE.</li> <li>Użyj przycisku „Sprawdź” Firebuga, aby uzyskać lokalizator przycisku „Zaloguj się”.</li> </ul> <ul> <li>Wklej wartość atrybutu NAZWA („login”) do pola tekstowego Cel i poprzedz go ciągiem „nazwa =”.</li> <li>Twój skrypt testowy powinien teraz wyglądać jak na poniższym obrazku.</li> </ul> </td> </tr> </tbody> </table> <p><strong>Krok 9:</strong> Zapisz przypadek testowy w taki sam sposób, jak zrobiliśmy w poprzedniej sekcji.</p> <a id="menu-6"></a> <h2>Korzystanie z przycisku Znajdź</h2> <p><strong>Przycisk Znajdź w Selenium IDE służy do sprawdzenia, czy to, co umieściliśmy w polu tekstowym Target, jest rzeczywiście poprawnym elementem interfejsu użytkownika.</strong></p> <p>Skorzystajmy z przypadku testowego Invalid_login, który stworzyliśmy w poprzednich sekcjach. Kliknij dowolną komendę z pozycją Cel, powiedzmy trzecią komendą.</p> <p>Kliknij przycisk Znajdź. Zwróć uwagę, że pole tekstowe Nazwa użytkownika na stronie Mercury Tours zostanie podświetlone na sekundę.</p> <p>Oznacza to, że Selenium IDE było w stanie poprawnie wykryć i uzyskać dostęp do oczekiwanego elementu. Jeśli przycisk Znajdź podświetlił inny element lub nie podświetlił go wcale, oznacza to, że coś jest nie tak z Twoim skryptem.</p> <a id="menu-7"></a> <h2>Wykonaj polecenie</h2> <p><strong>Pozwala to na wykonanie dowolnego polecenia bez uruchamiania całego przypadku testowego</strong> . Po prostu kliknij linię, którą chcesz wykonać, a następnie kliknij „Działania> Wykonaj to polecenie” na pasku menu lub po prostu naciśnij „X” na klawiaturze.</p> <p><strong>Krok 1.</strong> Upewnij się, że Twoja przeglądarka znajduje się na stronie głównej Mercury Tours. Kliknij polecenie, które chcesz wykonać. W tym przykładzie kliknij wiersz „typ | nazwa_użytkownika | nieprawidłowyUN”.</p> <p><strong>Krok 2.</strong> Naciśnij „X” na klawiaturze.</p> <p><strong>Krok 3.</strong> Zwróć uwagę, że pole tekstowe nazwy użytkownika zostanie wypełnione tekstem „invalidUN”</p> <p><strong>Wykonywanie poleceń w ten sposób zależy w dużym stopniu od strony, którą Firefox aktualnie wyświetla</strong> . Oznacza to, że jeśli wypróbujesz powyższy przykład ze stroną główną Google wyświetloną zamiast Mercury Tours ', twój krok nie powiedzie się, ponieważ na stronie głównej Google nie ma pola tekstowego z atrybutem „nazwa_użytkownika”.</p> <a id="menu-8"></a> <h2>Punkt startu</h2> <p><strong>Punkt początkowy to wskaźnik, który informuje Selenium IDE, w których wierszach rozpocznie się wykonanie</strong> . <strong>Jego klawisz skrótu to „S”.</strong></p> <p>W powyższym przykładzie odtwarzanie rozpocznie się w trzeciej linii (wpisz | hasło | nieprawidłowyPW). <strong>W jednym skrypcie testowym możesz mieć tylko jeden punkt początkowy.</strong></p> <p>Punkt początkowy jest podobny do polecenia Wykonaj polecenie, ponieważ jest zależny od aktualnie wyświetlanej strony. Punkt początkowy nie powiedzie się, jeśli jesteś na niewłaściwej stronie.</p> <a id="menu-9"></a> <h2>Punkty przerwania</h2> <p>Punkty przerwania to wskaźniki, które informują Selenium IDE, gdzie automatycznie wstrzymać test. <strong>Klawisz skrótu to „B”.</strong></p> <p>Żółte podświetlenie oznacza, że ​​bieżący krok jest w toku. Dowodzi to, że Selenium IDE wstrzymało wykonywanie na tym kroku. <strong>W jednym przypadku testowym możesz mieć wiele punktów przerwania.</strong></p> <a id="menu-10"></a> <h2>Krok</h2> <p>Pozwala na wykonywanie kolejnych poleceń pojedynczo po wstrzymaniu przypadku testowego. Skorzystajmy ze scenariusza z poprzedniej sekcji „Punkty przerwania”.</p> <table> <tbody> <tr> <td width="50%"> </td> <td> <p><strong>Przed kliknięciem „Krok”.</strong></p> <p>Przypadek testowy zatrzymuje się w wierszu „clickAndWait | login”.</p> </td> </tr> <tr> <td width="50%"> </td> <td> <p><strong>Po kliknięciu „Krok”.</strong></p> <p>Wiersz „clickAndWait | login” jest uruchamiany i zatrzymuje się na następnym poleceniu (verifyTitle | Sign-on: Mercury Tours).</p> <p>Zauważ, że następna linia jest wstrzymana, mimo że nie ma tam punktu przerwania. Jest to główny cel funkcji Step - wykonuje kolejne polecenia pojedynczo, aby dać Ci więcej czasu na sprawdzenie wyniku po każdym kroku.</p> </td> </tr> </tbody> </table> <a id="menu-11"></a> <h2>Ważne rzeczy, o których należy pamiętać podczas używania innych formatów w widoku źródła</h2> <p><strong>Selenium IDE działa dobrze tylko z HTML - inne formaty są nadal w trybie eksperymentalnym</strong> . To <strong>nie jest wskazane</strong> , aby utworzyć lub edytować testy przy użyciu innych formatów w tekst źródłowy, ponieważ jest jeszcze wiele pracy potrzeba, aby to stabilne. Poniżej znajdują się znane błędy z wersji 1.9.1.</p> <ul> <li>Nie będziesz w stanie odtworzyć ani przełączyć się z powrotem do widoku tabeli, chyba że powrócisz do HTML.</li> <li>Jedynym sposobem na bezpieczne dodawanie poleceń do kodu źródłowego jest ich nagranie.</li> <li>Gdy ręcznie zmodyfikujesz kod źródłowy, wszystko to zostanie utracone po przełączeniu się na inny format.</li> <li>Chociaż możesz zapisać swój przypadek testowy w widoku źródła, Selenium IDE nie będzie w stanie go otworzyć.</li> </ul> <p><strong>Zalecanym sposobem konwersji testów Selenese jest użycie opcji „Eksportuj przypadek testowy jako…” w menu Plik, a nie w widoku źródła.</strong></p> <a id="menu-12"></a> <h2>Podsumowanie</h2> <ul> <li>Skrypty testowe można tworzyć poprzez nagrywanie lub ręczne wpisywanie poleceń i parametrów.</li> <li>Podczas ręcznego tworzenia skryptów do pobrania lokalizatora używany jest Firebug.</li> <li>Przycisk Znajdź służy do sprawdzenia, czy polecenie ma dostęp do właściwego elementu.</li> <li>Widok tabeli wyświetla skrypt testowy w formie tabelarycznej, podczas gdy widok źródła wyświetla go w formacie HTML.</li> <li>Zmiana widoku źródła na format inny niż HTML jest nadal eksperymentalna.</li> <li>Nie używaj widoku źródła do tworzenia testów w innych formatach. Zamiast tego użyj funkcji eksportu.</li> <li>Parametry nie są wymagane przez cały czas. To zależy od polecenia.</li> <li>Istnieją trzy rodzaje poleceń:</li> <ul> <li>Akcje - bezpośrednio współdziała z elementami strony</li> <li>Accessors - „czyta” właściwość elementu i zapisuje ją w zmiennej</li> <li>Assertions - porównuje rzeczywistą wartość z oczekiwaną</li> </ul> <li>Asercje mają trzy typy:</li> <ul> <li>Assert - w przypadku niepowodzenia kolejne kroki nie są już wykonywane</li> <li>Weryfikuj - w przypadku niepowodzenia kolejne kroki są nadal wykonywane.</li> <li>WaitFor - przechodzi, jeśli określony warunek stanie się prawdziwy w określonym czasie; w przeciwnym razie nie powiedzie się</li> </ul> <li>Najpopularniejsze polecenia to:</li> <ul> <li>otwarty</li> <li>click / clickAndWait</li> <li>type / typeKeys</li> <li>verifyTitle / assertTitle</li> <li>verifyTextPresent</li> <li>verifyElementPresent</li> <li>verifyTable</li> <li>waitForPageToLoad</li> <li>waitForElementPresent</li> </ul> </ul> </div> </article> <div id="container-5533149ee6411a5f99b370c693e87966"></div> </div> </div> </div> </div> </div> <aside class="col-lg-4 sidebar sidebar--right"> <div class="widget widget-popular-posts"> <h2 class="widget-title">Popularne Wiadomości</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8225958-20-best-internet-of-things-iot-companies-in-2021" title="Ponad 20 NAJLEPSZYCH firm zajmujących się Internetem rzeczy (IoT) w 2021 roku" rel="bookmark"><img src="https://cdn.css-code.org/6355037/20_best_internet_of_things_iot_companies_in_2021.jpg.webp" loading="lazy" alt="Ponad 20 NAJLEPSZYCH firm zajmujących się Internetem rzeczy (IoT) w 2021 roku" title="Ponad 20 NAJLEPSZYCH firm zajmujących się Internetem rzeczy (IoT) w 2021 roku" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8225958-20-best-internet-of-things-iot-companies-in-2021" title="Ponad 20 NAJLEPSZYCH firm zajmujących się Internetem rzeczy (IoT) w 2021 roku" rel="bookmark">Ponad 20 NAJLEPSZYCH firm zajmujących się Internetem rzeczy (IoT) w 2021 roku 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8225959-top-53-itil-interview-questions-and-answers" title="53 najpopularniejsze pytania do wywiadów ITIL & Odpowiedzi" rel="bookmark"><img src="https://cdn.css-code.org/4363825/top_53_itil_interview_questions_ampamp_answers.png.webp" loading="lazy" alt="53 najpopularniejsze pytania do wywiadów ITIL & Odpowiedzi" title="53 najpopularniejsze pytania do wywiadów ITIL & Odpowiedzi" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8225959-top-53-itil-interview-questions-and-answers" title="53 najpopularniejsze pytania do wywiadów ITIL & Odpowiedzi" rel="bookmark">53 najpopularniejsze pytania do wywiadów ITIL & Odpowiedzi 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8225960-what-is-jenkins-continuous-integration-ci-tool" title="Co to jest Jenkins? Narzędzie ciągłej integracji (CI)" rel="bookmark"><img src="https://cdn.css-code.org/3699872/what_is_jenkins_continuous_integration_ci_tool.jpg.webp" loading="lazy" alt="Co to jest Jenkins? Narzędzie ciągłej integracji (CI)" title="Co to jest Jenkins? Narzędzie ciągłej integracji (CI)" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8225960-what-is-jenkins-continuous-integration-ci-tool" title="Co to jest Jenkins? Narzędzie ciągłej integracji (CI)" rel="bookmark">Co to jest Jenkins? Narzędzie ciągłej integracji (CI) 2025</a></h3> </div> </div> </li> </ul> </div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Najlepsze opinii o miesiąc</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224713-java-bufferedreader-how-to-read-file-in-java-with-example" title="Java BufferedReader: Jak czytać plik w Javie z przykładem" rel="bookmark">Java BufferedReader: Jak czytać plik w Javie z przykładem</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224714-split-string-method-in-java-how-to-split-string-with-example" title="Metoda Split () String w Javie: Jak podzielić ciąg na przykładzie" rel="bookmark">Metoda Split () String w Javie: Jak podzielić ciąg na przykładzie</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224715-java-program-to-check-prime-number" title="Program Java do sprawdzania numeru głównego" rel="bookmark">Program Java do sprawdzania numeru głównego</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224716-java-reflection-api-tutorial-with-example" title="Samouczek Java Reflection API z przykładem" rel="bookmark">Samouczek Java Reflection API z przykładem</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224717-java-swing-tutorial-how-to-create-a-gui-in-java-with-examples" title="Samouczek Java Swing: Jak utworzyć GUI w Javie z przykładami" rel="bookmark">Samouczek Java Swing: Jak utworzyć GUI w Javie z przykładami</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224718-how-to-convert-char-to-string-in-java-examples" title="Jak przekonwertować znak znaków na ciąg w języku Java (przykłady)" rel="bookmark">Jak przekonwertować znak znaków na ciąg w języku Java (przykłady)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224719-prime-number-from-1-to-100-program-in-java" title="Liczba pierwsza Od 1 do 100 Program w Javie" rel="bookmark">Liczba pierwsza Od 1 do 100 Program w Javie</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224720-armstrong-number-program-in-java" title="Program numeryczny firmy Armstrong w języku JAVA" rel="bookmark">Program numeryczny firmy Armstrong w języku JAVA</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224721-fibonacci-series-program-in-java-using-loops-and-recursion" title="Program serii Fibonacciego w Javie przy użyciu pętli & Rekursja" rel="bookmark">Program serii Fibonacciego w Javie przy użyciu pętli & Rekursja</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224722-palindrome-program-in-java-check-number-is-palindrome-or-not" title="Program Palindrome w Javie: Numer czeku to Palindrome lub Not" rel="bookmark">Program Palindrome w Javie: Numer czeku to Palindrome lub Not</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224723-bubble-sort-program-in-java-sorting-algorithm-example" title="Program Bubble Sort w Javie: Algorytm sortowania PRZYKŁAD" rel="bookmark">Program Bubble Sort w Javie: Algorytm sortowania PRZYKŁAD</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224724-how-to-reverse-a-string-in-java-using-recursion" title="Jak odwrócić ciąg znaków w Javie za pomocą rekursji" rel="bookmark">Jak odwrócić ciąg znaków w Javie za pomocą rekursji</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224725-selection-sorting-in-java-program-with-example" title="Sortowanie wyboru w programie Java z przykładem" rel="bookmark">Sortowanie wyboru w programie Java z przykładem</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224726-difference-between-comparable-and-comparator-in-java" title="Różnica między porównaniem a komparatorem w Javie" rel="bookmark">Różnica między porównaniem a komparatorem w Javie</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8224727-java-vs-scala-what-is-the-difference" title="Java vs Scala: jaka jest różnica?" rel="bookmark">Java vs Scala: jaka jest różnica?</a></h3> </div> </div> </li> </ul> </div> <div id="container-5533149ee6411a5f99b370c693e87966"></div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Najpopularniejsze Artykuły</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8226124-90-best-adobe-illustrator-courses-in-2021" title="90 najlepszych kursów Adobe Illustrator w 2021 roku" rel="bookmark"><img src="https://cdn.css-code.org/8987571/90_best_adobe_illustrator_courses_in_2021.png.webp" loading="lazy" alt="90 najlepszych kursów Adobe Illustrator w 2021 roku" title="90 najlepszych kursów Adobe Illustrator w 2021 roku" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226124-90-best-adobe-illustrator-courses-in-2021" title="90 najlepszych kursów Adobe Illustrator w 2021 roku" rel="bookmark">90 najlepszych kursów Adobe Illustrator w 2021 roku 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8226125-40-best-free-mp4-video-editor-2021" title="40+ Najlepszy DARMOWY edytor wideo MP4 (2021)" rel="bookmark"><img src="https://cdn.css-code.org/9150697/40_best_free_mp4_video_editor_2021.png.webp" loading="lazy" alt="40+ Najlepszy DARMOWY edytor wideo MP4 (2021)" title="40+ Najlepszy DARMOWY edytor wideo MP4 (2021)" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226125-40-best-free-mp4-video-editor-2021" title="40+ Najlepszy DARMOWY edytor wideo MP4 (2021)" rel="bookmark">40+ Najlepszy DARMOWY edytor wideo MP4 (2021) 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8226126-11-best-free-drawing-courses-and-certification-2021-update" title="11 najlepszych darmowych kursów rysowania & Certyfikacja (aktualizacja 2021)" rel="bookmark"><img src="https://cdn.css-code.org/8274431/11_best_free_drawing_courses_ampamp_certification_2021_update.jpg.webp" loading="lazy" alt="11 najlepszych darmowych kursów rysowania & Certyfikacja (aktualizacja 2021)" title="11 najlepszych darmowych kursów rysowania & Certyfikacja (aktualizacja 2021)" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226126-11-best-free-drawing-courses-and-certification-2021-update" title="11 najlepszych darmowych kursów rysowania & Certyfikacja (aktualizacja 2021)" rel="bookmark">11 najlepszych darmowych kursów rysowania & Certyfikacja (aktualizacja 2021) 2025</a></h3> </div> </div> </li> </ul> </div> </aside> </div> </div> <footer class="footer footer--dark"> <div class="container"> <div class="footer__widgets"> <div class="row"> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Popularne Wiadomości</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222501-test-data-generation-what-is-how-to-example-tools" title="Generowanie danych testowych: co to jest, jak, przykład, narzędzia" rel="bookmark">Generowanie danych testowych: co to jest, jak, przykład, narzędzia</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222504-what-is-negative-testing-test-cases-with-example" title="Co to jest test negatywny? Przypadki testowe z przykładem" rel="bookmark">Co to jest test negatywny? Przypadki testowe z przykładem</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222505-web-application-testing-8-step-guide-to-website-testing" title="Testowanie aplikacji internetowych: 8-etapowy przewodnik po testowaniu witryn internetowych" rel="bookmark">Testowanie aplikacji internetowych: 8-etapowy przewodnik po testowaniu witryn internetowych</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222506-automation-testing-tutorial-what-is-automated-testing" title="Samouczek dotyczący testowania automatyzacji: Co to jest testowanie automatyczne?" rel="bookmark">Samouczek dotyczący testowania automatyzacji: Co to jest testowanie automatyczne?</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222508-dbms-keys-candidate-super-primary-foreign-example" title="Klucze DBMS: kandydat, super, podstawowy, zagraniczny (przykład)" rel="bookmark">Klucze DBMS: kandydat, super, podstawowy, zagraniczny (przykład)</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Wybór Redakcji</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222544-junit-ignore-test-annotation-with-example" title="JUnit @Ignore Testuj adnotację z przykładem" rel="bookmark">JUnit @Ignore Testuj adnotację z przykładem</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222545-junit-expected-exception-test-testexpected" title="Test oczekiwanego wyjątku JUnit: @Test (oczekiwany)" rel="bookmark">Test oczekiwanego wyjątku JUnit: @Test (oczekiwany)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222546-junit-errorcollector-rule-with-example" title="JUnit ErrorCollector @Rule z przykładem" rel="bookmark">JUnit ErrorCollector @Rule z przykładem</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222547-junit-parameterized-test-with-example-using-parameters" title="JUnit Sparametryzowany test z przykładem przy użyciu @Parameters" rel="bookmark">JUnit Sparametryzowany test z przykładem przy użyciu @Parameters</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222548-testng-vs-junit-whats-the-difference" title="TestNG Vs JUnit: Jaka jest różnica?" rel="bookmark">TestNG Vs JUnit: Jaka jest różnica?</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Najpopularniejsze Artykuły</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226224-20-best-aws-competitors-and-alternatives-in-2021" title="20 NAJLEPSZYCH zawodników AWS & Alternatywy w 2021 roku" rel="bookmark">20 NAJLEPSZYCH zawodników AWS & Alternatywy w 2021 roku</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226227-sqoop-tutorial-what-is-apache-sqoop-architecture-and-example" title="Samouczek Sqoop: Co to jest Apache Sqoop? Architektura i Przykład" rel="bookmark">Samouczek Sqoop: Co to jest Apache Sqoop? Architektura i Przykład</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226235-hdfs-tutorial-architecture-read-and-write-operation-using-java-api" title="Samouczek HDFS: architektura, odczyt i Napisz operację za pomocą Java API" rel="bookmark">Samouczek HDFS: architektura, odczyt i Napisz operację za pomocą Java API</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226347-hadoop-and-mapreduce-examples-create-first-program-in-java" title="Hadoop & Przykłady Mapreduce: Utwórz pierwszy program w Javie" rel="bookmark">Hadoop & Przykłady Mapreduce: Utwórz pierwszy program w Javie</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226390-how-to-install-hadoop-with-step-by-step-configuration-on-ubuntu" title="Jak zainstalować Hadoop z konfiguracją krok po kroku w systemie Ubuntu" rel="bookmark">Jak zainstalować Hadoop z konfiguracją krok po kroku w systemie Ubuntu</a></h3> </div> </div> </li> </ul> </div> </div> </div> <p>© Copyright pl.css-code.org, 2025 Styczeń | <a href="https://pl.css-code.org/about-site" title="O stronie">O stronie</a> | <a href="https://pl.css-code.org/contacts" title="Łączność">Łączność</a> | <a href="https://pl.css-code.org/privacy-policy" title="Polityka prywatności">Polityka prywatności</a>. </p> </div> </div> </footer> <link href="https://css-code.org/template/css/style.min.css" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'" /> </body> </html>