• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Referência do browser com script Sintético (monitor versões 0.4.x ou inferiores)

Este documento é para monitor Sintético versões 0.4.x ou inferiores. Consulte também a documentação do monitor Sintético versões 0.5 ou 0.6.0 e monitor versão Chrome 100 e mais recentes.

Importante

A partir de 26 de agosto de 2024, você não poderá mais criar novos monitores usando tempos de execução legados em locais públicos ou privados.

No dia 22 de outubro de 2024, encerraremos a vida útil das versões conteinerizadas minion privado (chamadas por minuto) e legado runtime do Synthetics. Para localização pública, use a interface de atualização de tempo de execução para atualizar seu monitor para os tempos de execução mais recentes. Para localização privada, revise nossas etapas de migração recomendadas para evitar a degradação monitor .

Para alguns exemplos de uso comum, consulte Introdução ao script com monitor do browser.

Visão geral

O browser com script Sintético fornece acesso à API Selenium Webdriver 2.47.0 através das variáveis $driver e $browser. Em particular:

  • $driver fornece todas as exportações do módulo selenium-webdriver (por exemplo, ActionSequence, Button, By, WebElement, etc.).
  • $browser é uma instância de selenium-webdriver.WebDriver() com sabor de Sintético: ela expõe a API WebDriver básica principal como get() e findElement(), bem como algumas API personalizadas de Sintético .

Este documento descreve as funções disponíveis para o script Sintético monitor de browser com versão 0.4.0 ou inferior. Para obter a documentação mais recente do monitor, consulte a documentação do monitor versão 0.5.0+.

Outra documentação relevante:

Funções de nível superior: crie seu script

O New Relic chama funções de nível superior diretamente da sua instância $browser . Eles fornecem uma ampla gama de funcionalidades que abrangem muitas ações básicas programáveis.

Função

Valor de retorno

$browser.actions()

Cria uma nova sequência de ações usando este driver. Para obter uma lista de ações disponíveis, consulte ActionSequence: vincular várias ações.

vazio

$browser.addHeader(headerKey: string, headerValue: string)

Adiciona o cabeçalho headerKey com valor headerValue ao tempo de execução.

vazio

$browser.addHeaders(headers: ?)

Adiciona um mapa de cabeçalhos ao tempo de execução.

vazio

$browser.deleteHeader(header: string)

Exclui um cabeçalho específico do tempo de execução.

vazio

$browser.deleteHeaders(header: [string])

Exclui todos os cabeçalhos do argumento do tempo de execução.

vazio

$browser.addHostnameToBlacklist(hostname: string)

Não permite um nome do host. Permite o uso de curingas.

vazio

$browser.addHostnamesToBlacklist(hostnameArr: [string])

Não permite todos os nomes do host em uma matriz de argumentos. Permite o uso de curingas.

vazio

$browser.addHostnameToWhitelist(hostname: string)

Permite um nome do host bloqueado por padrão no monitoramento sintético.

vazio

$browser.addHostnamesToWhitelist(hostnameArr: [string])

Permite que todos os nomes do host no argumento.

vazio

$browser.deleteHostnameFromBlacklist(hostname: string)

Remove um nome do host da lista negra desta instância do browser.

vazio

$browser.deleteHostnamesFromBlacklist(hostnameArr: [string])

Remove todos os nomes do host do argumento da lista de não permitidos.

vazio

$browser.deleteHostnameFromWhitelist(hostnameArr: [string])

Remove um nome do host da lista de permissões desta instância do browser.

vazio

$browser.deleteHostnamesFromWhitelist(hostnameArr: [string])

Remove todos os argumentos do nome do host da lista de permissões desta instância do browser.

vazio

$browser.executeAsyncScript(script: ?, var_args: ?)

Agenda um comando para executar JavaScript assíncrono no contexto do quadro ou janela atualmente selecionado.

promessa

$browser.executeScript(script: ?, var_args: ?)

Agenda um comando para executar JavaScript no contexto do quadro ou janela atualmente selecionado.

promessa

$browser.findElement(locator: $driver.Locator)

Agende um comando para localizar um elemento na página. Se não for encontrado, o New Relic retornará um erro.

Elemento Web

$browser.findElements(locator: $driver.Locator)

Agende um comando para pesquisar vários elementos na página.

promessa

$browser.waitForAndFindElement(locator: $driver.Locator [, timeout: number)

Agende um comando para esperar e encontrar um elemento na página e outro comando para esperar que ele fique visível. Se não for encontrado, o New Relic retornará um erro. O valor do tempo limite é opcional e é aplicado separadamente às tarefas de localização do elemento e de espera por sua visibilidade. Isso significa que, na pior das hipóteses, esse método pode levar até o dobro do valor de tempo limite fornecido. O valor de tempo limite padrão é 1000 ms (1 segundo).

promessa

$browser.get(url: string)

Carrega uma página web em um browser Sintético.

promessa

$browser.getAllWindowHandles()

Agenda um comando para recuperar a lista atual de identificadores de janela disponíveis.

promessa

$browser.getCapabilities()

Uma promessa que será resolvida com as capacidades da instância.

promessa

$browser.getCurrentUrl()

Agenda um comando para recuperar a URL da página atual.

promessa

$browser.getHeaders()

Retorna um mapa dos cabeçalhos atualmente configurados.

map

$browser.getPageSource()

Agenda um comando para recuperar a origem da página atual. A origem da página retornada é uma representação do DOM subjacente; não espere que ele seja formatado ou escapado da mesma forma que a resposta enviada do servidor web.

promessa

$browser.getSession()

Uma promessa para a sessão deste cliente.

promessa

$browser.getTitle()

Agenda um comando para recuperar o título da página atual.

promessa

$browser.getWindowHandle()

Agenda um comando para recuperar o identificador da janela atual.

promessa

$browser.isElementPresent(locatorOrElement: $driver.Locator)

Agenda um comando para testar se um elemento está presente na página. Se for fornecido um elemento DOM, esta função verificará se ele pertence ao documento no qual o driver está atualmente focado. Caso contrário, a função testará se pelo menos um elemento pode ser encontrado com os critérios de pesquisa fornecidos.

promessa

$browser.manage()

A interface de opções para esta instância. Você pode gerenciar cookies, tempos limite e outras opções de janela.

vazio

$browser.navigate()

A interface de navegação (histórico das funções do browser) para esta instância.

vazio

$browser.schedule(command: ?, description: string)

Agenda um comando a ser executado pelo CommandExecutor deste driver.

promessa

$browser.sleep()

Agenda um comando para fazer o driver dormir por um determinado período de tempo.

promessa

$browser.switchTo()

A interface do localizador de destino para esta instância.

vazio

$browser.takeScreenshot()

Agende um comando para fazer uma captura de tela.

promessa

$browser.wait(fn: $driver.until.Condition, timeout: number, opt_message: string)

Agenda um comando para aguardar que uma condição seja mantida, conforme definido por alguma função fornecida pelo usuário.

webElement

$browser.waitForPendingRequests(timeout: number)

Faz com que o script aguarde o retorno das solicitações iniciadas, até o tempo limite. Útil para rastrear recursos sem bloqueio.

promessa

Lista de proibições: uso de curinga

A proibição de domínio para a instância do seu browser requer curingas que correspondam à sintaxe do URL a ser bloqueado.

Uma lista geral .com não permitida precisa conter estas funções:

Função

Ação de bloqueio

$browser.addHostnameToBlacklist('*.com');

a.com

$browser.addHostnameToBlacklist('*.*.com');

a.b.com

$browser.addHostnameToBlacklist('*.*.*.com');

a.b.c.com

$browser.addHostnameToBlacklist('www.*.com');

www.a.com

$browser.addHostnameToBlacklist('www.*.*.com');

www.a.b.com

$browser.addHostnameToBlacklist('www.*.*.*.com');

www.a.b.c.com

Opções: Gerenciar a instância do browser

Essas funções gerenciam opções para a instância do seu browser, como cookies, tempos limite e tamanho da janela. Acesse essas opções por meio da função $browser.manage() .

Função

Valor de retorno

$browser.manage().addCookie(name: string, value: string, opt_path: string, opt_domain: string, opt_isSecure: boolean, opt_expiry: number)

Agenda um comando para adicionar um cookie.

promessa

$browser.manage().deleteAllCookies()

Agenda um comando para excluir todos os cookies visíveis na página atual.

promessa

$browser.manage().deleteCookie(name: string)

Agenda um comando para excluir o cookie com o nome fornecido. Este comando é autônomo se não houver nenhum cookie com o nome fornecido visível na página atual.

promessa

$browser.manage().getCookie(name: string)

Agenda um comando para recuperar o cookie com o nome fornecido. Retorna nulo se esse cookie não existir. O cookie será retornado como um objeto JSON conforme descrito pelo protocolo de ligação Webdriver .

promessa

$browser.manage().getCookies()

Agenda um comando para recuperar todos os cookies visíveis na página atual. New Relic Syntheticcs retorna cada cookie como um objeto JSON conforme descrito pelo protocolo de ligação Webdriver .

promessa

$browser.manage().timeouts().implicitlyWait(ms: number)

Especifica quanto tempo o driver deverá esperar ao procurar um elemento se ele não estiver presente imediatamente. Definir o tempo limite de espera como 0 desativa a espera implícita.

Tenha cuidado ao aumentar o tempo limite de espera, pois isso aumentará o tempo de execução do teste, especialmente com estratégias de localização mais lentas, como XPath. O padrão é 10 segundos.

promessa

$browser.manage().timeouts().pageLoadTimeout(ms: number)

Define o tempo de espera para a conclusão do carregamento da página antes de retornar um erro. Se o tempo limite for negativo, o carregamento da página poderá durar até 180 segundos. O padrão é 60 segundos.

promessa

$browser.manage().timeouts().setScriptTimeout(ms: number)

Define o tempo de espera, em milissegundos, para que um script assíncrono termine a execução antes de retornar um erro. O padrão é 30 segundos.

promessa

$browser.manage().window().getPosition()

Recupera a posição atual da janela, em relação ao canto superior esquerdo da tela.

promessa

$browser.manage().window().getSize()

Recupera o tamanho atual da janela.

promessa

$browser.manage().window().maximize()

Maximiza a janela atual.

promessa

$browser.manage().window().setPosition(x: number, y: number)

Reposiciona a janela atual.

promessa

$browser.manage().window().setSize(width: number, height: number)

Redimensiona a janela atual.

promessa

Localizador: Localizar elemento da página

Localizador são uma coleção de funções de fábrica para criar locator instância. localizador encontra elementos DOM, que podem ser passados para funções como $browser.findElement ou $browser.isElementPresent. Ligue para eles através de $driver.By.

Função

Valor de retorno

$driver.By.className(className: string)

Localiza um elemento que possui um nome de classe específico. O localizador retornado é equivalente a procurar elementos com o seletor CSS .class.

localizador

$driver.By.css(cssName: string)

Localiza um elemento usando um seletor CSS.

localizador

$driver.By.id(id: string)

Localiza um elemento pelo seu ID.

localizador

$driver.By.linkText(linkText: string)

Localiza elementos de link cujo texto visível corresponde à string fornecida.

localizador

$driver.By.js(js: string)

Localiza um elemento avaliando uma expressão JavaScript.

localizador

$driver.By.name(name: string)

Localiza elementos cujo atributo name possui o valor fornecido.

localizador

$driver.By.partialLinkText(partialLinkText: string)

Localiza elementos de link cujo getText visível contém a substring fornecida.

localizador

$driver.By.tagName(tagName: string)

Localiza elementos com um determinado nome de tag. O localizador retornado é equivalente ao uso da função DOM getElementsByTagName .

localizador

$driver.By.xpath(xpath: string)

Localiza elementos que correspondem a um seletor XPath.

localizador

WebElement: Interaja com o elemento da página

Quando uma função como $browser.findElement ou $browser.waitForAndFindElement retorna uma referência WebElement, essas funções podem ser usadas para interagir com esse elemento. Com eles, você pode clicar em botões, enviar texto para entradas de formulário e obter um atributo de elementos para testar.

Função

Valor de retorno

click()

Clica neste elemento.

vazio

sendKeys(var_args: ?)

Agenda um comando para digitar uma sequência no elemento DOM representado por esta instância.

Elemento Web

getTagName()

Agenda um comando para consultar o nome da tag/nó deste elemento.

Elemento Web

getCssValue(name: string)

Agenda um comando para consultar o estilo computacional do elemento representado por esta instância. Se o elemento herdar o estilo nomeado de seu pai, o pai será consultado quanto ao seu valor. Sempre que possível, os valores das cores serão convertidos em sua representação hexadecimal (por exemplo, #00ff00 em vez de rgb(0, 255, 0)).

promessa

getAttribute(name: string)

Agenda um comando para consultar o valor de um determinado atributo do elemento.

promessa

getText(name: string)

Obtenha o innerText visível (não oculto pelo CSS) deste elemento, incluindo subelementos, sem nenhum espaço em branco à esquerda ou à direita.

promessa

getSize()

Agenda um comando para calcular o tamanho da caixa delimitadora deste elemento, em pixels.

promessa

getLocation()

Agenda um comando para calcular a localização deste elemento, no espaço da página.

promessa

isEnabled()

Agenda um comando para consultar se o elemento DOM representado por esta instância está habilitado, conforme ditado pelo atributo desabilitado.

promessa

isSelected()

Agenda um comando para consultar se este elemento está selecionado.

promessa

submit()

Programa um comando para enviar o formulário que contém este elemento (ou este elemento se for um elemento FORM ). Este comando não é operacional se o elemento não estiver contido em um formulário.

promessa

clear()

Agenda um comando para limpar o valor deste elemento.

promessa

isDisplayed()

Agenda um comando para testar se este elemento está sendo exibido no momento.

promessa

getOuterHtml()

Agenda um comando para recuperar o HTML externo deste elemento.

promessa

getInnerHtml()

Agenda um comando para recuperar o HTML interno deste elemento.

promessa

ActionSequence: vincular várias ações

As sequências de ação podem criar interações complexas do usuário com o seu site.

  • Para criar uma nova sequência de ações, use $browser.actions().
  • Para vincular diversas ações em uma sequência, inclua perform() após cada uma. Isso executa e finaliza sequências individuais, incluindo sequências de ação única.

A tabela a seguir contém uma lista de ações disponíveis. Para obter mais informações, consulte a documentação de ações Webdriver .

Função

Valor de retorno

click(opt_elementOrButton: ?, opt_button: ?)

Clica em um botão do mouse. Se um elemento for fornecido, o mouse será primeiro movido para o centro desse elemento. Isso é equivalente a WebElement.click().

actionsequence

doubleClick(opt_elementOrButton: ?, opt_button: ?)

Clique duas vezes em um botão do mouse. Se um elemento for fornecido, o mouse será primeiro movido para o centro desse elemento.

actionsequence

dragAndDrop(element: ?, location: ?)

Função de comodidade para realizar uma manobra de "arrastar e soltar". O elemento alvo pode ser movido para a localização de outro elemento ou por um deslocamento (em pixels). A localização é um objeto com duas propriedades x e y: {x: x_offset, y: y_offset}.

actionsequence

keyDown(key: ?)

Executa um pressionamento de tecla modificadora. Deve ser um de ALT, CONTROL, SHIFT, COMMAND ou META. A tecla modificadora não é liberada até que keyUp() ou sendKeys() seja chamado. O pressionamento da tecla será destino no elemento atualmente em foco.

actionsequence

keyUp(key: ?)

Executa uma liberação de tecla modificadora. O lançamento é destino no elemento atualmente em foco.

actionsequence

mouseDown(opt_elementOrButton: ?, opt_button: ?)

Pressiona um botão do mouse. O botão do mouse não será liberado até que mouseUp seja chamado, independentemente de a chamada ser feita nesta sequência ou em outra. O comportamento para eventos fora de ordem (como chamar mouseDown() ou click() quando o botão já está pressionado) é indefinido.

actionsequence

mouseUp(opt_elementOrButton: ?, opt_button: ?)

Libera um botão do mouse. O comportamento é indefinido para chamar esta função sem uma chamada anterior para mouseDown().

actionsequence

mouseMove(location: ?, offset: ?)

Move o mouse. A localização para a qual mover pode ser especificada em termos da localização atual do mouse, um deslocamento relativo ao canto superior esquerdo de um elemento ou um elemento (nesse caso, o meio do elemento é usado).

actionsequence

perform()

Executa esta sequência de ação.

promessa

sendKeys(args: ?)

Simula a digitação de várias teclas. Cada tecla modificadora encontrada na sequência não será liberada até que seja encontrada novamente. Todos os eventos principais serão destino no elemento atualmente em foco. Para obter uma lista completa de chaves não alfanuméricas suportadas, consulte a documentação da chave enumWebdriver .

actionsequence

Promessas: vincular ações em sequências

Você também pode executar funções diretamente nas promessas. O monitoramento sintético é um ambiente nativo do Node.js e usa promessas padrão do Node.js.

Essas funções avaliam o status das promessas, cancelam-nas e muito mais. Em particular, você pode criar sequências de ações com a função then() e suas irmãs, thenFinally() e thenCatch(). Para obter mais informações, consulte Sequenciar ações.

Função

Valor de retorno

cancel(string: reason)

Cancela o cálculo do valor desta promessa, rejeitando a promessa no processo. Este método é autônomo se a promessa já tiver sido resolvida.

vazio

isPending()

Se o valor desta promessa ainda está sendo computado.

boleano

then(opt_callback: fn(T: ?), opt_errback: fn())

Registra ouvintes para quando esta instância for resolvida. Esta é a função básica usada para vincular ações síncronas em seu script.

promessa

thenFinally(callback: fn())

Registra um ouvinte para invocar quando esta promessa for resolvida, independentemente de o valor da promessa ter sido computado com sucesso.

promessa

thenCatch(callback: fn())

Registra um ouvinte para quando esta promessa for rejeitada.

promessa

A função $browser.navigate() expõe diversas funções que permitem retroceder e avançar no histórico do browser, atualizar sua página e navegar para novas páginas.

Função

Valor de retorno

Condições: Faça uma pausa e aguarde as condições

Usado com $browser.wait, until pausa a execução do script até que a condição seja atendida. Para obter mais informações sobre esperas explícitas e implícitas, consulte a documentação Webdriver .

Para exemplos de uso de .wait e .until , consulte exemplos de Webdriver.wait .

A seguir estão as funções disponíveis para $driver.until.Condition:

Função

Valor de retorno

ableToSwitchToFrame(frame: ?)

Cria uma condição que aguardará até que o driver de entrada consiga alternar para o quadro designado. O quadro de destino pode ser especificado como:

  • Um índice numérico em window.frames para o quadro atual

  • Um webdriver.WebElement, que deve fazer referência a um elemento FRAME ou IFRAME na página atual

  • Um localizador que pode ser usado para localizar primeiro um FRAME ou IFRAME na página atual antes de tentar mudar para ele

    Após a resolução bem-sucedida desta condição, o driver permanecerá focado no novo quadro.

doença

alertIsPresent()

Cria uma condição que aguarda a abertura de um alerta. Após sucesso, a promessa retornada será cumprida com o identificador do alerta aberto.

doença

elementIsDisabled(element: $driver.WebElement)

Cria uma condição que aguardará que determinado elemento seja desabilitado.

doença

elementIsEnabled(element: $driver.WebElement)

Cria uma condição que aguardará a habilitação de um determinado elemento.

doença

elementIsNotVisible(element: $driver.WebElement)

Cria uma condição que aguardará que determinado elemento esteja no DOM, mas não visível para o usuário.

doença

elementIsVisible(element: $driver.WebElement)

Cria uma condição que aguardará até que determinado elemento se torne visível.

doença

elementIsSelected(element: $driver.WebElement)

Cria uma condição que aguardará a seleção de determinado elemento.

doença

elementLocated(element: $driver.Locator)

Cria uma condição que fará um loop até que um elemento seja encontrado com o localizador fornecido.

doença

elementsLocated(element: $driver.Locator)

Cria uma condição que fará um loop até que pelo menos um elemento seja encontrado com o localizador fornecido.

doença

elementTextContains(element: $driver.WebElement, substr: string)

Cria uma condição que aguardará que o texto visível do elemento fornecido contenha a substring especificada.

doença

elementTextIs(element: $driver.WebElement, text: string)

Maiúsculas e minúsculas. Cria uma condição que aguardará que o texto visível do elemento fornecido corresponda exatamente ao texto fornecido.

doença

elementTextMatches(element: $driver.WebElement, regex: string)

Cria uma condição que aguardará que o texto visível do elemento fornecido corresponda a uma expressão regular.

doença

stalenessOf(element: $driver.WebElement)

Cria uma condição que aguardará que o elemento determinado fique obsoleto. Um elemento é considerado obsoleto quando é removido do DOM ou quando uma nova página é carregada.

doença

titleContains(substr: string)

Cria uma condição que aguardará que o título da página atual contenha a substring fornecida.

doença

titleIs(title: string)

Cria uma condição que aguardará que o título da página atual corresponda ao valor fornecido.

doença

titleMatches(regex: string)

Cria uma condição que aguardará que o título da página atual corresponda à expressão regular fornecida.

doença

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.