2 Obiekty JavaScript pozycji przeglądarki
Przegląd
Ta sekcja opisuje rozszerzenia języka JavaScript w Zabbix zaimplementowane przy użyciu Duktape do użycia w skrypcie pozycji Browser. Rozszerzenia te uzupełniają obiekty JavaScript opisane na stronie Dodatkowe obiekty JavaScript.
Browser
Obiekt Browser zarządza sesjami WebDriver, inicjalizując sesję podczas tworzenia i kończąc ją podczas niszczenia obiektu.
Pojedynczy skrypt może obsługiwać maksymalnie cztery obiekty Browser.
Aby utworzyć obiekt Browser, użyj składni new Browser(options).
Parametr options (obiekt JSON) określa opcje przeglądarki, zwykle wynik metody opcji WebDriver (na przykład Browser.chromeOptions()).
Obiekt Browser obsługuje następujące metody.
| Method | Description |
|---|---|
navigate(url) |
Przejdź do określonego adresu URL. Parametry: url - (string) Adres URL, do którego należy przejść. |
getUrl() |
Zwraca ciąg znaków z adresem URL otwartej strony. |
getPageSource() |
Zwraca ciąg znaków z kodem źródłowym otwartej strony. |
findElement(strategy, selector) |
Zwraca obiekt Element z jednym elementem na otwartej stronie (lub zwraca null, jeśli żadne elementy nie pasują do strategy i selector).Parametry: strategy - (string, css selector/link text/partial link text/tag name/xpath) Strategia lokalizacji;selector - (string) Selektor elementu używający określonej strategii lokalizacji. |
findElements(strategy, target) |
Zwraca tablicę obiektów Element z wieloma elementami na otwartej stronie (lub zwraca pustą tablicę, jeśli żadne elementy nie pasują do strategii lokalizacji i celu).Parametry: strategy - (string, css selector/link text/partial link text/tag name/xpath) Strategia lokalizacji;target - (string) Selektor elementu używający określonej strategii lokalizacji. |
getCookies() |
Zwraca tablicę obiektów Cookie. |
addCookie(cookie) |
Ustawia pliki cookie. Parametry: cookie - (Cookie object) Plik cookie do ustawienia. |
getScreenshot() |
Zwraca ciąg znaków zakodowany w base64, reprezentujący obraz obszaru widoku przeglądarki. |
setScreenSize(x,y) |
Ustawia rozmiar obszaru widoku przeglądarki. Parametry: x - (string) Szerokość w pikselach;y - (string) Wysokość w pikselach. |
setScriptTimeout(timeout) |
Ustawia limit czasu ładowania skryptu. Parametry: timeout - (integer) Wartość limitu czasu w milisekundach. |
setSessionTimeout(timeout) |
Ustawia limit czasu sesji (ładowania strony). Parametry: timeout - (integer) Wartość limitu czasu w milisekundach. |
setElementWaitTimeout(timeout) |
Ustawia limit czasu strategii lokalizacji elementu (implicit). Parametry: timeout - (integer) Wartość limitu czasu w milisekundach. |
collectPerfEntries(mark) |
Zbiera wpisy wydajności do pobrania metodą getResult().Parametry: mark - (string, optional) Znacznik migawki wydajności. |
getRawPerfEntries() |
Zwraca tablicę obiektów wpisów wydajności. |
getResult() |
Zwraca obiekt Result ze statystykami sesji przeglądarki (informacje o błędach, migawki wydajności itp.). |
getError() |
Zwraca obiekt BrowserError z błędami przeglądarki (lub zwraca null, jeśli nie ma błędów przeglądarki). |
setError(message) |
Ustawia niestandardowy komunikat błędu, który ma zostać uwzględniony w obiekcie Result.Parametry: message - (string) Komunikat błędu. |
discardError() |
Odrzuca błąd, który ma zostać zwrócony w obiekcie Result. |
getAlert() |
Zwraca obiekt Alert z alertami przeglądarki (lub zwraca null, jeśli nie ma alertów przeglądarki). |
chromeOptions() |
Zwraca obiekt chromeOptions ze wstępnie zdefiniowanymi opcjami przeglądarki Chrome. |
firefoxOptions() |
Zwraca obiekt firefoxOptions ze wstępnie zdefiniowanymi opcjami przeglądarki Firefox. |
safariOptions() |
Zwraca obiekt safariOptions ze wstępnie zdefiniowanymi opcjami przeglądarki Safari. |
edgeOptions() |
Zwraca obiekt edgeOptions ze wstępnie zdefiniowanymi opcjami przeglądarki Edge. |
switchFrame(target) |
Przełącza do określonej ramki. Parametry: target - (browser element or integer, optional) Ramka docelowa. Aby wybrać ramkę według elementu, przekaż element. Aby wybrać ramkę według indeksu, przekaż liczbę. Jeśli pozostawiono puste, nastąpi przełączenie do kontekstu przeglądania najwyższego poziomu. |
Wszystkie metody Browser mogą zgłaszać następujące błędy:
BrowserError- dziedziczony z obiektuError, zgłaszany, jeśli konstruktorBrowserzakończy się niepowodzeniem; zawiera dodatkową właściwośćbrowserz obiektemBrowser, który zgłosił tenBrowserError.WebdriverError- dziedziczony zBrowserError; zawiera te same właściwości co obiektBrowserError, które wskazują, czy błąd został wygenerowany w odpowiedzi na błąd w odpowiedzi WebDriver.
Element
Obiekt Element jest zwracany przez metody findElement()/findElements() obiektu Browser i nie może być tworzony bezpośrednio.
Obiekt Element reprezentuje element na stronie internetowej i udostępnia metody do interakcji z nim.
Poniższe metody są obsługiwane przez obiekt Element.
| Method | Description |
|---|---|
getAttribute(name) |
Zwraca ciąg wartości atrybutu elementu (lub zwraca null, jeśli określony atrybut nie został znaleziony).Parametry: name - (string) Nazwa atrybutu. |
getProperty(name) |
Zwraca ciąg wartości właściwości elementu (lub zwraca null, jeśli określona właściwość nie została znaleziona).Parametry: name - (string) Nazwa właściwości. |
getText() |
Zwraca ciąg wartości tekstowej tekstu elementu. |
click() |
Kliknij element. |
clear() |
Wyczyść zawartość edytowalnego elementu. |
sendKeys(keys) |
Wysyła klawisze. Parametry: keys - (string) Klawisze do wysłania. |
Cookie
Obiekt Cookie jest zwracany przez metodę getCookies() obiektu Browser i przekazywany do metody addCookie().
Chociaż obiekt Cookie nie ma żadnych metod, może zawierać następujące właściwości:
| Właściwość | Typ | Opis |
|---|---|---|
| name | string | Nazwa pliku cookie. |
| value | string | Wartość pliku cookie. |
| path | string | Ścieżka, dla której plik cookie jest prawidłowy. Domyślnie "/", jeśli zostanie pominięta podczas dodawania pliku cookie. |
| domain | string | Domena, dla której plik cookie jest widoczny. Domyślnie domena URL aktywnego dokumentu bieżącego kontekstu przeglądania sesji, jeśli zostanie pominięta podczas dodawania pliku cookie. |
| secure | boolean | Wskazuje, czy plik cookie jest bezpieczny. Domyślnie false, jeśli zostanie pominięte podczas dodawania pliku cookie. |
| httpOnly | boolean | Wskazuje, czy plik cookie jest dostępny tylko przez HTTP. Domyślnie false, jeśli zostanie pominięte podczas dodawania pliku cookie. |
| expiry | integer | Czas wygaśnięcia pliku cookie (w sekundach od epoki Unix). Nie może być ustawiony, jeśli zostanie pominięty podczas dodawania pliku cookie. |
| sameSite | string | Atrybut sameSite pliku cookie, który określa, czy plik cookie powinien być ograniczony do kontekstu first-party lub same-site.Może być ustawiony na "Lax" lub "Strict".Domyślnie "None", jeśli zostanie pominięty podczas dodawania pliku cookie. |
Alert
Obiekt Alert reprezentuje alert strony internetowej, jest zwracany przez metodę getAlert() obiektu Browser i nie może być tworzony bezpośrednio.
Obiekt Alert zawiera właściwość text z tekstem alertu (lub null, jeśli nie ma alertów).
Następujące metody są obsługiwane przez obiekt Alert.
| Method | Description |
|---|---|
accept() |
Akceptuje alert. |
dismiss() |
Odrzuca alert. |
Wynik
Obiekt Result zawiera statystyki sesji i jest zwracany przez metodę getResult() obiektu Browser.
Zazwyczaj obiekt Result jest konwertowany do postaci ciągu znaków i zwracany ze skryptu, a następnie przetwarzany na wartości zależnych pozycji za pomocą preprocessing.
Chociaż obiekt Result nie ma żadnych metod, może zawierać następujące właściwości.
| Właściwość | Typ | Opis | ||
|---|---|---|---|---|
| duration | string | Czas trwania sesji od utworzenia sesji do pobrania wyniku. | ||
| error | object | Informacje o błędzie. | ||
| http_status | integer | Status HTTP zwrócony przez WebDriver (lub 0, jeśli nie ma błędów WebDriver). | ||
| error_code | string | Błąd zwrócony przez WebDriver (lub pusty ciąg znaków, jeśli nie ma błędów WebDriver). | ||
| message | string | Komunikat błędu WebDriver (lub pusty ciąg znaków, jeśli nie ma błędów WebDriver). | ||
| performance_data | object | Statystyki wydajności. | ||
| summary | object | Podsumowanie wydajności. | ||
| navigation | object | Podsumowanie nawigacji. | ||
| resource | object | Podsumowanie zasobów. | ||
| details | array of objects | Statystyki wydajności po każdej operacji, która mogła skutkować nawigacją. | ||
| mark | string | (opcjonalnie) Oznaczenie migawki wydajności określone za pomocą metody collectPerfEntries(). |
||
| navigation | object | Statystyki nawigacji. | ||
| resource | object | Podsumowanie zasobów dla tego kroku. | ||
| user | array of objects | Tablica statystyk typu mark/measure. | ||
| marks | array of objects | Indeksy oznaczonych migawek wydajności. | ||
| name | string | Nazwa oznaczenia migawki wydajności. | ||
| index | integer | Indeks migawki wydajności w tablicy details. | ||