• /
  • 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 del browser scripted de Sintético (versiones de monitor 0.5.0 y 0.6.0)

Este documento describe las funciones browser con secuencias de comandos disponibles para las versiones 0.5.0 o 0.6.0 del monitor Sintético. Si está utilizando una versión más reciente del monitor, consulte la versión del monitor Chrome 100 y la documentación más reciente. Si está utilizando versiones de monitor anteriores, consulte la versión del monitor 0.4.0 y la documentación anterior.

Para obtener más información sobre las versiones de monitores y las diferencias en tiempo de ejecución, consulte Entornos de ejecución.

Para ver algunos ejemplos de uso común, consulte Introducción al script de monitorización del browser.

API de Selenium Webdriver

Al utilizar las variables $driver y $browser, su navegador con secuencias de comandos obtiene acceso a Selenium Webdriver API 3.6.0 para monitor versión 0.6.x y API de Selenium Webdriver 3.5.0 para la versión del monitor 0.5.x.

En particular:

  • $driver proporciona todas las exportaciones del módulo selenium-webdriver (por ejemplo, ActionSequence, Button, By, WebElement, etc.).
  • $browser es una instancia de monitoreo sintético de selenium-webdriver.WebDriver(). Expone las principales API WebDriver básicas como get() y findElement(), así como algunas API personalizadas de Sintético.

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

Descripción

$browser.actions()

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

Valor de retorno: nulo

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

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

Valor de retorno: nulo

$browser.addHeaders(headers: ?)

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

Valor de retorno: nulo

$browser.deleteHeader(header: string)

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

Valor de retorno: nulo

$browser.deleteHeaders(header: [string])

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

Valor de retorno: nulo

$browser.addHostnameToBlacklist(hostname: string)

Agrega un nombre de host a su lista de denegación. Permite utilizar comodines.

Valor de retorno: nulo

$browser.addHostnamesToBlacklist(hostnameArr: [string])

Agrega todo el nombre de host en una matriz de argumentos a su lista de denegación. Permite utilizar comodines.

Valor de retorno: nulo

$browser.addHostnameToWhitelist(hostname: string)

Agrega un nombre de host bloqueado por defecto en monitoreo sintético a su lista de 'permitidos'.

Valor de retorno: nulo

$browser.addHostnamesToWhitelist(hostnameArr: [string])

Agrega todo el nombre de host en el argumento a su lista de 'permitidos'.

Valor de retorno: nulo

$browser.deleteHostnameFromBlacklist(hostname: string)

Elimina un nombre de host para esta instancia browser de su lista de denegación.

Valor de retorno: nulo

$browser.deleteHostnamesFromBlacklist(hostnameArr: [string])

Elimina todos los nombres de host en el argumento de su lista de denegados.

Valor de retorno: nulo

$browser.deleteHostnameFromWhitelist(hostnameArr: [string])

Elimina un nombre de host para esta instancia browser de su lista de 'permitidos'.

Valor de retorno: nulo

$browser.deleteHostnamesFromWhitelist(hostnameArr: [string])

Elimina todos los nombres de host en el argumento de su lista de 'permitidos' para esta instancia browser .

Valor de retorno: nulo

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

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

Valor de retorno: promesa

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

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

Valor de retorno: promesa

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

Programe un comando para buscar un elemento en la página. Si no se encuentra, monitoreo sintético devuelve un error.

Valor de retorno: WebElementPromise

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

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

Valor de retorno: 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, monitoreo sintético devuelve un error.

El valor del tiempo de espera es opcional. 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).

Valor de retorno: WebElementPromise

$browser.get(url: string)

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

Valor de retorno: promesa

$browser.getAllWindowHandles()

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

Valor de retorno: promesa

$browser.getCapabilities()

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

Valor de retorno: promesa

$browser.getCurrentUrl()

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

Valor de retorno: promesa

$browser.getHeaders()

Devuelve un mapa de encabezados configurados actualmente.

Valor de retorno: 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.

Valor de retorno: promesa

$browser.getSession()

Una promesa para la sesión de este cliente.

Valor de retorno: promesa

$browser.getTitle()

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

Valor de retorno: promesa

$browser.getWindowHandle()

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

Valor de retorno: promesa

$browser.manage()

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

Valor de retorno: nulo

$browser.navigate()

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

Valor de retorno: nulo

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

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

Valor de retorno: promesa

$browser.sleep()

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

Valor de retorno: promesa

$browser.switchTo()

La interfaz del localizador de objetivos para esta instancia.

Valor de retorno: nulo

$browser.takeScreenshot()

Programa un comando para tomar una captura de pantalla.

Valor de retorno: promesa

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

Programa un comando para esperar a que se cumpla una condición, según lo definido por la función proporcionada.

Valor de retorno: 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.

Valor de retorno: promesa

Lista de denegaciones: uso de comodines

Si desea agregar dominio a la lista de denegación de su instancia browser , los comodines deben coincidir con la sintaxis de la URL que se bloqueará.

Una lista de denegación general .com 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

Descripción

$browser.manage().addCookie(spec: object)

Programa un comando para agregar una cookie.

spec es un objeto de registro que describe una cookie browser . Para obtener más información, consulte la documentación de Selenium.

Valor de retorno: promesa

$browser.manage().deleteAllCookies()

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

Valor de retorno: 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.

Valor de retorno: 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 .

Valor de retorno: 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 .

Valor de retorno: 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.

Valor de retorno: 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.

Valor de retorno: 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.

Valor de retorno: promesa

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

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

Valor de retorno: promesa

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

Recupera el tamaño actual de la ventana.

Valor de retorno: promesa

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

Maximiza la ventana actual.

Valor de retorno: promesa

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

Reposiciona la ventana actual.

Valor de retorno: promesa

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

Cambia el tamaño de la ventana actual.

Valor de retorno: 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. Llámelos a través de $driver.By.

Función

Descripción

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

Valor de retorno: localizador

$driver.By.css(cssName: string)

Localiza un elemento usando un selector CSS.

Valor de retorno: localizador

$driver.By.id(id: string)

Localiza un elemento por su ID.

Valor de retorno: localizador

$driver.By.linkText(linkText: string)

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

Valor de retorno: localizador

$driver.By.js(js: string)

Localiza un elemento evaluando una expresión de JavaScript.

Valor de retorno: localizador

$driver.By.name(name: string)

Localiza elementos cuyo atributo de nombre tiene el valor dado.

Valor de retorno: localizador

$driver.By.partialLinkText(partialLinkText: string)

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

Valor de retorno: 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 .

Valor de retorno: localizador

$driver.By.xpath(xpath: string)

Localiza elementos que coinciden con un selector XPath.

Valor de retorno: 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. Por ejemplo, puede hacer clic en botones, enviar texto para formar entradas y obtener atributos de elementos para probar.

Función

Descripción

click()

Hace clic en este elemento.

Valor de retorno: autorreferencia

sendKeys(var_args: ?)

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

Valor de retorno: WebElement

getTagName()

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

Valor de retorno: WebElement

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

Valor de retorno: promesa

getAttribute(name: string)

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

Valor de retorno: 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.

Valor de retorno: promesa

getSize()

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

Valor de retorno: promesa

getLocation()

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

Valor de retorno: promesa

isEnabled()

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

Valor de retorno: promesa

isSelected()

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

Valor de retorno: 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.

Valor de retorno: promesa

clear()

Programa un comando para borrar el valor de este elemento.

Valor de retorno: promesa

isDisplayed()

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

Valor de retorno: 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 Webdriver ActionSequence en GitHub.

Función

Descripción

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

Valor de retorno: secuencia de acciones

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.

Valor de retorno: secuencia de acciones

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

Valor de retorno: secuencia de acciones

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.

Valor de retorno: secuencia de acciones

keyUp(key: ?)

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

Valor de retorno: secuencia de acciones

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.

Valor de retorno: secuencia de acciones

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

Valor de retorno: secuencia de acciones

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

Valor de retorno: secuencia de acciones

perform()

Ejecuta esta secuencia de acciones.

Valor de retorno: 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 en GitHub.

Valor de retorno: secuencia de acciones

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, finally() y catch(). Para obtener más información, consulte Secuencia de acciones.

Función

Descripción

isPending()

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

Valor de retorno: 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.

Valor de retorno: promesa

finally(callback: fn())

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

Valor de retorno: promesa

catch(callback: fn())

Registra un oyente para cuando se rechace esta promesa.

Valor de retorno: 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

Descripción

Condiciones: pausar y esperar condiciones.

Sugerencia

Puede obtener más información sobre las esperas en Selenium aquí.

Usado con $browser.wait, until pausa la ejecución del script hasta que se cumpla la condición. Para obtener más información, consulte la documentación Webdriver until de Selenium.

Las siguientes son funciones disponibles para $driver.until.Condition:

Función

Descripción

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.

    Valor de retorno: 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.

Valor de retorno: condición

elementIsDisabled(element: $driver.WebElement)

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

Valor de retorno: condición

elementIsEnabled(element: $driver.WebElement)

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

Valor de retorno: 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.

Valor de retorno: condición

elementIsVisible(element: $driver.WebElement)

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

Valor de retorno: condición

elementIsSelected(element: $driver.WebElement)

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

Valor de retorno: condición

elementLocated(element: $driver.Locator)

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

Valor de retorno: 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.

Valor de retorno: condición

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.

Valor de retorno: 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.

Valor de retorno: condición

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.

Valor de retorno: 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.

Valor de retorno: 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.

Valor de retorno: 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.

Valor de retorno: 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.

Valor de retorno: condición

Copyright © 2024 New Relic Inc.

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