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. |