Esta seção descreve as adições do Zabbix à linguagem JavaScript implementadas com Duktape para uso no script do item Browser. Essas adições complementam os objetos JavaScript descritos na página Objetos JavaScript adicionais.
O objeto Browser gerencia sessões do WebDriver, inicializando uma sessão na criação e encerrando-a na destruição. Um único script pode suportar até quatro objetos Browser.
Para construir um objeto Browser, use a sintaxe new Browser(options). O parâmetro options (objeto JSON) especifica as opções do navegador, geralmente o resultado do método de opções do WebDriver (por exemplo, Browser.chromeOptions()).
Os seguintes métodos são suportados com o objeto Browser.
| Método | Descrição |
|---|---|
navigate(url) |
Navega para a URL especificada. Parâmetros: url - (string) URL para navegar. |
getUrl() |
Retorna uma string da URL da página aberta. |
getPageSource() |
Retorna uma string do código-fonte da página aberta. |
findElement(strategy, selector) |
Retorna um objeto Element com um elemento na página aberta (ou retorna null se nenhum elemento corresponder a strategy e selector).Parâmetros: strategy - (string, CSS selector/link text/partial link text/tag name/Xpath) Estratégia de localização;selector - (string) Seletor do elemento usando a estratégia de localização especificada. |
findElements(strategy, target) |
Retorna um array de objetos Element com vários elementos na página aberta (ou retorna um array vazio se nenhum elemento corresponder à estratégia de localização e ao alvo).Parâmetros: strategy - (string, CSS selector/link text/partial link text/tag name/Xpath) Estratégia de localização;target - (string) Seletor do elemento usando a estratégia de localização especificada. |
getCookies() |
Retorna um array de objetos Cookie. |
addCookie(cookie) |
Define cookies. Parâmetros: cookie - (objeto Cookie) Cookie a ser definido. |
getScreenshot() |
Retorna uma string codificada em base64 representando uma imagem da viewport do navegador. |
setScreenSize(x,y) |
Define o tamanho da viewport do navegador. Parâmetros: x - (string) Altura em pixels;y - (string) Largura em pixels. |
setScriptTimeout(timeout) |
Define o tempo limite de carregamento do script. Parâmetros: timeout - (integer) Valor do tempo limite em milissegundos. |
setSessionTimeout(timeout) |
Define o tempo limite da sessão (carregamento da página). Parâmetros: timeout - (integer) Valor do tempo limite em milissegundos. |
setElementWaitTimeout(timeout) |
Define o tempo limite da estratégia de localização do elemento (implícito). Parâmetros: timeout - (integer) Valor do tempo limite em milissegundos. |
collectPerfEntries(mark) |
Coleta entradas de desempenho para recuperar com o método getResult().Parâmetros: mark - (string, opcional) marca do snapshot de desempenho. |
getRawPerfEntries() |
Retorna um array de objetos de entrada de desempenho. |
getResult() |
Retorna um objeto Result com estatísticas da sessão do navegador (informações de erro, snapshots de desempenho, etc.). |
getError() |
Retorna um objeto BrowserError com erros do navegador (ou retorna null se não houver erros do navegador). |
setError(message) |
Define uma mensagem de erro personalizada a ser incluída no objeto Result.Parâmetros: message - (string) Mensagem de erro. |
discardError() |
Descarta o erro a ser retornado no objeto Result. |
getAlert() |
Retorna um objeto Alert com alertas do navegador (ou retorna null se não houver alertas do navegador). |
chromeOptions() |
Retorna um objeto chromeOptions com opções predefinidas do navegador Chrome. |
firefoxOptions() |
Retorna um objeto firefoxOptions com opções predefinidas do navegador Firefox. |
safariOptions() |
Retorna um objeto safariOptions com opções predefinidas do navegador Safari. |
edgeOptions() |
Retorna um objeto edgeOptions com opções predefinidas do navegador Edge. |
switchFrame(target) |
Alterna para o frame especificado. Parâmetros: target - (elemento do navegador ou inteiro, opcional) Frame de destino. Para selecionar um frame por elemento, passe o elemento. Para selecionar um frame por índice, passe o número. Se deixado em branco, alterna para o contexto de navegação de nível superior. |
Todos os métodos do Browser podem lançar os seguintes erros:
BrowserError - derivado do objeto Error que é lançado se o construtor Browser falhar; contém uma propriedade adicional browser com um objeto Browser que lançou este BrowserError.WebdriverError - derivado de BrowserError; contém as mesmas propriedades do objeto BrowserError, que indicam se o erro foi gerado em resposta a um erro na resposta do WebDriver.O objeto Element é retornado pelos métodos findElement()/findElements() do objeto Browser e não pode ser construído diretamente.
O objeto Element representa um elemento na página da web e fornece métodos para interagir com ele.
Os seguintes métodos são suportados com o objeto Element.
| Método | Descrição |
|---|---|
getAttribute(name) |
Retorna uma string com o valor do atributo do elemento (ou retorna null se o atributo especificado não for encontrado).Parâmetros: name - (string) Nome do atributo. |
getProperty(name) |
Retorna uma string com o valor da propriedade do elemento (ou retorna null se a propriedade especificada não for encontrada).Parâmetros: name - (string) Nome da propriedade. |
getText() |
Retorna uma string com o valor do texto do elemento. |
click() |
Clica em um elemento. |
clear() |
Limpa o conteúdo de um elemento editável. |
sendKeys(keys) |
Envia teclas. Parâmetros: keys - (string) Teclas a serem enviadas. |
O objeto Cookie é retornado pelo método getCookies() do objeto Browser e passado para o método addCookie().
Embora o objeto Cookie não tenha métodos, ele pode conter as seguintes propriedades:
| Propriedade | Tipo | Descrição |
|---|---|---|
| name | string | Nome do cookie. |
| value | string | Valor do cookie. |
| path | string | Caminho para o qual o cookie é válido. O padrão é "/" se omitido ao adicionar um cookie. |
| domain | string | Domínio para o qual o cookie é visível. O padrão é o domínio da URL do documento ativo do contexto de navegação atual da sessão se omitido ao adicionar um cookie. |
| secure | boolean | Indica se o cookie é seguro. O padrão é false se omitido ao adicionar um cookie. |
| httpOnly | boolean | Indica se o cookie é HTTP-only. O padrão é false se omitido ao adicionar um cookie. |
| expiry | integer | Tempo de expiração do cookie (em segundos desde a Época Unix). Não deve ser definido se omitido ao adicionar um cookie. |
| sameSite | string | O atributo sameSite do cookie, que controla se o cookie deve ser restrito a um contexto de primeira parte ou mesmo site.Pode ser definido como "Lax" ou "Strict".O padrão é "None" se omitido ao adicionar um cookie. |
O objeto Alert representa um alerta de página da web, é retornado pelo método getAlert() do objeto Browser e não pode ser construído diretamente.
O objeto Alert contém a propriedade text com o texto do alerta (ou null se não houver alertas).
Os seguintes métodos são suportados com o objeto Alert.
| Método | Descrição |
|---|---|
accept() |
Aceita o alerta. |
dismiss() |
Descarta o alerta. |
O objeto Result contém estatísticas de sessão e é retornado pelo método getResult() do objeto Browser.
Normalmente, o objeto Result é convertido em string e retornado pelo script, e então analisado em valores de item dependente por meio de pré-processamento.
Embora o objeto Result não tenha nenhum método, ele pode conter as seguintes propriedades.
| Propriedade | Tipo | Descrição | ||
|---|---|---|---|---|
| duration | string | Duração da sessão desde a criação da sessão até a obtenção do resultado. | ||
| error | object | Informações de erro. | ||
| http_status | integer | Status HTTP retornado pelo WebDriver (ou 0 se não houver erros do WebDriver). | ||
| error_code | string | Erro retornado pelo WebDriver (ou string vazia se não houver erros do WebDriver). | ||
| message | string | Mensagem de erro do WebDriver (ou string vazia se não houver erros do WebDriver). | ||
| performance_data | object | Estatísticas de desempenho. | ||
| summary | object | Resumo de desempenho. | ||
| navigation | object | Resumo de navegação. | ||
| resource | object | Resumo de recursos. | ||
| details | array of objects | Estatísticas de desempenho após cada operação que poderia ter resultado em navegação. | ||
| mark | string | (opcional) Marca de snapshot de desempenho especificada com o método collectPerfEntries(). |
||
| navigation | object | Estatísticas de navegação. | ||
| resource | object | Resumo de recursos para esta etapa. | ||
| user | array of objects | Array de estatísticas do tipo mark/measure. | ||
| marks | array of objects | Índices de snapshot de desempenho marcados. | ||
| name | string | Nome da marca de snapshot de desempenho. | ||
| index | integer | Índice do snapshot de desempenho no array details. | ||