• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Referencia browser con script Sintético (versiones de monitor 0.4.x o inferiores)

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ódulo selenium-webdriver (por ejemplo, ActionSequence, Button, By, WebElement, etc.).
  • $browser es una instancia de selenium-webdriver.WebDriver() con sabor a Sintético: expone las principales API básicas WebDriver como get() y findElement(), 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:

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

$browser.actions()

Crea una nueva secuencia de acción usando este controlador. Para obtener una lista de acciones disponibles, consulte ActionSequence: vincular varias acciones.

vacío

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

Agrega el encabezado headerKey con el valor headerValue al tiempo de ejecución.

vacío

$browser.addHeaders(headers: ?)

Agrega un mapa de encabezados al tiempo de ejecución.

vacío

$browser.deleteHeader(header: string)

Elimina un encabezado específico del tiempo de ejecución.

vacío

$browser.deleteHeaders(header: [string])

Elimina todos los encabezados del argumento del tiempo de ejecución.

vacío

$browser.addHostnameToBlacklist(hostname: string)

No permite un nombre de host. Permite utilizar comodines.

vacío

$browser.addHostnamesToBlacklist(hostnameArr: [string])

No permite todos los nombres de host en una matriz de argumentos. Permite utilizar comodines.

vacío

$browser.addHostnameToWhitelist(hostname: string)

Permite un nombre de host bloqueado de forma predeterminada en el monitoreo sintético.

vacío

$browser.addHostnamesToWhitelist(hostnameArr: [string])

Permite todo el nombre del host en el argumento.

vacío

$browser.deleteHostnameFromBlacklist(hostname: string)

Elimina un nombre de host de la lista negra de esta instancia browser .

vacío

$browser.deleteHostnamesFromBlacklist(hostnameArr: [string])

Elimina todos los nombres de host en el argumento de la lista de no permitidos.

vacío

$browser.deleteHostnameFromWhitelist(hostnameArr: [string])

Elimina un nombre de host de la lista permitida de esta instancia browser .

vacío

$browser.deleteHostnamesFromWhitelist(hostnameArr: [string])

Elimina todos los nombres de host en el argumento de la lista permitida de esta instancia browser .

vacío

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

Programa un comando para ejecutar JavaScript asincrónico en el contexto del marco o ventana actualmente seleccionado.

promesa

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

Programa un comando para ejecutar JavaScript en el contexto del marco o ventana actualmente seleccionado.

promesa

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

Programe un comando para buscar un elemento en la página. Si no se encuentra, New Relic devuelve un error.

Elemento web

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

Programe un comando para buscar múltiples elementos en la página.

promesa

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

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

$browser.get(url: string)

Carga una página web en un browser Sintético.

promesa

$browser.getAllWindowHandles()

Programa un comando para recuperar la lista actual de identificadores de ventana disponibles.

promesa

$browser.getCapabilities()

Una promesa que se resolverá con las capacidades de la instancia.

promesa

$browser.getCurrentUrl()

Programa un comando para recuperar la URL de la página actual.

promesa

$browser.getHeaders()

Devuelve un mapa de encabezados configurados actualmente.

mapa

$browser.getPageSource()

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

$browser.getSession()

Una promesa para la sesión de este cliente.

promesa

$browser.getTitle()

Programa un comando para recuperar el título de la página actual.

promesa

$browser.getWindowHandle()

Programa un comando para recuperar el identificador de la ventana actual.

promesa

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

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

$browser.manage()

La interfaz de opciones para esta instancia. Puede administrar cookies, tiempos de espera y otras opciones de ventana.

vacío

$browser.navigate()

La interfaz de navegación (historial de funciones browser ) para esta instancia.

vacío

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

Programa un comando para que lo ejecute el CommandExecutor de este controlador.

promesa

$browser.sleep()

Programa un comando para hacer que el conductor duerma durante un período de tiempo determinado.

promesa

$browser.switchTo()

La interfaz del localizador de objetivos para esta instancia.

vacío

$browser.takeScreenshot()

Programe un comando para tomar una captura de pantalla.

promesa

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

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

$browser.waitForPendingRequests(timeout: number)

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

$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

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

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

Programa un comando para agregar una cookie.

promesa

$browser.manage().deleteAllCookies()

Programa un comando para eliminar todas las cookies visibles en la página actual.

promesa

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

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

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

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

$browser.manage().getCookies()

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

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

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 0 deshabilita la espera implícita.

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

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

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

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

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

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

Recupera la posición actual de la ventana, en relación con la esquina superior izquierda de la pantalla.

promesa

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

Recupera el tamaño actual de la ventana.

promesa

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

Maximiza la ventana actual.

promesa

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

Reposiciona la ventana actual.

promesa

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

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

$driver.By.className(className: string)

Localiza un elemento que tiene un nombre de clase específico. El localizador devuelto equivale a buscar elementos con el selector CSS .class.

localizador

$driver.By.css(cssName: string)

Localiza un elemento usando un selector CSS.

localizador

$driver.By.id(id: string)

Localiza un elemento por su ID.

localizador

$driver.By.linkText(linkText: string)

Localiza elementos de enlace cuyo texto visible coincide con la cadena dada.

localizador

$driver.By.js(js: string)

Localiza un elemento evaluando una expresión de JavaScript.

localizador

$driver.By.name(name: string)

Localiza elementos cuyo atributo de nombre tiene el valor dado.

localizador

$driver.By.partialLinkText(partialLinkText: string)

Localiza elementos de enlace cuyo getText visible contiene la subcadena dada.

localizador

$driver.By.tagName(tagName: string)

Localiza elementos con un nombre de etiqueta determinado. El localizador devuelto equivale a utilizar la función DOM getElementsByTagName .

localizador

$driver.By.xpath(xpath: string)

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

click()

Hace clic en este elemento.

vacío

sendKeys(var_args: ?)

Programa un comando para escribir una secuencia en el elemento DOM representado por esta instancia.

Elemento web

getTagName()

Programa un comando para consultar la etiqueta/nombre de nodo de este elemento.

Elemento web

getCssValue(name: string)

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, #00ff00 en lugar de rgb(0, 255, 0)).

promesa

getAttribute(name: string)

Programa un comando para consultar el valor del atributo dado del elemento.

promesa

getText(name: string)

Obtenga el innerText visible (no oculto por CSS) de este elemento, incluidos los subelementos, sin ningún espacio en blanco inicial o final.

promesa

getSize()

Programa un comando para calcular el tamaño del cuadro delimitador de este elemento, en píxeles.

promesa

getLocation()

Programa un comando para calcular la ubicación de este elemento, en el espacio de la página.

promesa

isEnabled()

Programa un comando para consultar si el elemento DOM representado por esta instancia está habilitado, según lo dicta el atributo deshabilitado.

promesa

isSelected()

Programa un comando para consultar si este elemento está seleccionado.

promesa

submit()

Programa un comando para enviar el formulario que contiene este elemento (o este elemento si es un elemento FORM ). Este comando no es operativo si el elemento no está contenido en un formulario.

promesa

clear()

Programa un comando para borrar el valor de este elemento.

promesa

isDisplayed()

Programa un comando para probar si este elemento se muestra actualmente.

promesa

getOuterHtml()

Programa un comando para recuperar el HTML externo de este elemento.

promesa

getInnerHtml()

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

click(opt_elementOrButton: ?, opt_button: ?)

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 WebElement.click().

actionsequence

doubleClick(opt_elementOrButton: ?, opt_button: ?)

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

dragAndDrop(element: ?, location: ?)

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 x y y: {x: x_offset, y: y_offset}.

actionsequence

keyDown(key: ?)

Realiza una pulsación de tecla modificadora. Debe ser uno de ALT, CONTROL, SHIFT, COMMAND o META. La tecla modificadora no se suelta hasta que se llama a keyUp() o sendKeys() . La pulsación de la tecla será dirigida al elemento actualmente enfocado.

actionsequence

keyUp(key: ?)

Realiza una liberación de tecla modificadora. El lanzamiento tiene como objetivo el elemento actualmente enfocado.

actionsequence

mouseDown(opt_elementOrButton: ?, opt_button: ?)

Presiona un botón del mouse. El botón del mouse no se soltará hasta que se llame a mouseUp , independientemente de si esa llamada se realiza en esta secuencia u otra. El comportamiento del evento fuera de servicio (como llamar a mouseDown() o click() cuando el botón ya está presionado) no está definido.

actionsequence

mouseUp(opt_elementOrButton: ?, opt_button: ?)

Libera un botón del mouse. El comportamiento no está definido para llamar a esta función sin una llamada previa a mouseDown().

actionsequence

mouseMove(location: ?, offset: ?)

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

perform()

Ejecuta esta secuencia de acciones.

promesa

sendKeys(args: ?)

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

cancel(string: reason)

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

isPending()

Aún se está calculando si el valor de esta promesa.

booleano

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

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

thenFinally(callback: fn())

Registra un oyente para invocarlo cuando se resuelva esta promesa, independientemente de si el valor de la promesa se calculó correctamente.

promesa

thenCatch(callback: fn())

Registra un oyente para cuando se rechace esta promesa.

promesa

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

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

ableToSwitchToFrame(frame: ?)

Crea una condición que esperará hasta que el controlador de entrada pueda cambiar al marco designado. El marco objetivo se puede especificar como:

  • Un índice numérico en window.frames para el fotograma actual

  • Un webdriver.WebElement, que debe hacer referencia a un elemento FRAME o IFRAME en la página actual

  • Un localizador que se puede utilizar para localizar primero un FRAME o IFRAME en la página actual antes de intentar cambiar a ella.

    Una vez resuelta con éxito esta condición, el conductor quedará concentrado en el nuevo marco.

condición

alertIsPresent()

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

elementIsDisabled(element: $driver.WebElement)

Crea una condición que esperará a que se deshabilite el elemento dado.

condición

elementIsEnabled(element: $driver.WebElement)

Crea una condición que esperará a que se habilite el elemento dado.

condición

elementIsNotVisible(element: $driver.WebElement)

Crea una condición que esperará a que el elemento dado esté en el DOM, pero no sea visible para el usuario.

condición

elementIsVisible(element: $driver.WebElement)

Crea una condición que esperará a que el elemento dado se vuelva visible.

condición

elementIsSelected(element: $driver.WebElement)

Crea una condición que esperará a que se seleccione el elemento dado.

condición

elementLocated(element: $driver.Locator)

Crea una condición que se repetirá hasta que se encuentre un elemento con el localizador dado.

condición

elementsLocated(element: $driver.Locator)

Crea una condición que se repetirá hasta que se encuentre al menos un elemento con el localizador dado.

condición

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

Crea una condición que esperará a que el texto visible del elemento dado contenga la subcadena dada.

condición

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

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

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

Crea una condición que esperará a que el texto visible del elemento dado coincida con una expresión regular.

condición

stalenessOf(element: $driver.WebElement)

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

titleContains(substr: string)

Crea una condición que esperará a que el título de la página actual contenga la subcadena dada.

condición

titleIs(title: string)

Crea una condición que esperará a que el título de la página actual coincida con el valor dado.

condición

titleMatches(regex: string)

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

Copyright © 2024 New Relic Inc.

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