Este documento descreve as funções do browser com script disponíveis para o monitor Sintético versões 0.5.0 ou 0.6.0. Se você estiver usando uma versão mais recente do monitor, consulte a versão do monitor Chrome 100 e a documentação mais recente. Se você estiver usando versões mais antigas do monitor, consulte a versão 0.4.0 do monitor e a documentação inferior.
Para obter mais informações sobre versões de monitor e diferenças de tempo de execução, consulte Ambientes de tempo de execução.
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 .
O tempo de execução do browser Chrome 100+ oferece suporte compatível com versões anteriores para 0.5.0 e 0.6.0 sintaxe de tempo de execução do browser.
Para alguns exemplos de uso comum, consulte Introdução ao script com monitor do browser.
API Selenium Webdriver
Ao utilizar as variáveis $driver
e $browser
, seu navegador com script obtém acesso ao Selenium Webdriver API 3.6.0 para monitor versão 0.6.x e Selenium Webdriver API 3.5.0 para monitor versão 0.5.x.
Em particular:
$driver
fornece todas as exportações do móduloselenium-webdriver
(por exemplo,ActionSequence
,Button
,By
,WebElement
, etc.).$browser
é uma instância de monitoramento sintético deselenium-webdriver.WebDriver()
. Ele expõe as principais API básicas doWebDriver
comoget()
efindElement()
, bem como algumas API personalizadas do Sintético.
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 | Descrição |
---|---|
| Cria uma nova sequência de ações usando este driver. Para obter uma lista de ações disponíveis, consulte ActionSequence. Valor de retorno: nulo |
| Adiciona o cabeçalho Valor de retorno: nulo |
| Adiciona um mapa de cabeçalhos ao tempo de execução. Valor de retorno: nulo |
| Exclui um cabeçalho específico do tempo de execução. Valor de retorno: nulo |
| Exclui todos os cabeçalhos do argumento do tempo de execução. Valor de retorno: nulo |
| Adiciona um nome do host à sua lista de negações. Permite o uso de curingas. Valor de retorno: nulo |
| Adiciona todos os nomes do host em uma matriz de argumentos à sua lista de negação. Permite o uso de curingas. Valor de retorno: nulo |
| Adiciona um nome do host bloqueado por padrão no monitoramento sintético à sua lista de permissões. Valor de retorno: nulo |
| Adiciona todos os nomes do host no argumento à sua lista de permissões. Valor de retorno: nulo |
| Remove um nome do host para esta instância do browser da sua lista de negações. Valor de retorno: nulo |
| Remove todos os nomes do host no argumento da sua lista de negações. Valor de retorno: nulo |
| Remove um nome do host para esta instância do browser da sua lista de permissões. Valor de retorno: nulo |
| Remove todos os nomes do host no argumento da sua lista de permissões para esta instância do browser. Valor de retorno: nulo |
| Agenda um comando para executar JavaScript assíncrono no contexto do quadro ou janela atualmente selecionado. Valor de retorno: promessa |
| Agenda um comando para executar JavaScript no contexto do quadro ou janela atualmente selecionado. Valor de retorno: promessa |
| Agende um comando para localizar um elemento na página. Se não for encontrado, o monitoramento sintético retornará um erro. Valor de retorno: WebElementPromise |
| Agende um comando para pesquisar vários elementos na página. Valor de retorno: promessa |
| 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 monitoramento sintético retornará um erro. O valor do tempo limite é opcional. É aplicado separadamente para ambas as tarefas de localização do elemento e espera pela 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). Valor de retorno: WebElementPromise |
| Carrega uma página web em um browser Sintético. Valor de retorno: promessa |
| Agenda um comando para recuperar a lista atual de identificadores de janela disponíveis. Valor de retorno: promessa |
| Uma promessa que será resolvida com as capacidades da instância. Valor de retorno: promessa |
| Agenda um comando para recuperar a URL da página atual. Valor de retorno: promessa |
| Retorna um mapa dos cabeçalhos atualmente configurados. Valor de retorno: mapa |
| 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. Valor de retorno: promessa |
| Uma promessa para a sessão deste cliente. Valor de retorno: promessa |
| Agenda um comando para recuperar o título da página atual. Valor de retorno: promessa |
| Agenda um comando para recuperar o identificador da janela atual. Valor de retorno: promessa |
| A interface de opções para esta instância. Você pode gerenciar cookies, tempos limite e outras opções de janela. Valor de retorno: nulo |
| A interface de navegação (histórico das funções do browser) para esta instância. Valor de retorno: nulo |
| Agenda um comando para ser executado pelo Valor de retorno: promessa |
| Agenda um comando para fazer o driver dormir por um determinado período de tempo. Valor de retorno: promessa |
| A interface do localizador de destino para esta instância. Valor de retorno: nulo |
| Agenda um comando para fazer uma captura de tela. Valor de retorno: promessa |
| Agenda um comando para aguardar que uma condição seja mantida, conforme definido pela função fornecida. Valor de retorno: WebElement |
| Faz com que o script aguarde o retorno das solicitações iniciadas, até o tempo limite. Útil para rastrear recursos sem bloqueio. Valor de retorno: promessa |
Lista de negações: uso de curinga
Se você quiser adicionar domínio à lista de negações da instância do seu browser, os curingas deverão corresponder à sintaxe do URL a ser bloqueado.
Uma lista de negações .com
geral deve conter estas funções:
Função | Ação de bloqueio |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
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 | Descrição |
---|---|
| Agenda um comando para adicionar um cookie.
Valor de retorno: promessa |
| Agenda um comando para excluir todos os cookies visíveis na página atual. Valor de retorno: promessa |
| 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. Valor de retorno: promessa |
| 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 . Valor de retorno: promessa |
| 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 . Valor de retorno: promessa |
| 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 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. Valor de retorno: promessa |
| 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. Valor de retorno: promessa |
| 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. Valor de retorno: promessa |
| Recupera a posição atual da janela, em relação ao canto superior esquerdo da tela. Valor de retorno: promessa |
| Recupera o tamanho atual da janela. Valor de retorno: promessa |
| Maximiza a janela atual. Valor de retorno: promessa |
| Reposiciona a janela atual. Valor de retorno: promessa |
| Redimensiona a janela atual. Valor de retorno: 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
. Ligue para eles através de $driver.By
.
Função | Descrição |
---|---|
| Localiza um elemento que possui um nome de classe específico. O localizador retornado é equivalente a procurar elementos com o seletor CSS Valor de retorno: localizador |
| Localiza um elemento usando um seletor CSS. Valor de retorno: localizador |
| Localiza um elemento pelo seu ID. Valor de retorno: localizador |
| Localiza elementos de link cujo texto visível corresponde à string fornecida. Valor de retorno: localizador |
| Localiza um elemento avaliando uma expressão JavaScript. Valor de retorno: localizador |
| Localiza elementos cujo atributo name possui o valor fornecido. Valor de retorno: localizador |
| Localiza elementos de link cujo getText visível contém a substring fornecida. Valor de retorno: localizador |
| Localiza elementos com um determinado nome de tag. O localizador retornado é equivalente ao uso da função DOM Valor de retorno: localizador |
| Localiza elementos que correspondem a um seletor XPath. Valor de retorno: 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. Por exemplo, você pode clicar em botões, enviar texto para entradas do formulário e obter um atributo de elementos para testar.
Função | Descrição |
---|---|
| Clica neste elemento. Valor de retorno: auto-referência |
| Agenda um comando para digitar uma sequência no elemento DOM representado por esta instância. Valor de retorno: WebElement |
| Agenda um comando para consultar o nome da tag/nó deste elemento. Valor de retorno: WebElement |
| 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, Valor de retorno: promessa |
| Agenda um comando para consultar o valor de um determinado atributo do elemento. Valor de retorno: promessa |
| Obtenha o Valor de retorno: promessa |
| Agenda um comando para calcular o tamanho da caixa delimitadora deste elemento, em pixels. Valor de retorno: promessa |
| Agenda um comando para calcular a localização deste elemento, no espaço da página. Valor de retorno: promessa |
| Agenda um comando para consultar se o elemento DOM representado por esta instância está habilitado, conforme ditado pelo atributo desabilitado. Valor de retorno: promessa |
| Agenda um comando para consultar se este elemento está selecionado. Valor de retorno: promessa |
| Programa um comando para enviar o formulário que contém este elemento (ou este elemento se for um elemento Valor de retorno: promessa |
| Agenda um comando para limpar o valor deste elemento. Valor de retorno: promessa |
| Agenda um comando para testar se este elemento está sendo exibido no momento. Valor de retorno: 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 doWebdriver ActionSequence no GitHub.
Função | Descrição |
---|---|
| 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 Valor de retorno: sequência de ações |
| Clique duas vezes em um botão do mouse. Se um elemento for fornecido, o mouse será primeiro movido para o centro desse elemento. Valor de retorno: sequência de ações |
| Função de conveniência 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 Valor de retorno: sequência de ações |
| Executa um pressionamento de tecla modificadora. Deve ser um de Valor de retorno: sequência de ações |
| Executa uma liberação de tecla modificadora. O lançamento é destino no elemento atualmente em foco. Valor de retorno: sequência de ações |
| Pressiona um botão do mouse. O botão do mouse não será liberado até que Valor de retorno: sequência de ações |
| Libera um botão do mouse. O comportamento é indefinido para chamar esta função sem uma chamada anterior para Valor de retorno: sequência de ações |
| 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). Valor de retorno: sequência de ações |
| Executa esta sequência de ação. Valor de retorno: promessa |
| 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 no GitHub. Valor de retorno: sequência de ações |
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, finally()
e catch()
. Para obter mais informações, consulte Sequenciar ações.
Função | Descrição |
---|---|
| Se o valor desta promessa ainda está sendo computado. Valor de retorno: booleano |
| 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. Valor de retorno: promessa |
| Registra um ouvinte para invocar quando esta promessa for resolvida, independentemente de o valor da promessa ter sido computado com sucesso. Valor de retorno: promessa |
| Registra um ouvinte para quando esta promessa for rejeitada. Valor de retorno: promessa |
Navegar: percorrer o histórico do browser
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 | Descrição |
---|---|
| Volte um passo no histórico do browser. Valor de retorno: nulo |
| Avance um passo no histórico do browser. Valor de retorno: nulo |
| Atualize a página atual. Valor de retorno: nulo |
| Carregue uma nova página da web na janela atual do browser. Valor de retorno: nulo |
Condições: Faça uma pausa e aguarde as condições
Dica
Você pode aprender mais sobre esperas no Selenium aqui.
Usado com $browser.wait
, until
pausa a execução do script até que a condição seja atendida. Para obter mais informações, consulte a documentação Webdriver until
do Selenium.
A seguir estão as funções disponíveis para $driver.until.Condition
:
Função | Descrição |
---|---|
| 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:
|
| 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. Valor de retorno: condição |
| Cria uma condição que aguardará que determinado elemento seja desabilitado. Valor de retorno: condição |
| Cria uma condição que aguardará a habilitação de um determinado elemento. Valor de retorno: condição |
| Cria uma condição que aguardará que determinado elemento esteja no DOM, mas não visível para o usuário. Valor de retorno: condição |
| Cria uma condição que aguardará até que determinado elemento se torne visível. Valor de retorno: condição |
| Cria uma condição que aguardará a seleção de determinado elemento. Valor de retorno: condição |
| Cria uma condição que fará um loop até que um elemento seja encontrado com o localizador fornecido. Valor de retorno: condição |
| Cria uma condição que fará um loop até que pelo menos um elemento seja encontrado com o localizador fornecido. Valor de retorno: condição n |
| Cria uma condição que aguardará que o texto visível do elemento fornecido contenha a substring especificada. Valor de retorno: condição |
| Maiúsculas e minúsculas. Cria uma condição que aguardará que o texto visível do elemento fornecido corresponda exatamente ao texto fornecido. Valor de retorno: condição n |
| Cria uma condição que aguardará que o texto visível do elemento fornecido corresponda a uma expressão regular. Valor de retorno: condição |
| 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. Valor de retorno: condição |
| Cria uma condição que aguardará que o título da página atual contenha a substring fornecida. Valor de retorno: condição |
| Cria uma condição que aguardará que o título da página atual corresponda ao valor fornecido. Valor de retorno: condição |
| Cria uma condição que aguardará que o título da página atual corresponda à expressão regular fornecida. Valor de retorno: condição |