{"id":17672,"date":"2023-04-25T10:25:00","date_gmt":"2023-04-25T14:25:00","guid":{"rendered":"https:\/\/es.abstracta.us\/blog\/?p=17672"},"modified":"2024-04-30T11:22:29","modified_gmt":"2024-04-30T15:22:29","slug":"pruebas-performance-jmeter-dsl-scripts-selenium","status":"publish","type":"post","link":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/","title":{"rendered":"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium?"},"content":{"rendered":"\n<p id=\"5c0c\">Conoce paso a paso c\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium. \u00bfTe perdiste mi charla en Selenium Conf 2023? En este art\u00edculo, resumo mi presentaci\u00f3n, con el fin de que aprendas c\u00f3mo reutilizar las pruebas de Selenium y verificar el correcto funcionamiento de un sitio, a\u00fan en momentos de alta demanda.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" src=\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/pruebas-performance-jmeter-dsl-scripts-selenium-1024x575.png\" alt=\"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium?\" class=\"wp-image-17673\" srcset=\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/pruebas-performance-jmeter-dsl-scripts-selenium-1024x575.png 1024w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/pruebas-performance-jmeter-dsl-scripts-selenium-300x169.png 300w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/pruebas-performance-jmeter-dsl-scripts-selenium-768x431.png 768w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/pruebas-performance-jmeter-dsl-scripts-selenium-18x10.png 18w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/pruebas-performance-jmeter-dsl-scripts-selenium-1200x675.png 1200w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/pruebas-performance-jmeter-dsl-scripts-selenium.png 1506w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p id=\"8a3e\">Selenium Conf 2023 brind\u00f3 un espacio para compartir experiencias y profundizar sobre las mejores pr\u00e1cticas relacionadas con las pruebas automatizadas. El evento permiti\u00f3 valiosos intercambios y grandes aprendizajes, sumamente valiosos para el desarrollo de software de mejor calidad.<\/p>\n\n\n\n<p id=\"67e5\">Con el fin de reforzar este prop\u00f3sito,&nbsp;<strong>comparto en este art\u00edculo el paso a paso de c\u00f3mo crear pruebas de performance a partir de scripts Selenium.<\/strong>&nbsp;\u00a1Empecemos!<\/p>\n\n\n\n<p id=\"a042\"><strong>Frecuentemente, como testers, necesitamos reutilizar pruebas implementadas con Selenium para verificar que un sitio funciona correctamente a\u00fan en momentos de alta demanda.<\/strong><\/p>\n\n\n\n<p id=\"2468\">\u00bfC\u00f3mo reutilizamos esas pruebas? Hay muchas maneras de hacerlo. Hoy me voy a centrar en la forma en que lo present\u00e9 en el evento, a la cual considero sumamente \u00fatil para lograr este cometido.<\/p>\n\n\n\n<p id=\"4b56\">En primer lugar, es necesario que agregues una dependencia de Maven y un peque\u00f1o c\u00f3digo de inicializaci\u00f3n a tu prueba de Selenium existente. Con este c\u00f3digo incluido en la prueba de Selenium, corres la prueba para generar la <a href=\"https:\/\/es.abstracta.us\/blog\/category\/pruebas-performance\/\" target=\"_blank\" rel=\"noreferrer noopener\">prueba de performance<\/a>, y luego ejecutas el test para evaluar el comportamiento de la aplicaci\u00f3n.<\/p>\n\n\n\n<p id=\"4e90\">Puedes encontrar el ejemplo compartido en mi presentaci\u00f3n durante la Selenium Conf 2023 en este\u00a0<a href=\"https:\/\/github.com\/abstracta\/selenium-jmeter-dsl-demo\" target=\"_blank\" rel=\"noreferrer noopener\">repositorio de c\u00f3digo fuente<\/a>. Te sugiero comprobar el README para m\u00e1s detalles. Me gustar\u00eda destacar que el repositorio contiene una aplicaci\u00f3n para probar, una prueba de Selenium para la aplicaci\u00f3n, un m\u00f3dulo para facilitar la generaci\u00f3n de pruebas de performance a partir de pruebas de Selenium, infraestructura para recolecci\u00f3n de estad\u00edsticas y presentaci\u00f3n en dashboards, e instrucciones sobre c\u00f3mo generar y ejecutar la prueba de performance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"cc55\"><strong>Configuraci\u00f3n de la grabaci\u00f3n<\/strong><\/h2>\n\n\n\n<p id=\"ec1f\">El c\u00f3digo de dependencia e inicializaci\u00f3n implica el uso de una extensi\u00f3n&nbsp;<em>JUnit,<\/em>&nbsp;la cual inicia y detiene autom\u00e1ticamente el grabador JMeter DSL al comienzo y fin de una prueba Selenium.<\/p>\n\n\n\n<p id=\"9ed7\">Como parte de este c\u00f3digo de inicializaci\u00f3n, ser\u00e1 necesario que especifiques la clase base de los page objects que se utilizan. \u00bfCu\u00e1l es el objetivo de esto? Generar una prueba de performance que pueda medir el tiempo empleado en cada p\u00e1gina mientras se ejecuta una prueba de carga generada en paralelo con la prueba de Selenium existente.<\/p>\n\n\n\n<p id=\"0a5e\">De esta manera, podemos medir adecuadamente el impacto en la experiencia del usuario mientras se inyecta la carga en el sistema.<\/p>\n\n\n\n<p id=\"cb00\">Adem\u00e1s, el c\u00f3digo de inicializaci\u00f3n incluye la configuraci\u00f3n de la grabadora como proxy del Selenium WebDriver. Esto permite que la grabadora capture cada solicitud y respuesta al servidor backend para, luego, crear la prueba de carga utilizando la API Java de <a href=\"https:\/\/es.abstracta.us\/blog\/jmeter-dsl-innovadora-herramienta-testing-performance\/\" target=\"_blank\" rel=\"noreferrer noopener\">JMeter DSL<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/1*8nxwxriAHHBrJYflBQgZjQ.png\" alt=\"Dependencia Maven\"\/><figcaption class=\"wp-element-caption\"><em>Dependencia Maven<\/em><\/figcaption><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/1*EeL2IJF3FAu-PJN5XLh3rw.png\" alt=\"Pruebas Selenium con c\u00f3digo de inicializaci\u00f3n\"\/><figcaption class=\"wp-element-caption\"><em>Pruebas Selenium con c\u00f3digo de inicializaci\u00f3n<\/em><\/figcaption><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"5e2f\"><strong>Generaci\u00f3n de pruebas de performance<\/strong><\/h2>\n\n\n\n<p id=\"31e6\">En este momento, ya puedes ejecutar tu prueba de Selenium. El grabador de JMeter DSL generar\u00e1 una clase Java con un m\u00e9todo de prueba de carga y uno principal. Te recomiendo revisar la prueba de carga generada para asegurarte de que las llamadas al servidor <em>backend<\/em> grabadas sean las que esperas. Si no es as\u00ed, puedes ajustar la configuraci\u00f3n del grabador para que se adapte a tus necesidades, como excluir URL o cabeceras que no son relevantes para tu prueba, y grabar la prueba de nuevo.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/1*vBCSLycBHmTwt05VBEhdcQ.png\" alt=\"Prueba de performance generada\"\/><figcaption class=\"wp-element-caption\"><em>Prueba de performance generada<\/em><\/figcaption><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"7476\"><strong>Validaci\u00f3n de pruebas de performance<\/strong><\/h2>\n\n\n\n<p id=\"10a1\">En general, antes de generar una carga y ejecutar las pruebas de performance, es recomendable verificar que el plan de pruebas o cargas se ejecutan sin problemas y no es necesario realizar m\u00e1s ajustes, tales como la parametrizaci\u00f3n de solicitudes o la correlaci\u00f3n de respuestas y solicitudes.<\/p>\n\n\n\n<p id=\"1ff5\">Con el fin de validar el plan de pruebas, puedes a\u00f1adir un `resultsTreeVisualizer()` y ejecutar el m\u00e9todo de prueba de carga, manteniendo la configuraci\u00f3n del grupo de hilos en 1 hilo y 1 iteraci\u00f3n, con el objetivo de ejecutar el plan de pruebas solo una vez.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/1*UmvYzQ50dqXNVJrriOJc8w.png\" alt=\"Visualizador del \u00e1rbol de resultados\"\/><figcaption class=\"wp-element-caption\"><em>Visualizador del \u00e1rbol de resultados<\/em><\/figcaption><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"8776\"><strong>Ajuste de las pruebas de performance<\/strong><\/h2>\n\n\n\n<p id=\"dc91\">En caso de que necesites alguna parametrizaci\u00f3n, dado que algunas peticiones fallan debido a datos din\u00e1micos, puede que quieras definir reglas de correlaci\u00f3n que no est\u00e1n cubiertas en la presentaci\u00f3n. Si es as\u00ed, te sugiero chequear el Read Me del repositorio, en el cual puedes obtener un ejemplo de c\u00f3mo definirlas y utilizarlas.<\/p>\n\n\n\n<p id=\"b754\">Tambi\u00e9n te recomiendo comentar el c\u00f3digo donde se usa&nbsp;<em>`influxDbListener`,<\/em>&nbsp;lo cual no es relevante para esta validaci\u00f3n.<\/p>\n\n\n\n<p id=\"f5a3\">Despu\u00e9s de comprobar que todas las peticiones y respuestas han funcionado como esperabas, deber\u00edas eliminar `<em>resultsTreeVisualizer(<\/em>)`.<\/p>\n\n\n\n<p id=\"ad5d\">Ahora es el momento de ajustar la configuraci\u00f3n del grupo de hilos para generar la carga real en el\u00a0<em>backend<\/em>\u00a0del servicio probado. Para ello, puedes cambiar el n\u00famero de hilos e iteraciones o utilizar el m\u00e9todo\u00a0<em>`rampToAndHold<\/em>, el cual proporciona una mayor flexibilidad sobre el perfil de carga a generar.<\/p>\n\n\n\n<p id=\"8904\">Te recomiendo comprobar que la duraci\u00f3n total del perfil de carga coincida con el valor de<em>&nbsp;Duration<\/em>&nbsp;en el m\u00e9todo principal de la clase, para que tanto el<em>&nbsp;backend&nbsp;<\/em>como el&nbsp;<em>frontend<\/em>&nbsp;se ejecuten durante el mismo tiempo, ya que por defecto est\u00e1 configurado para 5 minutos.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/1*pSRy1RaQuvEAL1HhWb_t6A.png\" alt=\"Thread groups con algunos ramp ups\"\/><figcaption class=\"wp-element-caption\"><em>Thread groups con algunos ramp ups<\/em><\/figcaption><\/figure><\/div>\n\n\n<p id=\"d386\">Antes de ejecutar la carga de prueba, necesitar\u00e1s realizar algunas configuraciones y limpiezas adicionales. En primer lugar, a\u00f1ad\u00ed las configuraciones adecuadas, para que las pruebas de performance puedan enviar las estad\u00edsticas recopiladas a InfluxDB con el fin de poder luego generar informes con Grafana. Para esto, te sugiero consultar el archivo Readme del repositorio.<\/p>\n\n\n\n<p id=\"debd\">En el caso de que hayan comentado el<em>\u00a0`influxDbListener`<\/em>, descomentalo, y elimina la inicializaci\u00f3n de la extensi\u00f3n del grabador\u00a0<em>JUnit<\/em>\u00a0de Selenium Test.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"e76f\"><strong>Ejecuci\u00f3n de la prueba de performance<\/strong><\/h2>\n\n\n\n<p id=\"26d2\">Ha llegado el momento de ejecutar la prueba de performance y revisar c\u00f3mo se comporta el sistema. Para ello, basta con que ejecutes el m\u00e9todo&nbsp;<em>main<\/em>&nbsp;de la clase generada por el grabador. Esto disparar\u00e1 la prueba de carga del&nbsp;<strong>backend<\/strong>, a la vez que se ejecuta la prueba de Selenium en un bucle durante el tiempo configurado.<\/p>\n\n\n\n<p id=\"2eb8\">Mientras se ejecuta el test, puedes comprobar en tu\u00a0<em>dashboard<\/em>\u00a0de Grafana c\u00f3mo se est\u00e1 comportando el sistema, y c\u00f3mo la carga en el\u00a0<em>backend<\/em>\u00a0est\u00e1 afectando al tiempo empleado por el test de Selenium en cada p\u00e1gina. Recuerda que tu\u00a0<em>dashboard<\/em>\u00a0de Grafana deber\u00eda haber sido configurado previamente, junto a InfluxDB. Puedes consultar m\u00e1s detalles en el fichero\u00a0<em>`docker-compose.yml`<\/em>\u00a0del repositorio.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"519\" src=\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium-1024x519.png\" alt=\"\" class=\"wp-image-17677\" srcset=\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium-1024x519.png 1024w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium-300x152.png 300w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium-768x389.png 768w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium-1536x778.png 1536w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium-18x9.png 18w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium.png 1670w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>Panel de control con m\u00e9tricas de<\/em>\u00a0frontend\u00a0<em>y\u00a0<\/em>backend<em>\u00a0durante la carga<\/em><\/figcaption><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"48ea\"><strong>Escalado de la prueba de performance<\/strong><\/h2>\n\n\n\n<p id=\"5dda\">Con frecuencia, generar carga con una sola m\u00e1quina puede resultar insuficiente, y es posible que necesites utilizar un<em>&nbsp;cluster<\/em>&nbsp;de m\u00e1quinas para generar suficiente carga y verificar el comportamiento adecuado de tu sistema bajo una carga significativa.<\/p>\n\n\n\n<p id=\"9a13\">Para ello, puedes utilizar uno de los motores proporcionados por JMeter DSL, como BlazeMeter, <a href=\"https:\/\/es.abstracta.us\/blog\/alianza-abstracta-octoperf-testing-performance-low-code-jmeter\/\" target=\"_blank\" rel=\"noreferrer noopener\">Octoperf<\/a> o DistributedJMeter, y ejecutar tu prueba de carga desde un cl\u00faster de m\u00e1quinas con bastante facilidad.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/1*bsoQe7J4sF8GDhwUSYP6nw.png\" alt=\"Dependencia Maven del motor BlazeMeter\"\/><figcaption class=\"wp-element-caption\"><em>Dependencia Maven del motor BlazeMeter<\/em><\/figcaption><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/1*F5B8xRzPrKFuN_nS5mzJAg.png\" alt=\"Funcionamiento con el motor BlazeMeter\"\/><figcaption class=\"wp-element-caption\"><em>Funcionamiento con el motor BlazeMeter<\/em><\/figcaption><\/figure><\/div>\n\n\n<p id=\"e61c\"><strong>Algunas consideraciones para el enfoque presentado<\/strong><\/p>\n\n\n\n<p id=\"bcb5\">\u2705El proyecto proporcionado es un ejemplo de c\u00f3mo puedes reutilizar las pruebas de Selenium y verificar el correcto funcionamiento de un sitio, aun en momentos de alta demanda mediante JUnit 5, Java 19, Selenium 4.8, Chrome 111. Adem\u00e1s, c\u00f3mo hacerlo midiendo el tiempo en las p\u00e1ginas de Selenium y comprobando los tiempos de creaci\u00f3n de Page Object.<\/p>\n\n\n\n<p id=\"c88c\">Recuerda que puedes utilizar el ejemplo para crear una integraci\u00f3n similar para las versiones o tecnolog\u00edas concretas que utilices en tu caso. Considera que JMeter DSL es independiente del\u00a0<em>framework<\/em>\u00a0de pruebas (JUnit, TestNG), es compatible con Java 8+, y no tiene relaci\u00f3n directa con Selenium.<\/p>\n\n\n\n<p id=\"775e\">\u2705Aunque en este escenario se est\u00e9n utilizando InfluxDB y Grafana, puedes optar por otras tecnolog\u00edas para la generaci\u00f3n de informes, tales como Elasticsearch, Prometheus, Kibana, etc.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-wide\" style=\"background-color:#f1f1f1;color:#f1f1f1\"\/>\n\n\n\n<p id=\"61c2\"><strong>\u00bfTe gustar\u00eda escuchar mi charla completa? Te invito a hacerlo en nuestro&nbsp;<\/strong><a href=\"https:\/\/www.youtube.com\/watch?v=YZhCPXfMuqo&amp;t=127s&amp;ab_channel=SeleniumConference\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>canal de Youtube<\/strong><\/a><strong>.<\/strong><\/p>\n\n\n\n<p id=\"c1a0\"><strong>Si quieres saber m\u00e1s sobre JMeter DSL, te recomiendo revisar nuestros\u00a0<\/strong><a href=\"https:\/\/github.com\/abstracta\/jmeter-java-dsl\/releases\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>releases<\/strong><\/a><strong>, el\u00a0<\/strong><a href=\"https:\/\/github.com\/abstracta\/jmeter-java-dsl\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>repositorio<\/strong><\/a><strong>\u00a0de cambios, el\u00a0<\/strong><a href=\"https:\/\/discord.com\/invite\/WNSn5hqmSd\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>canal de discusi\u00f3n<\/strong><\/a><strong>, y formar parte de la comunidad.<\/strong><\/p>\n\n\n\n<p id=\"20d5\"><strong>Entra a nuestra\u00a0<\/strong><a href=\"https:\/\/abstracta.github.io\/jmeter-java-dsl\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>User Guide<\/strong><\/a><strong>\u00a0y despeja todas tus dudas sobre JMeter DSL<\/strong>.<\/p>\n\n\n\n\n\n<p><strong>\u00a1S\u00edguenos en\u00a0<a href=\"https:\/\/bit.ly\/LinkedIn-Abstracta-Chile\" target=\"_blank\" rel=\"noreferrer noopener\">LinkedIn<\/a>,\u00a0<a href=\"https:\/\/bit.ly\/TW-Abstracta-Chile\" target=\"_blank\" rel=\"noreferrer noopener\">Twitter<\/a>,\u00a0<a href=\"https:\/\/bit.ly\/FB-Abstracta-Chile\" target=\"_blank\" rel=\"noreferrer noopener\">Facebook<\/a>,\u00a0<a href=\"https:\/\/bit.ly\/Instagram-Abstracta-Latam\" target=\"_blank\" rel=\"noreferrer noopener\">Instagram<\/a>\u00a0y\u00a0<a href=\"https:\/\/bit.ly\/YT-Abstracta\" target=\"_blank\" rel=\"noreferrer noopener\">YouTube<\/a>\u00a0para conocer m\u00e1s sobre nuestra cultura y ser parte de nuestra comunidad!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Conoce paso a paso c\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium. \u00bfTe perdiste mi charla en Selenium Conf 2023? En este art\u00edculo, resumo mi presentaci\u00f3n, con el fin de que aprendas c\u00f3mo reutilizar las pruebas de Selenium y verificar el correcto funcionamiento de un sitio, a\u00fan en momentos de alta demanda.<\/p>\n","protected":false},"author":41,"featured_media":17682,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[3,182,173,145],"class_list":["post-17672","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pruebas-performance","tag-automatizacion-pruebas","tag-jmeter-dsl","tag-performance-testing","tag-tecnologia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium? - Abstracta<\/title>\n<meta name=\"description\" content=\"Conoce paso a paso c\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium. \u00bfTe perdiste mi charla en Selenium Conf 2023? En este art\u00edculo, resumo mi presentaci\u00f3n, con el fin de que aprendas c\u00f3mo reutilizar las pruebas de Selenium y verificar el correcto funcionamiento de un sitio, a\u00fan en momentos de alta demanda.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium? - Abstracta\" \/>\n<meta property=\"og:description\" content=\"Conoce paso a paso c\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium. \u00bfTe perdiste mi charla en Selenium Conf 2023? En este art\u00edculo, resumo mi presentaci\u00f3n, con el fin de que aprendas c\u00f3mo reutilizar las pruebas de Selenium y verificar el correcto funcionamiento de un sitio, a\u00fan en momentos de alta demanda.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog de Desarrollo de Software, Testing e Inteligencia Artificial | Abstracta\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AbstractaChile\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-25T14:25:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-30T15:22:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2023\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Roger Abelenda\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AbstractaChile\" \/>\n<meta name=\"twitter:site\" content=\"@AbstractaChile\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roger Abelenda\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/\"},\"author\":{\"name\":\"Roger Abelenda\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/ffd201bac5699303dcbe1c0ffdd78704\"},\"headline\":\"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium?\",\"datePublished\":\"2023-04-25T14:25:00+00:00\",\"dateModified\":\"2024-04-30T15:22:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/\"},\"wordCount\":1486,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#organization\"},\"keywords\":[\"Automatizaci\u00f3n de Pruebas\",\"JMeter DSL\",\"Performance Testing\",\"Tecnolog\u00eda\"],\"articleSection\":[\"Pruebas de Performance\"],\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/\",\"url\":\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/\",\"name\":\"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium? - Abstracta\",\"isPartOf\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#website\"},\"datePublished\":\"2023-04-25T14:25:00+00:00\",\"dateModified\":\"2024-04-30T15:22:29+00:00\",\"description\":\"Conoce paso a paso c\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium. \u00bfTe perdiste mi charla en Selenium Conf 2023? En este art\u00edculo, resumo mi presentaci\u00f3n, con el fin de que aprendas c\u00f3mo reutilizar las pruebas de Selenium y verificar el correcto funcionamiento de un sitio, a\u00fan en momentos de alta demanda.\",\"breadcrumb\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/#breadcrumb\"},\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/es.abstracta.us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#website\",\"url\":\"https:\/\/es.abstracta.us\/blog\/\",\"name\":\"Abstracta\",\"description\":\"Recursos, buenas pr\u00e1cticas, tendencias y rese\u00f1as de herramientas de desarrollo de software, testing e Inteligencia Artificial.\",\"publisher\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/es.abstracta.us\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es-CL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#organization\",\"name\":\"Abstracta\",\"url\":\"https:\/\/es.abstracta.us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png\",\"contentUrl\":\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png\",\"width\":1217,\"height\":300,\"caption\":\"Abstracta\"},\"image\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.instagram.com\/we_are_abstracta\/\",\"https:\/\/www.linkedin.com\/showcase\/abstracta-chile\/\",\"https:\/\/www.youtube.com\/channel\/UCj4dx2LZCRcgM8GzxYEKYeQ\",\"https:\/\/www.facebook.com\/AbstractaChile\/\",\"https:\/\/twitter.com\/AbstractaChile\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/ffd201bac5699303dcbe1c0ffdd78704\",\"name\":\"Roger Abelenda\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b27f46c8de22bb2f058eee53142daf2e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b27f46c8de22bb2f058eee53142daf2e?s=96&d=mm&r=g\",\"caption\":\"Roger Abelenda\"},\"sameAs\":[\"https:\/\/cl.abstracta.us\/\"],\"url\":\"https:\/\/es.abstracta.us\/blog\/author\/roger-abelendaabstracta-com-uy\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium? - Abstracta","description":"Conoce paso a paso c\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium. \u00bfTe perdiste mi charla en Selenium Conf 2023? En este art\u00edculo, resumo mi presentaci\u00f3n, con el fin de que aprendas c\u00f3mo reutilizar las pruebas de Selenium y verificar el correcto funcionamiento de un sitio, a\u00fan en momentos de alta demanda.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium? - Abstracta","og_description":"Conoce paso a paso c\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium. \u00bfTe perdiste mi charla en Selenium Conf 2023? En este art\u00edculo, resumo mi presentaci\u00f3n, con el fin de que aprendas c\u00f3mo reutilizar las pruebas de Selenium y verificar el correcto funcionamiento de un sitio, a\u00fan en momentos de alta demanda.","og_url":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/","og_site_name":"Blog de Desarrollo de Software, Testing e Inteligencia Artificial | Abstracta","article_publisher":"https:\/\/www.facebook.com\/AbstractaChile\/","article_published_time":"2023-04-25T14:25:00+00:00","article_modified_time":"2024-04-30T15:22:29+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2023\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium-2.png","type":"image\/png"}],"author":"Roger Abelenda","twitter_card":"summary_large_image","twitter_creator":"@AbstractaChile","twitter_site":"@AbstractaChile","twitter_misc":{"Written by":"Roger Abelenda","Est. reading time":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/#article","isPartOf":{"@id":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/"},"author":{"name":"Roger Abelenda","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/ffd201bac5699303dcbe1c0ffdd78704"},"headline":"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium?","datePublished":"2023-04-25T14:25:00+00:00","dateModified":"2024-04-30T15:22:29+00:00","mainEntityOfPage":{"@id":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/"},"wordCount":1486,"commentCount":0,"publisher":{"@id":"https:\/\/es.abstracta.us\/blog\/#organization"},"keywords":["Automatizaci\u00f3n de Pruebas","JMeter DSL","Performance Testing","Tecnolog\u00eda"],"articleSection":["Pruebas de Performance"],"inLanguage":"es-CL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/","url":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/","name":"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium? - Abstracta","isPartOf":{"@id":"https:\/\/es.abstracta.us\/blog\/#website"},"datePublished":"2023-04-25T14:25:00+00:00","dateModified":"2024-04-30T15:22:29+00:00","description":"Conoce paso a paso c\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium. \u00bfTe perdiste mi charla en Selenium Conf 2023? En este art\u00edculo, resumo mi presentaci\u00f3n, con el fin de que aprendas c\u00f3mo reutilizar las pruebas de Selenium y verificar el correcto funcionamiento de un sitio, a\u00fan en momentos de alta demanda.","breadcrumb":{"@id":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/#breadcrumb"},"inLanguage":"es-CL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/es.abstracta.us\/blog\/pruebas-performance-jmeter-dsl-scripts-selenium\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/es.abstracta.us\/blog\/"},{"@type":"ListItem","position":2,"name":"\u00bfC\u00f3mo crear pruebas de performance con JMeter DSL a partir de scripts de Selenium?"}]},{"@type":"WebSite","@id":"https:\/\/es.abstracta.us\/blog\/#website","url":"https:\/\/es.abstracta.us\/blog\/","name":"Abstracta","description":"Recursos, buenas pr\u00e1cticas, tendencias y rese\u00f1as de herramientas de desarrollo de software, testing e Inteligencia Artificial.","publisher":{"@id":"https:\/\/es.abstracta.us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/es.abstracta.us\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es-CL"},{"@type":"Organization","@id":"https:\/\/es.abstracta.us\/blog\/#organization","name":"Abstracta","url":"https:\/\/es.abstracta.us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png","contentUrl":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png","width":1217,"height":300,"caption":"Abstracta"},"image":{"@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/we_are_abstracta\/","https:\/\/www.linkedin.com\/showcase\/abstracta-chile\/","https:\/\/www.youtube.com\/channel\/UCj4dx2LZCRcgM8GzxYEKYeQ","https:\/\/www.facebook.com\/AbstractaChile\/","https:\/\/twitter.com\/AbstractaChile"]},{"@type":"Person","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/ffd201bac5699303dcbe1c0ffdd78704","name":"Roger Abelenda","image":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b27f46c8de22bb2f058eee53142daf2e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b27f46c8de22bb2f058eee53142daf2e?s=96&d=mm&r=g","caption":"Roger Abelenda"},"sameAs":["https:\/\/cl.abstracta.us\/"],"url":"https:\/\/es.abstracta.us\/blog\/author\/roger-abelendaabstracta-com-uy\/"}]}},"jetpack_featured_media_url":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2023\/04\/crear-pruebas-performance-jmeter-dsl-scripts-selenium-2.png","_links":{"self":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/17672"}],"collection":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/comments?post=17672"}],"version-history":[{"count":6,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/17672\/revisions"}],"predecessor-version":[{"id":17733,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/17672\/revisions\/17733"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/media\/17682"}],"wp:attachment":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/media?parent=17672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/categories?post=17672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/tags?post=17672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}