Przejdź do głównej zawartości

Sesje nagrywania

Sesja nagrywania obserwuje stronę internetową podczas korzystania z niej i zapisuje każde wykonywane przez nią wywołanie API: REST, GraphQL, gRPC-web i WebSocket. Przechwycone wywołania przegląda się jak zwykłe odpowiedzi, a w planach Pro i Enterprise zamieniają się one w folder prawdziwych żądań do ponownego uruchomienia, wstępnie wypełnionych tym, co strona rzeczywiście wysłała.

To najkrótsza droga do udokumentowania API, z którego ma się jedynie front-end: bez konfigurowania proxy, bez instalowania certyfikatów, bez rozszerzenia przeglądarki.

Sesję tworzy się w dowolnym miejscu drzewa — w katalogu głównym, w folderze lub w folderze środowiska — z menu kontekstowego („Dodaj” → „Sesja nagrywania”) albo z menu „Utwórz”; jedynie scenariusz nie może jej zawierać. W panelu bocznym pojawia się ona jako węzeł nadrzędny: kliknięcie samej sesji otwiera stronę konfiguracji, a każdy z jej wierszy podrzędnych otwiera własną kartę.

Strona konfiguracji sesji nagrywania: adres url strony, przechwytywane protokoły, biała lista i czarna lista oraz przycisk Rozpocznij nagrywanie

Konfiguracja sprowadza się do czterech elementów:

  • Adres url strony do otwarcia w mini-przeglądarce (http://, https:// lub file://). Przycisk „Rozpocznij nagrywanie” pozostaje nieaktywny, dopóki adres nie jest poprawny.
  • Protokoły do przechwycenia: HTTP, WebSocket, GraphQL, gRPC-web — domyślnie wszystkie zaznaczone.
  • Biała lista: wyrażenia regularne; wywołanie jest zachowywane, jeśli pasuje do co najmniej jednego z nich. Pusta lista przepuszcza wszystko.
  • Czarna lista: wyrażenia regularne; wywołanie pasujące do któregokolwiek z nich jest odrzucane. Czarna lista ma zawsze ostatnie słowo.

W pliku projektu zapisywane są wyłącznie te ustawienia oraz wywnioskowane trasy. Przechwycone wywołania pozostają w pamięci: znikają po zamknięciu projektu i nigdy nie są zapisywane na dysku.

Przycisk „Rozpocznij nagrywanie” otwiera stronę w karcie mini-przeglądarki i podłącza rejestrator przed pierwszym załadowaniem, dzięki czemu wywołania wykonywane przez stronę podczas uruchamiania — w tym połączenie WebSocket otwierane od razu — są przechwytywane. Pulsująca poświata wokół plakietki sesji w panelu bocznym oraz wokół jej karty sygnalizuje, że nagrywanie trwa.

Mini-przeglądarka podczas nagrywania: strona witryny, przyciski Wstrzymaj nagrywanie i Zatrzymaj nagrywanie na pasku adresu, czerwona plakietka na sesji

Proszę przeglądać stronę i korzystać z niej jak zwykle. Sesją sterują dwa przyciski na pasku adresu:

  • Wstrzymaj nagrywanie pozostawia stronę otwartą, ale przestaje zapisywać wywołania — przydatne, gdy trzeba przejść przez ekran bez znaczenia.
  • Zatrzymaj nagrywanie odłącza rejestrator i zamyka kartę przeglądarki. Przechwycenia pozostają dostępne.

Nagrywanie jest zawsze jawną czynnością: karta przeglądarki przywrócona po ponownym otwarciu aplikacji niczego nie nagrywa.

Witryny, które potrzebują Państwa lokalizacji, proszą o nią przeglądarkę, a mini-przeglądarka domyślnie nic nie ujawnia. Ustawienie Udostępnianie lokalizacji wbudowanej przeglądarce, w sekcji Prywatność ustawień aplikacji i domyślnie wyłączone, udostępnia Państwa przybliżoną lokalizację po uzyskaniu zgody — z systemowej usługi lokalizacji, a w razie jej braku z oszacowania na poziomie miasta na podstawie Państwa adresu IP. Jego wyłączenie natychmiast zapomina lokalizację.

Wiersz „Przechwycenia” sesji otwiera widok wywołań, pogrupowanych według uruchomień od najstarszego do najnowszego i aktualizowanych na żywo podczas nagrywania. Dopóki lista jest przewinięta na sam dół, podąża za najnowszymi wywołaniami; po przewinięciu w górę, aby odczytać jedno z nich, lista pozostaje w miejscu. Pole filtru zawęża listę; szczegóły wywołania korzystają dokładnie z tych samych kart odpowiedzi co żądania (treść, informacje, cookies, graf), protokół po protokole.

Widok przechwyceń: po lewej lista wywołań pogrupowanych według uruchomień, po prawej szczegóły wybranego wywołania z kartami odpowiedzi

Menu kontekstowe wywołania proponuje „Dodaj do białej listy…” lub „Dodaj do czarnej listy…”, z jego adresem url wstępnie wpisanym jako wzorzec. Nowy wzorzec można zastosować do już przechwyconych wywołań: te, które przez niego nie przechodzą, są usuwane — bezpowrotnie, dlatego aplikacja prosi o potwierdzenie.

Liczba wywołań zachowywanych w sesji jest ograniczona (domyślnie 1 000, do zmiany w ustawieniach aplikacji); po przekroczeniu limitu najstarsze są usuwane.

W planach Pro i Enterprise przycisk Wywnioskuj trasy w widoku przechwyceń zamienia wywołania w drzewo pod wierszem „Trasy” sesji:

  • wywołania są grupowane według trasy: segment ścieżki zmieniający się między wywołaniami (/pets/1, /pets/2) staje się parametrem ścieżki {{petId}};
  • foldery odpowiadają statycznym prefiksom ścieżek (api › pets); wywołania gRPC-web są porządkowane według usługi;
  • każda trasa staje się zwykłym żądaniem — HTTP, GraphQL, gRPC-web lub WebSocket — wstępnie wypełnionym na podstawie ostatniego udanego wywołania (nagłówki, parametry, treść) i gotowym do natychmiastowego ponownego uruchomienia;
  • przechwycone wywołania trafiają do historii odpowiedzi każdego żądania, w zwykłym formacie i w granicach skonfigurowanego limitu przechowywania; domyślnie wyświetlana jest odpowiedź ostatniego udanego wywołania.

Rozwinięty wiersz Trasy sesji: wywnioskowane foldery i ich żądania, gotowe do ponownego uruchomienia

Ponowne wnioskowanie po kolejnych nagraniach scala wyniki: dodawane są tylko nowe trasy, a istniejące żądania — również te, które zostały zmodyfikowane — pozostają nietknięte.

W planie Community nagrywanie i przeglądanie przechwyceń są w pełni dostępne; karta Trasy wyświetla przypomnienie o funkcji Pro.

Cała funkcja jest udostępniana przez serwer MCP Restorma: tworzenie i konfigurowanie sesji, rozpoczynanie i zatrzymywanie nagrywania, odczyt przechwyceń i wnioskowanie tras. Agent może więc otworzyć stronę, pozwolić jej działać, a następnie przekazać folder żądań gotowych do użycia.