2 Oggetti JavaScript dell'item del browser
Panoramica
Questa sezione descrive le estensioni di Zabbix al linguaggio JavaScript implementate con Duktape per l'uso nello script dell'item Browser. Queste estensioni integrano gli oggetti JavaScript descritti nella pagina Oggetti JavaScript aggiuntivi.
Browser
L'oggetto Browser gestisce le sessioni WebDriver, inizializzando una sessione al momento della creazione e terminandola al momento della distruzione.
Un singolo script può supportare fino a quattro oggetti Browser.
Per costruire un oggetto Browser, utilizzare la sintassi new Browser(options).
Il parametro options (oggetto JSON) specifica le opzioni del browser, solitamente il risultato del metodo delle opzioni WebDriver (ad esempio, Browser.chromeOptions()).
Con l'oggetto Browser sono supportati i seguenti metodi.
| Method | Description |
|---|---|
navigate(url) |
Passa all'URL specificato. Parametri: url - (string) URL a cui passare. |
getUrl() |
Restituisce una stringa con l'URL della pagina aperta. |
getPageSource() |
Restituisce una stringa con il sorgente della pagina aperta. |
findElement(strategy, selector) |
Restituisce un oggetto Element con un elemento nella pagina aperta (oppure restituisce null se nessun elemento corrisponde a strategy e selector).Parametri: strategy - (string, css selector/link text/partial link text/tag name/xpath) Strategia di individuazione;selector - (string) Selettore dell'elemento che utilizza la strategia di individuazione specificata. |
findElements(strategy, target) |
Restituisce un array di oggetti Element con più elementi nella pagina aperta (oppure restituisce un array vuoto se nessun elemento corrisponde alla strategia di individuazione e al target).Parametri: strategy - (string, css selector/link text/partial link text/tag name/xpath) Strategia di individuazione;target - (string) Selettore dell'elemento che utilizza la strategia di individuazione specificata. |
getCookies() |
Restituisce un array di oggetti Cookie. |
addCookie(cookie) |
Imposta i cookie. Parametri: cookie - (oggetto Cookie) Cookie da impostare. |
getScreenshot() |
Restituisce una stringa codificata in base64 che rappresenta un'immagine della viewport del browser. |
setScreenSize(x,y) |
Imposta la dimensione della viewport del browser. Parametri: x - (string) Larghezza in pixel;y - (string) Altezza in pixel. |
setScriptTimeout(timeout) |
Imposta il timeout di caricamento dello script. Parametri: timeout - (integer) Valore del timeout in millisecondi. |
setSessionTimeout(timeout) |
Imposta il timeout della sessione (caricamento della pagina). Parametri: timeout - (integer) Valore del timeout in millisecondi. |
setElementWaitTimeout(timeout) |
Imposta il timeout (implicito) della strategia di individuazione degli elementi. Parametri: timeout - (integer) Valore del timeout in millisecondi. |
collectPerfEntries(mark) |
Raccoglie le voci di prestazione da recuperare con il metodo getResult().Parametri: mark - (string, optional) Contrassegno dell'istantanea delle prestazioni. |
getRawPerfEntries() |
Restituisce un array di oggetti voce di prestazione. |
getResult() |
Restituisce un oggetto Result con le statistiche della sessione del browser (informazioni sugli errori, istantanee delle prestazioni, ecc.). |
getError() |
Restituisce un oggetto BrowserError con gli errori del browser (oppure restituisce null se non ci sono errori del browser). |
setError(message) |
Imposta un messaggio di errore personalizzato da includere nell'oggetto Result.Parametri: message - (string) Messaggio di errore. |
discardError() |
Scarta l'errore da restituire nell'oggetto Result. |
getAlert() |
Restituisce un oggetto Alert con gli avvisi del browser (oppure restituisce null se non ci sono avvisi del browser). |
chromeOptions() |
Restituisce un oggetto chromeOptions con opzioni predefinite del browser Chrome. |
firefoxOptions() |
Restituisce un oggetto firefoxOptions con opzioni predefinite del browser Firefox. |
safariOptions() |
Restituisce un oggetto safariOptions con opzioni predefinite del browser Safari. |
edgeOptions() |
Restituisce un oggetto edgeOptions con opzioni predefinite del browser Edge. |
switchFrame(target) |
Passa al frame specificato. Parametri: target - (elemento del browser o integer, optional) Frame di destinazione. Per selezionare un frame tramite elemento, passare l'elemento. Per selezionare un frame tramite indice, passare il numero. Se lasciato vuoto, passerà al contesto di navigazione di livello superiore. |
Tutti i metodi di Browser possono generare i seguenti errori:
BrowserError- derivato dall'oggettoError, viene generato se il costruttoreBrowsernon riesce; contiene una proprietà aggiuntivabrowsercon un oggettoBrowserche ha generato questoBrowserError.WebdriverError- derivato daBrowserError; contiene le stesse proprietà dell'oggettoBrowserError, che indicano se l'errore è stato generato in risposta a un errore nella risposta WebDriver.
Element
L'oggetto Element viene restituito dai metodi findElement()/findElements() dell'oggetto Browser e non può essere creato direttamente.
L'oggetto Element rappresenta un elemento nella pagina web e fornisce metodi per interagire con esso.
I seguenti metodi sono supportati con l'oggetto Element.
| Method | Description |
|---|---|
getAttribute(name) |
Restituisce una stringa con il valore dell'attributo dell'elemento (oppure restituisce null se l'attributo specificato non è stato trovato).Parametri: name - (string) Nome dell'attributo. |
getProperty(name) |
Restituisce una stringa con il valore della proprietà dell'elemento (oppure restituisce null se la proprietà specificata non è stata trovata).Parametri: name - (string) Nome della proprietà. |
getText() |
Restituisce una stringa con il valore testuale del testo dell'elemento. |
click() |
Fa clic su un elemento. |
clear() |
Cancella il contenuto di un elemento modificabile. |
sendKeys(keys) |
Invia tasti. Parametri: keys - (string) Tasti da inviare. |
Cookie
L'oggetto Cookie viene restituito dal metodo getCookies() dell'oggetto Browser e passato al metodo addCookie().
Sebbene l'oggetto Cookie non abbia metodi, può contenere le seguenti proprietà:
| Proprietà | Tipo | Descrizione |
|---|---|---|
| name | string | Nome del cookie. |
| value | string | Valore del cookie. |
| path | string | Percorso per cui il cookie è valido. Per impostazione predefinita è "/" se omesso durante l'aggiunta di un cookie. |
| domain | string | Dominio a cui il cookie è visibile. Per impostazione predefinita è il dominio URL del documento attivo del contesto di navigazione corrente della sessione se omesso durante l'aggiunta di un cookie. |
| secure | boolean | Indica se il cookie è sicuro. Per impostazione predefinita è false se omesso durante l'aggiunta di un cookie. |
| httpOnly | boolean | Indica se il cookie è solo HTTP. Per impostazione predefinita è false se omesso durante l'aggiunta di un cookie. |
| expiry | integer | Tempo di scadenza del cookie (in secondi dall'epoca Unix). Non deve essere impostato se omesso durante l'aggiunta di un cookie. |
| sameSite | string | L'attributo sameSite del cookie, che controlla se il cookie deve essere limitato a un contesto di prima parte o dello stesso sito.Può essere impostato su "Lax" o "Strict".Per impostazione predefinita è "None" se omesso durante l'aggiunta di un cookie. |
Avviso
L'oggetto Alert rappresenta un avviso di una pagina web, viene restituito dal metodo getAlert() dell'oggetto Browser e non può essere creato direttamente.
L'oggetto Alert contiene la proprietà text con il testo dell'avviso (oppure null se non ci sono avvisi).
I seguenti metodi sono supportati con l'oggetto Alert.
| Method | Description |
|---|---|
accept() |
Accetta l'avviso. |
dismiss() |
Ignora l'avviso. |
Risultato
L'oggetto Result contiene le statistiche della sessione ed è restituito dal metodo getResult() dell'oggetto Browser.
In genere, l'oggetto Result viene convertito in stringa e restituito dallo script, quindi analizzato nei valori degli item dipendenti tramite preprocessing.
Sebbene l'oggetto Result non abbia metodi, può contenere le seguenti proprietà.
| Proprietà | Type | Descrizione | ||
|---|---|---|---|---|
| duration | string | Durata della sessione dalla creazione della sessione al recupero del risultato. | ||
| error | object | Informazioni sull'errore. | ||
| http_status | integer | Stato HTTP restituito dal WebDriver (oppure 0 se non sono presenti errori WebDriver). | ||
| error_code | string | Errore restituito dal WebDriver (oppure stringa vuota se non sono presenti errori WebDriver). | ||
| message | string | Messaggio di errore del WebDriver (oppure stringa vuota se non sono presenti errori WebDriver). | ||
| performance_data | object | Statistiche delle prestazioni. | ||
| summary | object | Riepilogo delle prestazioni. | ||
| navigation | object | Riepilogo della navigazione. | ||
| resource | object | Riepilogo delle risorse. | ||
| details | array of objects | Statistiche delle prestazioni dopo ogni operazione che potrebbe aver causato una navigazione. | ||
| mark | string | (facoltativo) Contrassegno dell'istantanea delle prestazioni specificato con il metodo collectPerfEntries(). |
||
| navigation | object | Statistiche di navigazione. | ||
| resource | object | Riepilogo delle risorse per questo passaggio. | ||
| user | array of objects | Array di statistiche di tipo mark/measure. | ||
| marks | array of objects | Indici delle istantanee delle prestazioni contrassegnate. | ||
| name | string | Nome del contrassegno dell'istantanea delle prestazioni. | ||
| index | integer | Indice dell'istantanea delle prestazioni nell'array details. | ||