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, inicjując sesję podczas tworzenia i kończąc ją podczas usuwania.
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 WebDrivera (na przykład Browser.chromeOptions()).
Następujące metody są obsługiwane przez obiekt Browser.
| Method | Description |
|---|---|
navigate(url) |
Przejdź do podanego adresu URL. Parameters: 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 ze źródłem 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).Parameters: strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;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 target).Parameters: strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;target - (string) Selektor elementu używający określonej strategii lokalizacji. |
getCookies() |
Zwraca tablicę obiektów Cookie. |
addCookie(cookie) |
Ustawia pliki cookie. Parameters: cookie - (obiekt Cookie) Cookie do ustawienia. |
getScreenshot() |
Zwraca zakodowany w Base64 ciąg znaków reprezentujący obraz obszaru widocznego przeglądarki. |
setScreenSize(x,y) |
Ustawia rozmiar obszaru widocznego przeglądarki. Parameters: x - (string) Szerokość w pikselach;y - (string) Wysokość w pikselach. |
setScriptTimeout(timeout) |
Ustawia limit czasu ładowania skryptu. Parameters: timeout - (integer) Wartość limitu czasu w milisekundach. |
setSessionTimeout(timeout) |
Ustawia limit czasu sesji (ładowania strony). Parameters: timeout - (integer) Wartość limitu czasu w milisekundach. |
setElementWaitTimeout(timeout) |
Ustawia limit czasu strategii lokalizacji elementu (implicit). Parameters: timeout - (integer) Wartość limitu czasu w milisekundach. |
collectPerfEntries(mark) |
Zbiera wpisy wydajności do pobrania metodą getResult().Parameters: 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 zostanie uwzględniony w obiekcie Result.Parameters: 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 z predefiniowanymi opcjami przeglądarki Chrome. |
firefoxOptions() |
Zwraca obiekt firefoxOptions z predefiniowanymi opcjami przeglądarki Firefox. |
safariOptions() |
Zwraca obiekt safariOptions z predefiniowanymi opcjami przeglądarki Safari. |
edgeOptions() |
Zwraca obiekt edgeOptions z predefiniowanymi opcjami przeglądarki Edge. |
switchFrame(target) |
Przełącza na określoną ramkę. Obsługiwane od wersji 7.0.4. Parameters: target - (browser element or integer, optional) Docelowa ramka. Aby wybrać ramkę według elementu, przekaż element. Aby wybrać ramkę według indeksu, przekaż liczbę. Jeśli pozostawione puste, nastąpi przełączenie do najwyższego kontekstu przeglądania. |
Wszystkie metody Browser mogą zgłaszać następujące błędy:
BrowserError- pochodny od obiektuError, zgłaszany, jeśli konstruktorBrowserzakończy się niepowodzeniem; zawiera dodatkową właściwośćbrowserz obiektemBrowser, który spowodował tenBrowserError.WebdriverError- pochodny odBrowserError; zawiera te same właściwości co obiektBrowserError, które wskazują, czy błąd został wygenerowany w odpowiedzi na błąd w odpowiedzi WebDrivera.
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 umożliwiające interakcję z nim.
Następujące metody są obsługiwane przez obiekt Element.
| Method | Description |
|---|---|
getAttribute(name) |
Zwraca ciąg znaków z wartością atrybutu elementu (lub zwraca null, jeśli określony atrybut nie został znaleziony).Parameters: name - (string) Nazwa atrybutu. |
getProperty(name) |
Zwraca ciąg znaków z wartością właściwości elementu (lub zwraca null, jeśli określona właściwość nie została znaleziona).Parameters: name - (string) Nazwa właściwości. |
getText() |
Zwraca ciąg znaków z tekstem elementu. |
click() |
Kliknij element. |
clear() |
Wyczyść zawartość edytowalnego elementu. |
sendKeys(keys) |
Wysyła klawisze. Parameters: 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. | ||