Zapisy otwarte! Dołącz do kursu Selenium w Javie lub Selenium w C#. Tylko do 23.09.2021 do godz. 21:00. Zapisz się tutaj.

API w REST Assured 1. Lokalna aplikacja do testów

Tutaj znajdziesz instrukcję, jak postawić sobie lokalnie testowy sklep, którego będziemy używać w kursie testowania API w REST Assured. To jest nowa instrukcja, w której używamy innego niż poprzednio narzędzia. Starą instrukcję wciąż możesz znaleźć na samym dole.

Dokumentacja do sklepu

Po poprawnym postawieniu aplikacji dokumentację do niej znajdziesz pod http://fakestore.local/dokumentacja/.

LocalWP: instalacja

Aplikacja LocalWP pozwala na sprawne postawienie sobie lokalnie strony opartej na WordPressie. Taką właśnie stroną jest nasz testowy sklep. LocalWP jest aplikacją dostępną na Windowsa, Maca i Linuxa. Ściągnij i zainstaluj tę aplikację.

>> Pobierz LocalWP

Instalacja czystego WordPressa

Teraz użyjemy LocalWP by zainstalować „gołego” WordPressa jeszcze bez plików naszego sklepu. Kliknij w przycisk „Create a new site”.

W kolejnym kroku musisz podać nazwę Twojej strony. Wpisz tam „fakestore” i kliknij „Continue”.

Następnie nic nie zmieniaj i pozostaw preferowane ustawienia. Kliknij „Continue”.

Następnie wprowadź nazwę użytkownika i hasło. To, co tutaj wprowadzić nie będzie miało znaczenia, bo później zapełnimy bazę naszymi danymi, w tym właśnie nazwą użytkownika i hasłem. Kliknij „Add site”.

Teraz musisz chwilę poczekać na uruchomienie strony. Gdy wszystko pójdzie ok, zobaczysz ekran z informacjami o Twojej stronie.

Baza danych

Dodamy teraz do bazy danych produkty, użytkowników i inne niezbędne do działania sklepu rekordy. Pobierz pliki potrzebne do postawienia naszego sklepu (przejdź przez proces zakupu).

>> Baza danych i pliki do lokalnej aplikacji (dostęp dla aktywnych członków)

Znajdziesz tam plik o nazwie „db.sql”. W LocalWP kliknij na zakładkę „Database”, a następnie kliknij „Open Adminer”. Twoim oczom powinno się ukazać poniższe okno.

Kliknij w panelu po lewej w „Import”. Kliknij przycisk „Wybierz pliki” i dodaj tam „db.sql” z paczki, którą pobraliśmy. Następnie kliknij „Wykonaj”.

Pliki

Teraz skopiujemy brakujące pliki niezbędne do działania sklepu. W pobranej paczce znajdziesz folder „wp-content”. Skopiuj go i przejdź do LocalWP. Kliknij w znak „>” obok „~\Local Sites\fakestore” pod nazwą naszego sklepu.

Znajdziesz się w folderze, w którym leży Twoja aplikacja. Przejdź głębiej do app>public. Znajdziesz tam folder wp-content. Usuń go i wklej swój.

Gdy wszystkie pliki zostaną skopiowane Twoja aplikacja jest gotowa do użycia i dostępna pod adresem fakestore.local.

Uwaga!

Kuba tworzył kurs na XAMPPie, dlatego w ścieżce do aplikacji zobaczysz http://localhost/fakestore. Pamiętaj żeby u siebie w testach zamienić to na fakestore.local.

Stara instrukcja

Tutaj znajdziesz kroki, jakie trzeba wykonać, żeby móc postawić sobie lokalnie sklep, którego będziemy używać w kursie testowania API w REST Assured. Zrobimy to za pomocą XAMPP.

Dokumentacja do sklepu

Po poprawnym postawieniu aplikacji dokumentację do niej znajdziesz pod localhost/fakestore/dokumentacja/ (ewentualnie z portem np. na macOS, znajdziesz to w instrukcji).

Lokalna aplikacja do testów: pliki do pobrania

Nasza lokalna aplikacja do testów postawiona jest na WordPressie (WooCommerce). Do postawienia sklepu lokalnie u siebie z takimi samymi danymi, interfejsem i kluczami API potrzebujesz po pierwsze plików do aplikacji webowej, a po drugie bazy danych z gotowymi produktami i użytkownikami. Obie te rzeczy dostaniesz tutaj (dostęp dla aktywnych członków). Po pobraniu wypakuj te pliki – będą Ci potrzebne.

Kolejną rzeczą jakiej potrzebujesz jest XAMPP. XAMPP to pakiet serwera WWW i to za jego pomocą postawimy naszą stronę. Odpowiednią wersję dla swojego systemu znajdziesz tutaj. Jeżeli ściągasz wersję dla macOS upewnij się, że ściągasz plik bez „VM” w nazwie.

Instalacja XAMPP

Rozpocznij instalację XAMPPa. W komponentach wybierz Apache, MySQL, PHP i phpMyAdmin.

Po instalacji przejdź do kolejnego kroku.

Uruchomienie serwera Apache i MySQL

Po instalacji należy otworzyć Control Panel. Jeżeli nie otworzyłaś/nie otworzyłeś go zaraz po instalacji możesz to zrobić odnajdując odpowiedni plik w folderze, w którym XAMPP jest u Ciebie zainstalowany (ten plik na Windowsie to xampp-control.exe, a na macOS jest to manager-osx.app) i uruchamiając go.

Następnie uruchom serwery Apache i MySQL klikając obok nich na przyciski „Start”. Po uruchomieniu powinno to wyglądać jak poniżej (na macOS podobnie, interfejs się trochę różni).

Postawienie bazy danych

Otwórz przeglądarkę i przejdź na localhost/phpmyadmin/ (a na macOS na localhost:8080/phpmyadmin/). Następnie kliknij w zakładkę SQL – zobaczysz pole do wprowadzenia zapytania.

Wykorzystamy teraz plik fakestore.sql (który był w plikach do ściągnięcia na samym początku tej instrukcji), żeby stworzyć sobie odpowiednie tabele i wypełnić je danymi. Otwórz  plik fakestore.sql w notatniku, skopiuj jego zawartość i wklej do pola na zapytanie SQL. Następnie kliknij przycisk „Wykonaj”. Poczekaj aż polecenie się wykona (zobaczysz komunikat „# MySQL zwrócił pusty wynik (zero wierszy)”). Po odświeżeniu strony zobaczysz na liście po lewej stronie nową bazę – fakestore.

Skopiowanie plików aplikacji

Ostatnim etapem jest skopiowanie plików aplikacji. W tym celu przejdź do folderu, w którym zainstalowany jest XAMPP i przejdź do folderu htdocs (np. E:\xampp\htdocs, a na macOS w Aplikacje>XAMPP>htdocs). Następnie skopiuj i wklej tam cały folder fakestore (który był do pobrania na początku tej instrukcji) nie usuwając plików, które w htdocs już się znajdują.

Po skopiowaniu i wklejeniu folderu do htdocs otwórz w przeglądarce localhost/fakestore. Jeżeli wszystko poszło dobrze, to patrzysz właśnie na swój lokalny sklep.

Uruchomienie aplikacji przed testami

Żeby Twoja aplikacja działała pamiętaj o uruchomieniu serwera Apache i MySql, XAMPP nie uruchomi tych serwerów sam bez Twojej akcji. Oznacza to, że po każdym nowym uruchomieniu komputera czy po prostu po zamknięciu XAMPPa Twoja aplikacja nie będzie działała. Pamiętaj, żeby ją postawić przed rozpoczęciem pracy lekcji.

Domyślny port jest zajęty, co robić?

Najlepiej byłoby go zwolnić. Klikając w Netstat w panelu XAMPPa możesz podejrzeć jaki proces siedzi na jakim porcie.

Jeżeli to nie wchodzi w grę, możesz postawić aplikację na porcie 808. W tym celu wykonaj poniższe kroki.

  1. Zaktualizuj wpisy w bazie danych
    UPDATE 'wpnt_options' SET 'option_value' = 'http://localhost:808/fakestore' WHERE 'wpnt_options'.'option_id' = 2;<br>UPDATE 'wpnt_options' SET 'option_value' = 'http://localhost:808/fakestore' WHERE 'wpnt_options'.'option_id' = 1;
  2. Zaktualizuj porty w pliku httpd.conf

    Zamień linijkę „Listen 80” na „Listen 808” (na Windowsie, na Macu domyślnym portem jest 8080) oraz „ServerName localhost:80” na „ServerName localhost:808”. Jeżeli nie widzisz tych linijek albo są zakomentowane to je dodaj/odkomentuj.
  3. Ustaw port 808 w konfiguracji XAMPPa

Wsparcie merytoryczne

Nie masz dostępu do wsparcia merytorycznego dla tego kursu. Wykup dostęp albo zaloguj się, by móc zadawać pytania.

  1. Na samym końcu po wejściu w localhost/fakestore dostaję błąd "Error establishing a database connection". Wszystko robiłem dokładnie krok po kroku kilka razy i niestety wciąż to samo.

    Odpowiedz
  2. Miał ktoś też może problem w końcowym etapie uruchomienia localhost:8080/fakestore na macbooku? Mi po ustawieniu sieci oraz skryptu sql, przekopiowaniu folderu fakestore do folderu htdocs/ niestety nie udaje mi się go wywołać, czyli odpalić sklepu: http://localhost:8080/fakestore/
    Z kolei bez problemu odpala się localhost:8080/dashboard/ także chyba nie jest problem z konfiguracją xamppa

    Odpowiedz
      • Podobna sytuacja. Działa localhost:1234/dashboard/, ale localhost:1234/fakestore/ już nie. Mogę się dostać przez http://127.0.0.1:1234/fakestore/, przy czym jest to jedynie strona główna bez stylów i całej reszty. Potrzebuję hint gdzie szukać rozwiązania 🙂
        XAMPP 7.4.10-0 bez VM, choć wcześniej zainstalowałem z VM (już odinstalowany, ale może ma to jakiś związek).

        Odpowiedz
          • Dzięki, działa pod http://127.0.0.1:1234/fakestore/, po zaczytaniu strony głównej na konsoli już wszystko na statusie 200, więc reszta raczej też zadziała.
            Nie znam odpowiedzi czemu localhost:1234/dashboard/ działa, a localhost:1234/fakestore/ już nie, ale jak na coś trafię, to się podzielę 🙂
            U mnie domyślnym portem na macOS był akurat 80, a nie 8080. Zapis w instrukcji, że na macOS zadziała link localhost:8080/phpmyadmin/ może nieco zmylić. Dodałbym tam, by sprawdzić sobie port w xamppfiles/etc/httpd.conf w Listen i Servername

  3. Ubuntu -XAMPP 7.4.5
    Localhost się uruchamia niestety przy próbie importowania "fakestore.sql" lub ręcznego wklepania zapytania do zakładki SQL wyrzuca komunikat :
    ________________________________________________________________________________
    Błąd
    Zapytanie SQL: Kopiuj
    DROP DATABASE IF EXISTS fakestore

    #1558 - Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 100108, now running 100411. Please use mysql_upgrade to fix this error
    ________________________________________________________________________________

    Odpowiedz
      • Wczoraj trochę pokombinowałem i udało się.
        Nie jestem pewien ale wydaje mi się że udało się po zmianie servera aktualizacji softu
        ścieżka SOFTWARE & UPDATES -> DOWNLOAD FROM: (było Poland) ustawiłem MAIN SERVER
        potem odinstalowałem xamppa i wgrałem go ponownie i ruszyło.

        Odpowiedz