Este documento es para las versiones 0.4.x o inferiores monitor Sintético. Consulte también la documentación del monitor Sintético versiones 0.5 o 0.6.0 y del monitor Chrome 100 y posteriores.
Para ver algunos ejemplos de uso común, consulte Introducción al script de monitorización del browser.
Descripción general
El browser con script Sintético le proporciona acceso a las API de Selenium Webdriver 2.47.0 a través de las variables $driver
y $browser
. En particular:
$driver
proporciona todas las exportaciones del móduloselenium-webdriver
(por ejemplo,ActionSequence
,Button
,By
,WebElement
, etc.).$browser
es una instancia deselenium-webdriver.WebDriver()
con sabor a Sintético: expone las principales API básicasWebDriver
comoget()
yfindElement()
, así como algunas API personalizadas de Sintético.
Este documento describe las funciones disponibles para Sintético monitor de browser con script versión 0.4.0 o inferior. Para obtener la documentación más reciente del monitor, consulte la documentación del monitor versión 0.5.0+.
Otra documentación relevante:
- Para obtener más información sobre el script Sintético, consulte Escribir browser con script.
- Por ejemplo, una secuencia de comandos, consulte Ejemplos de navegadores con secuencias de comandos.
- Para obtener más información sobre las versiones del monitor y las diferencias en tiempo de ejecución, consulte Entornos de ejecución.
- Para ver y compartir ejemplos browser con secuencias de comandos, consulte los temas etiqueta Sintético-script en el foro de soporte de New Relic.
Funciones de nivel superior: cree su script
New Relic llama a funciones de nivel superior directamente desde su instancia $browser
. Estos proporcionan una amplia gama de funciones que cubren muchas acciones básicas programables.
Función | Valor de retorno |
---|---|
Crea una nueva secuencia de acción usando este controlador. Para obtener una lista de acciones disponibles, consulte ActionSequence: vincular varias acciones. | vacío |
Agrega el encabezado | vacío |
Agrega un mapa de encabezados al tiempo de ejecución. | vacío |
Elimina un encabezado específico del tiempo de ejecución. | vacío |
Elimina todos los encabezados del argumento del tiempo de ejecución. | vacío |
No permite un nombre de host. Permite utilizar comodines. | vacío |
No permite todos los nombres de host en una matriz de argumentos. Permite utilizar comodines. | vacío |
Permite un nombre de host bloqueado de forma predeterminada en el monitoreo sintético. | vacío |
Permite todo el nombre del host en el argumento. | vacío |
Elimina un nombre de host de la lista negra de esta instancia browser . | vacío |
Elimina todos los nombres de host en el argumento de la lista de no permitidos. | vacío |
Elimina un nombre de host de la lista permitida de esta instancia browser . | vacío |
Elimina todos los nombres de host en el argumento de la lista permitida de esta instancia browser . | vacío |
Programa un comando para ejecutar JavaScript asincrónico en el contexto del marco o ventana actualmente seleccionado. | promesa |
Programa un comando para ejecutar JavaScript en el contexto del marco o ventana actualmente seleccionado. | promesa |
Programe un comando para buscar un elemento en la página. Si no se encuentra, New Relic devuelve un error. | Elemento web |
Programe un comando para buscar múltiples elementos en la página. | promesa |
Programe un comando para esperar y encontrar un elemento en la página, y otro comando para esperar a que sea visible. Si no se encuentra, New Relic devuelve un error. El valor de tiempo de espera es opcional y se aplica por separado a ambas tareas de encontrar el elemento y esperar su visibilidad. Esto significa que, en el peor de los casos, este método puede tardar hasta el doble del valor de tiempo de espera proporcionado. El valor de tiempo de espera predeterminado es 1000 ms (1 segundo). | promesa |
Carga una página web en un browser Sintético. | promesa |
Programa un comando para recuperar la lista actual de identificadores de ventana disponibles. | promesa |
Una promesa que se resolverá con las capacidades de la instancia. | promesa |
Programa un comando para recuperar la URL de la página actual. | promesa |
Devuelve un mapa de encabezados configurados actualmente. | mapa |
Programa un comando para recuperar la fuente de la página actual. La fuente de la página devuelta es una representación del DOM subyacente; no espere que tenga formato o formato de escape de la misma manera que la respuesta enviada desde el servidor web. | promesa |
Una promesa para la sesión de este cliente. | promesa |
Programa un comando para recuperar el título de la página actual. | promesa |
Programa un comando para recuperar el identificador de la ventana actual. | promesa |
Programa un comando para probar si un elemento está presente en la página. Si se le proporciona un elemento DOM, esta función comprobará si pertenece al documento en el que se centra actualmente el controlador. De lo contrario, la función probará si se puede encontrar al menos un elemento con los criterios de búsqueda dados. | promesa |
La interfaz de opciones para esta instancia. Puede administrar cookies, tiempos de espera y otras opciones de ventana. | vacío |
La interfaz de navegación (historial de funciones browser ) para esta instancia. | vacío |
Programa un comando para que lo ejecute el CommandExecutor de este controlador. | promesa |
Programa un comando para hacer que el conductor duerma durante un período de tiempo determinado. | promesa |
La interfaz del localizador de objetivos para esta instancia. | vacío |
Programe un comando para tomar una captura de pantalla. | promesa |
Programa un comando para esperar a que se cumpla una condición, según lo definido por alguna función proporcionada por el usuario. | webElement |
Hace que el script espere a que regresen las solicitudes que se han iniciado, hasta el tiempo de espera. Útil para rastrear recursos sin bloqueo. | promesa |
Lista de no permitidos: uso de comodines
No permitir el dominio para la instancia de su browser requiere comodines que coincidan con la sintaxis de la URL que se va a bloquear.
Una lista general .com
no permitidos debe contener estas funciones:
Función | Acción de bloqueo |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Opciones: administrar la instancia browser
Estas funciones administran opciones para la instancia de su browser , como cookies, tiempos de espera y tamaño de ventana. Accede a estas opciones a través de la función $browser.manage()
.
Función | Valor de retorno |
---|---|
Programa un comando para agregar una cookie. | promesa |
Programa un comando para eliminar todas las cookies visibles en la página actual. | promesa |
Programa un comando para eliminar la cookie con el nombre de pila. Este comando no funciona si no hay ninguna cookie con el nombre de pila visible en la página actual. | promesa |
Programa un comando para recuperar la cookie con el nombre de pila. Devuelve nulo si no existe dicha cookie. La cookie se devolverá como un objeto JSON como lo describe el protocolo de conexión Webdriver . | promesa |
Programa un comando para recuperar todas las cookies visibles en la página actual. New Relic Syntheticcs devuelve cada cookie como un objeto JSON como lo describe el protocolo de conexión Webdriver . | promesa |
Especifica la cantidad de tiempo que el controlador debe esperar cuando busca un elemento si no está presente inmediatamente. Establecer el tiempo de espera en Tenga cuidado al aumentar el tiempo de espera, ya que aumentará el tiempo de ejecución de la prueba, especialmente con estrategias de ubicación más lentas como XPath. El valor predeterminado es 10 segundos. | promesa |
Establece la cantidad de tiempo que se debe esperar a que se complete la carga de una página antes de devolver un error. Si el tiempo de espera es negativo, la carga de la página puede durar hasta 180 segundos. El valor predeterminado es 60 segundos. | promesa |
Establece la cantidad de tiempo que se debe esperar, en milisegundos, para que un script asincrónico finalice la ejecución antes de devolver un error. El valor predeterminado es 30 segundos. | promesa |
Recupera la posición actual de la ventana, en relación con la esquina superior izquierda de la pantalla. | promesa |
Recupera el tamaño actual de la ventana. | promesa |
Maximiza la ventana actual. | promesa |
Reposiciona la ventana actual. | promesa |
Cambia el tamaño de la ventana actual. | promesa |
Localizador: Buscar elemento de página
Localizador es una colección de funciones de fábrica para crear locator
instancia. El localizador encuentra elementos DOM, que se pueden pasar a funciones como $browser.findElement
o $browser.isElementPresent
. Llámelos a través de $driver.By
.
Función | Valor de retorno |
---|---|
Localiza un elemento que tiene un nombre de clase específico. El localizador devuelto equivale a buscar elementos con el selector CSS | localizador |
Localiza un elemento usando un selector CSS. | localizador |
Localiza un elemento por su ID. | localizador |
Localiza elementos de enlace cuyo texto visible coincide con la cadena dada. | localizador |
Localiza un elemento evaluando una expresión de JavaScript. | localizador |
Localiza elementos cuyo atributo de nombre tiene el valor dado. | localizador |
Localiza elementos de enlace cuyo getText visible contiene la subcadena dada. | localizador |
Localiza elementos con un nombre de etiqueta determinado. El localizador devuelto equivale a utilizar la función DOM | localizador |
Localiza elementos que coinciden con un selector XPath. | localizador |
WebElement: Interactuar con el elemento de página
Cuando una función como $browser.findElement
o $browser.waitForAndFindElement
devuelve una referencia de WebElement, estas funciones se pueden usar para interactuar con ese elemento. Con estos, puede hacer clic en botones, enviar texto para formar entradas y obtener atributos de elementos para probar.
Función | Valor de retorno |
---|---|
Hace clic en este elemento. | vacío |
Programa un comando para escribir una secuencia en el elemento DOM representado por esta instancia. | Elemento web |
Programa un comando para consultar la etiqueta/nombre de nodo de este elemento. | Elemento web |
Programa un comando para consultar el estilo de calcular del elemento representado por esta instancia. Si el elemento hereda el estilo nombrado de su padre, se consultará al padre por su valor. Siempre que sea posible, los valores de color se convertirán a su representación hexadecimal (por ejemplo, | promesa |
Programa un comando para consultar el valor del atributo dado del elemento. | promesa |
Obtenga el | promesa |
Programa un comando para calcular el tamaño del cuadro delimitador de este elemento, en píxeles. | promesa |
Programa un comando para calcular la ubicación de este elemento, en el espacio de la página. | promesa |
Programa un comando para consultar si el elemento DOM representado por esta instancia está habilitado, según lo dicta el atributo deshabilitado. | promesa |
Programa un comando para consultar si este elemento está seleccionado. | promesa |
Programa un comando para enviar el formulario que contiene este elemento (o este elemento si es un elemento | promesa |
Programa un comando para borrar el valor de este elemento. | promesa |
Programa un comando para probar si este elemento se muestra actualmente. | promesa |
Programa un comando para recuperar el HTML externo de este elemento. | promesa |
Programa un comando para recuperar el HTML interno de este elemento. | promesa |
ActionSequence: vincular múltiples acciones
Las secuencias de acción pueden crear una interacción compleja del usuario con su sitio web.
- Para crear una nueva secuencia de acciones, utilice
$browser.actions()
. - Para vincular varias acciones en una secuencia, incluya
perform()
después de cada una. Esto ejecuta y luego finaliza secuencias individuales, incluidas secuencias de acción única.
La siguiente tabla contiene una lista de acciones disponibles. Para obtener más información, consulte la documentación de acciones Webdriver .
Función | Valor de retorno |
---|---|
Hace clic en un botón del mouse. Si se proporciona un elemento, el mouse primero se moverá al centro de ese elemento. Esto es equivalente a | actionsequence |
Hace doble clic en un botón del mouse. Si se proporciona un elemento, el mouse primero se moverá al centro de ese elemento. | actionsequence |
Función cómoda para realizar una maniobra de "arrastrar y soltar". El elemento de destino se puede mover a la ubicación de otro elemento o mediante un desplazamiento (en píxeles). La ubicación es un objeto con dos propiedades | actionsequence |
Realiza una pulsación de tecla modificadora. Debe ser uno de | actionsequence |
Realiza una liberación de tecla modificadora. El lanzamiento tiene como objetivo el elemento actualmente enfocado. | actionsequence |
Presiona un botón del mouse. El botón del mouse no se soltará hasta que se llame a | actionsequence |
Libera un botón del mouse. El comportamiento no está definido para llamar a esta función sin una llamada previa a | actionsequence |
Mueve el ratón. La ubicación a la que moverse puede especificarse en términos de la ubicación actual del mouse, un desplazamiento relativo a la esquina superior izquierda de un elemento o un elemento (en cuyo caso se usa el centro del elemento). | actionsequence |
Ejecuta esta secuencia de acciones. | promesa |
Simula escribir varias teclas. Cada tecla modificadora que se encuentre en la secuencia no se liberará hasta que se vuelva a encontrar. Todo evento clave tendrá como objetivo el elemento actualmente enfocado. Para obtener una lista completa de claves no alfanuméricas admitidas, consulte la documentación de claves de enumeración Webdriver . | actionsequence |
Promesas: vincular acciones en secuencias
También puede ejecutar funciones directamente sobre las promesas. monitoreo sintético es un entorno nativo de Node.js y utiliza promesas estándar de Node.js.
Estas funciones evalúan el estado de las promesas, las cancelan y más. En particular, puedes crear secuencias de acciones con la función then()
y sus hermanas, thenFinally()
y thenCatch()
. Para obtener más información, consulte Secuencia de acciones.
Función | Valor de retorno |
---|---|
Cancela el cálculo del valor de esta promesa, rechazando la promesa en el proceso. Este método no es operativo si la promesa ya se ha resuelto. | vacío |
Aún se está calculando si el valor de esta promesa. | booleano |
Registra oyentes para cuando se resuelva esta instancia. Esta es la función básica utilizada para vincular acciones sincrónicas en su script. | promesa |
Registra un oyente para invocarlo cuando se resuelva esta promesa, independientemente de si el valor de la promesa se calculó correctamente. | promesa |
Registra un oyente para cuando se rechace esta promesa. | promesa |
Navegar: moverse por el historial browser
La función $browser.navigate()
expone una serie de funciones que le permiten avanzar y retroceder en el historial de su browser , actualizar su página y navegar a páginas nuevas.
Función | Valor de retorno |
---|---|
Retroceder un paso en el historial del browser. | vacío |
Avanza un paso en el historial del browser. | vacío |
Actualizar la página actual. | vacío |
Cargue una nueva página web en la ventana actual browser . | vacío |
Condiciones: pausar y esperar condiciones.
Usado con $browser.wait
, until
pausa la ejecución del script hasta que se cumpla la condición. Para obtener más información sobre esperas explícitas e implícitas, consulte la documentación Webdriver .
Para ver ejemplos de uso .wait
y .until
, consulte Ejemplos de Webdriver.wait .
Las siguientes son funciones disponibles para $driver.until.Condition
:
Función | Valor de retorno |
---|---|
Crea una condición que esperará hasta que el controlador de entrada pueda cambiar al marco designado. El marco objetivo se puede especificar como:
| condición |
Crea una condición que espera a que se abra una alerta. En caso de éxito, la promesa devuelta se cumplirá con el identificador de la alerta abierta. | condición |
Crea una condición que esperará a que se deshabilite el elemento dado. | condición |
Crea una condición que esperará a que se habilite el elemento dado. | condición |
Crea una condición que esperará a que el elemento dado esté en el DOM, pero no sea visible para el usuario. | condición |
Crea una condición que esperará a que el elemento dado se vuelva visible. | condición |
Crea una condición que esperará a que se seleccione el elemento dado. | condición |
Crea una condición que se repetirá hasta que se encuentre un elemento con el localizador dado. | condición |
Crea una condición que se repetirá hasta que se encuentre al menos un elemento con el localizador dado. | condición |
Crea una condición que esperará a que el texto visible del elemento dado contenga la subcadena dada. | condición |
Distingue mayúsculas y minúsculas. Crea una condición que esperará a que el texto visible del elemento dado coincida exactamente con el texto dado. | condición |
Crea una condición que esperará a que el texto visible del elemento dado coincida con una expresión regular. | condición |
Crea una condición que esperará a que el elemento dado quede obsoleto. Un elemento se considera obsoleto una vez que se elimina del DOM o se carga una nueva página. | condición |
Crea una condición que esperará a que el título de la página actual contenga la subcadena dada. | condición |
Crea una condición que esperará a que el título de la página actual coincida con el valor dado. | condición |
Crea una condición que esperará a que el título de la página actual coincida con la expresión regular dada. | condición |