Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Selenium
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Ficha de software | nombre = Selenium. | logo = | desarrollador = [[SeleniumHQ]] |captura=[[File:INTELLIJ SELENIUM.png|thumb|prueba de selenium dentro de intellij dedicada a Stefy]]| pie = | última_versión = 4.1.2 | fecha_última_versión = {{fecha de lanzamiento|30|01|2022}} | última_versión_prueba = | fecha_última_versión_prueba = | sistema_operativo = [[Multiplataforma]] | lenguaje = | género = [[Automatización de pruebas]] |modelo_desarrollo=| licencia = [[Apache License]] | sitio_web = https://www.seleniumhq.org/ | español = No }} '''SELENIUMMM''' es un entorno de pruebas de software para aplicaciones basadas en la web. Selenium provee una herramienta de grabar/reproducir para crear pruebas sin usar un lenguaje de scripting para pruebas ('''Selenium IDE'''). Incluye también un [[Lenguaje_específico_del_dominio|lenguaje específico de dominio]] para pruebas ('''Selenese''') para escribir pruebas en un amplio número de lenguajes de programación populares incluyendo [[Java_(lenguaje_de_programación)|Java]], [[C_sharp|C#]], [[Ruby]], [[Groovy (lenguaje de programación)|Groovy]], [[Perl]], [[PHP]] y [[Python]]. Las pruebas pueden ejecutarse entonces usando la mayoría de los [[Navegador_web|navegadores web]] modernos en diferentes sistemas operativos como [[Windows]], [[Linux]] y [[OSX]]. == Historia == Selenium fue originalmente desarrollado por Jason Huggins en 2004 y pronto se unieron al esfuerzo otras personas especialistas en pruebas y programación. Es un software de [[código abierto]] bajo la [[Apache License|licencia apache]] 2.0 que puede ser descargada y usada sin cargo. El nombre proviene de una broma hecha por Huggins burlándose de un competidor llamado Mercury (mercurio) diciendo que el [[envenenamiento por mercurio]] puede ser curado tomando complementos de Selenio. Los participantes tomaron el nombre y siguieron con él. Existen otros proyectos que se desarrollan alrededor de Selenium como Selenium Grid, para probar concurrencia de múltiples pruebas concurrentes de clientes remotos o locales, así como Flash Selenium para probar programas escritos en [[Adobe Flex]] o Selenium [[Silverlight]]. == Componentes de Selenium == === Selenium IDE === Selenium IDE es un [[entorno de desarrollo integrado]] para pruebas con Selenium. Está implementado como una extensión de [[Mozilla Firefox|Firefox]] y [[Google Chrome|Chrome]] y permite grabar, editar y [[Depuración de programas|depurar]] pruebas. Originalmente se le conoció como Selenium Recorder. Se pueden desarrollar automáticamente [[Script|scripts]] al crear una grabación y de esa manera se puede editar manualmente con sentencias y comandos para que la reproducción de nuestra grabación sea correcta Los scripts se generan en ''Selanese'', un lenguaje de scripting especial para Selenium. Selanese provee comandos que ejecutan acciones sobre objetos en el navegador, como hacer clic en un [[Hiperenlace|enlace]], seleccionar de una lista de opciones, verificar la presencia de un texto en particular así como para tomar la totalidad de la página producto de las acciones. Características: * Grabación y reproducción fácil * Selección inteligente de campos usando ID, nombre o [[XPath]] según se necesite. * Compleción automática de los comandos de Selenium más comunes. * Pruebas de revisión cruzada * Depuración y puntos de verificación (breakpoint) * Almacenar las pruebas como Selanese, Ruby, Java y otros formatos. * Soporte al archivo user-extensions.js * Opción para [[Aserción (informática)|asertar]] el título de la página. * Opción de modificarle a la medida con el uso de [[Complemento (informática)|complementos]] === Selenium Client API === Interfaz de programación de aplicaciones ([[API]]) de clientes Como alternativa a escribir pruebas en Selanese, las pruebas pueden escribirse en varios lenguajes de programación, éstos se comunican con Selenium mediante llamadas a los métodos de Selenium Client API. Actualmente Selenium provee API para Java, C#, Ruby y Python. Con Selenium 2 se presentó una nueva API de clientes, con ''WebDriver'' como componente central, aunque la anterior API puede seguirse usando llamando a la clase ''Selenium''. === Selenium Remote Control === '''Selenium Remote Control (RC)''' es un servidor escrito en Java que acepta comandos al navegador vía [[HTTP]]. RC hace posible escribir pruebas automatizadas para aplicaciones web, en cualquier lenguaje de programación lo que permite una mejor integración de Selenium a entornos de prueba existentes. Para hacer la escritura de pruebas más fácil, Selenium actualmente provee [[Controlador de dispositivo|controladores de dispositivos]] para PHP, Python, Ruby,.NET, Perl y Java. El controlador de Java puede usarse para Javascript vía el motor [[Rhino (intérprete de JavaScript)|Rhino]]. '''Selenium Remote Control''' fue una [[refactorización]] de '''Driven Selenium''' o '''Selenium B''', la versión original lanzaba directamente un proceso para el navegador en cuestión desde el lenguaje de prueba; el protocolo de cable (confusamente llamado Selanese también en aquel tiempo) fue reimplementado al portarse a cada lenguaje. Después de la refactorización, hubo un proceso intermediario [[Demonio (informática)|demonio]] entre el script controlador y el navegador. Los beneficios incluyeron la capacidad de controlar navegadores remotos y reducir la necesidad de portar el código a un número creciente de lenguajes. Con la liberación de Selenium 2, Selenium RC fue oficialmente descartado en favor de Selenium WebDriver. === Selenium WebDriver === Selenium WebDriver es el sucesor de Selenium RC. Selenium WebDriver acepta comandos (enviados en Selenese o vía el API de cliente) y los envía a un navegador. Esto se implementa a través de un controlador del navegador específico para cada navegador que envía los comandos y trae los resultados de regreso. La mayoría de los controladores del navegador lanzan y acceden a la aplicación de navegador (como Mozilla Firefox o Internet Explorer), pero también hay un controlador para [[HtmlUnit]] que simula un navegador. A diferencia de Selenium 1, donde el servidor Selenium RC era indispensable, en Selenium WebDriver no se requiere de un servidor especial para ejecutar las pruebas, en vez de ello WebDriver inicia una instancia del navegador y lo controla; sin embargo puede usarse Selenium Grid (ver abajo) para ejecutar pruebas en sistemas remotos (ver más abajo). Desde inicios de 2012, Simon Stewart de Google (inventor del WebDriver) y David Burns de la [[Fundación Mozilla]] se encuentran negociando con el [[W3C]] que WebDriver se convierta en un [[estándar de Internet]], como tal Selenium-Webdriver (Selenium 2.0) apunta a ser la [[implementación de referencia]] del estándar WebDriver en varios lenguajes de programación. Selenium-WebDriver está completamente implementado y soportado en Java, Ruby, Python y C#. En la práctica, esto significa que la API de Selenium 2.0 tiene significativamente menos llamadas que el API de Selenium 1.0. Donde Selenium 1.0 intentaba proveer una interfaz rica en muchas operaciones, Selenium 2.0 intenta proveer de los bloques de construcción básicos con los cuales los desarrolladores puedan programar su propio [[Lenguaje_específico_del_dominio|lenguaje específico de dominio]]. Uno de ellos ya existe y es el proyecto [[Watir]] en Ruby que tiene una historia rica en buen diseño. Watir-WebDriver implementa el API de Watir como un envolvente del Selenium-Webdriver en Ruby. Watir-WebDriver se crea de forma completamente automática, basado en las especificaciones del WebDriver y HTML. === Selenium Grid === '''Selenium Grid''' es un servidor que permite usar instancias de navegador ejecutándose en máquinas remotas. Con Selenium Grid, uno de los servidores actúa como concentrador. Las pruebas contactan al concentrador para obtener acceso a instancias de navegadores; el concentrador lleva una lista de instancias de los navegadores (Nodos de WebDriver) y permiten a las pruebas usar estas instancias. Selenium Grid permite ejecutar pruebas en paralelo en múltiples máquinas y manejar diferentes versiones y configuraciones de manera centralizada. .... == Véase también == * [[HtmlUnit]] * [[Watir]] == Enlaces externos == * [https://seleniumhq.org/ Página principal del proyecto Selenium] * [https://github.com/SeleniumHQ/selenium Descarga, documentación y seguimiento de defectos de Selenium] * [https://www.tutorialdeprogramacion.com/2019/08/tutorial-python-con-selenium.html Tutorial Selenium con python: Instalando, configurando y poniendo en marcha] {{Control de autoridades}} [[Categoría:Pruebas de software]] [[Categoría:Desarrollo web]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Selenium
»
Añadir idiomas
Añadir tema