Sendkeys en Selenium

Sendkeys en Selenium
Este artículo se centra en el método sendKeys () en Selenium. Se utiliza para enviar los datos al navegador e interactuar con el campo de entrada del sitio web para realizar una prueba de automatización. En este artículo, se implementa un ejemplo de formulario de inicio de sesión automatizado que recibe los datos a través del método sendKeys (). Para hacer esto, realizamos varios pasos muy importantes y necesarios en Java JDK y Eclipse utilizando el código de marco de Selenium para la ejecución del programa. Antes de escribir el script, tendemos a instalar Java JDK y Eclipse, agregue las bibliotecas de frascos de selenio y los frascos de prueba, y configuramos las dependencias junto con los controladores del navegador.

SendKeys en Selenium WebDriver

Cuando trabajamos con el control de la prueba de automatización a través de frascos de selenio, no solo somos capaces de recuperar los datos de los elementos web, sino también capaces de enviar los datos a los elementos web. SendKeys () es el método en Selenium para enviar los datos como int, char y símbolos al campo de entrada. Los elementos actuales en la página web que se utilizan para identificar los elementos para recibir los datos se denominan localizadores como ID de elemento, nombre, nombre de clase, etc. Los Selenium WebDrivers se utilizan para interactuar entre las bibliotecas de Selenium y los navegadores.

Hay dos pasos sencillos en el método sendKeys () para enviar los datos al navegador:

  1. El primer paso es el uso de localizadores para identificar los campos de entrada particulares, como el cuadro de búsqueda, la dirección de correo electrónico, el nombre de usuario, la contraseña, etc.
  2. El segundo paso es el método sendkeys ().

Cómo pasar el método Selenium SendKeys al formulario

En este tutorial, utilizamos el formulario de inicio de sesión del sitio web "SwagLabs". Use el método sendkeys () para pasar el valor a los campos de entrada "nombre de usuario" y "contraseña" y haga clic automáticamente en el botón de inicio de sesión.

Discutamos el proceso paso a paso para ejecutar el código para el formulario de inicio de sesión.

Paso 1: Sitio web que se utilizará

Considere, para ilustración, una página de cuenta de usuario de inicio de sesión ubicada en https: // www.Saucedemo.com/.

En la cifra anterior se muestra un formulario de inicio de sesión con los campos "Nombre de usuario" y "Contraseña".

Ahora, el WebDriver debe reconocerlos para que complete automáticamente los datos en ambos campos. Como se discutió anteriormente, los localizadores también se pueden usar para esto. Una vez que localizamos las piezas necesarias, todo lo que queda por hacer es usar el método sendkeys () para suministrar explícitamente los valores necesarios.

Paso 2: Configurar el webdivermanager

WebDrivermanager funciona como una API en Selenium. Eso permite automatizar la gestión de la compatibilidad de las diversas versiones de Selenium WebDrivers, como ChromedRiver, GetKodriver y Firefox. Ahorra el tiempo al no descargar y agregar las bibliotecas de la última versión de WebDrivers.

Se debe utilizar el siguiente script para configurar el webDrivermanager:

Webdrivermanager.cromedriver ().configuración();

Paso 3: crear una clase pública vacía

En este paso, comenzamos a escribir el código real. Creemos la clase vacía y pasemos el método sendKeys ().

El siguiente script se usa para crear el nombre de la clase SendKey:

clase pública sendkey

Paso 4: Configurar el webdriver

WebDrivers permite que la interacción entre selenio y navegador realice la prueba de automatización web ayudando a enviar y recibir los datos.

En este paso, configuramos el controlador del navegador Chrome a través del siguiente script:

Webdrivermanager.cromedriver ().configuración();
Cromedriver controlador = nuevo ChromedRiver ();

Paso 5: use get () para abrir la página web

En este paso, usamos el método get () para abrir el sitio de URL dado en el navegador Chrome.

Use el siguiente método de script para hacerlo:

conductor.Get ("https: // www.Saucedemo.com/");

Se puede ver en la siguiente figura que Chrome está controlado por el software de prueba automatizado.

Paso 6: Obtenga los campos de entrada

Para obtener los campos, necesitamos los localizadores como nombre, clase e ID. En este ejemplo, se utiliza la ID del localizador, lo que significa encontrar el campo de entrada por ID.

En la siguiente figura, el campo de entrada de nombre de usuario tiene id = nombre de usuario .

En la siguiente figura, el campo de entrada de contraseña tiene id = contraseña .

El método FindElement y por clase se utilizan para facilitar la búsqueda automática de las ID en el sitio web.

El siguiente script se usa para obtener los campos de entrada:

conductor.findelement (por.id ("nombre de usuario")).sendKeys ("Standard_user");
conductor.findelement (por.id ("contraseña")).sendKeys ("Secret_sauce");

De esta manera, puede especificar los elementos para obtener los campos de entrada.

Paso 7: Obtenga el botón de inicio de sesión xpath

Para obtener el campo de botón de inicio de sesión, necesitamos un localizador XPath.

Obtenga el XPath del botón siguiendo los pasos:

> Sitio> Inspeccionar> Haga clic derecho en el código del botón> Seleccione Copiar> Seleccione XPath completo

En este paso, el método FindElement y por clase se utilizan para facilitar automáticamente encontrar automáticamente el XPath en el sitio.

> FindElement (por.Xpath)
> Xpath:/html/body/div/div/div [2]/div [1]/div [1]/div/form/entrada

El siguiente script se usa para obtener el XPath del inicio de sesión:

conductor.findelement (por.xpath ("/html/body/div/div/div [2]/div [1]/div [1]/div/form/input")).hacer clic();

Paso 8: Cierre el navegador

En el paso final, cuando la cuenta de usuario se registre por el valor de valor automatizado de SendKeys, cierre el navegador utilizando el .Función Cerrar ().

Así es como puede usar el método Close ():

conductor.cerca();

Consulte el siguiente código completo y vea la salida:

paquete ui;
Org de importación.abierto.selenio.Por;
Org de importación.abierto.selenio.cromo.Cromedriver;
importar IO.github.bonigarcia.WDM.WebDrivermanager;
clase pública sendkey
public static void main (string [] args)
Webdrivermanager.cromedriver ().configuración();
Cromedriver controlador = nuevo ChromedRiver ();
conductor.Get ("https: // www.Saucedemo.com/");
conductor.findelement (por.id ("nombre de usuario")).sendKeys ("Standard_user");
conductor.findelement (por.id ("contraseña")).sendKeys ("Secret_sauce");
conductor.findelement (por.xpath ("/html/body/div/div/div [2]/div [1]/div [1]/div/form/input")).hacer clic();
conductor.cerca();

En el ejemplo de código anterior, usamos la ID del localizador para encontrar el "nombre de usuario" y la "contraseña" utilizando el by.clase localizada.

Después de ejecutar el código, los colocadores identifican automáticamente los campos de entrada y luego llena automáticamente los valores a esos campos pasando los valores clave a través de sendKeys ().

Después de recibir los valores en los campos de entrada, haga clic en el botón de inicio de sesión recuperando el XPath del botón de inicio de sesión. Finalmente, inicie sesión en el formulario con éxito. El navegador se cierra automáticamente después de que la cuenta de usuario se inicie.

Ahora, comprende cómo pasar el método Selenium SendKeys al formulario. Hablemos sobre una ilustración diferente donde demostramos cómo usar el método sendKeys () en el Selenium WebDriver para cargar un archivo.

Cómo cargar un archivo usando el método sendKeys ()

La técnica más simple para cargar un archivo utilizando Selenium WebDriver es el método SendKeys. Se requieren tres pasos simples para esto:

Paso 1: seleccione un botón de archivo

En el primer paso, necesitamos seleccionar el botón "Elija Archivo". Esto selecciona el archivo que desea cargar. El comando que selecciona un archivo se da en el siguiente:

Webelement uploadMyFile = controlador.findelement (por.id ("ChoosemyFile"));

Aquí, puede ver que hemos tomado la identificación como "Choosemyfile" y esto es para el webelemento.

Paso 2: seleccione su archivo

Ahora, elija el archivo de su computadora que desea cargar. Dar la ubicación del archivo en nuestro sistema. El código para elegir el archivo para cargar se proporciona aquí:

cargandomyelement.sendkeys ("c: \\ myFile1.TXT");

Paso 3: Sube tu archivo

Para cargar con éxito el archivo, ahora debe hacer clic en el botón de carga. Debe ejecutar el código en la línea posterior para lograr esto.

mi conductor.findelement (por.id ("cargarMyFile")).hacer clic();
Proporcionamos el siguiente código completo para su referencia:
Casas de prueba de paquetes;
importar java.IO.Ioexception;
Org de importación.abierto.selenio.Por;
Org de importación.abierto.selenio.Webdriver;
Org de importación.abierto.selenio.Webelemento;
Org de importación.abierto.selenio.cromo.Cromedriver;
Org de importación.prueba.anotaciones.Prueba;
Clase pública SubloadMyFile
@Prueba
public void myFileUploadTest () lanza ioexception
Sistema.setProperty ("WebDriver.cromo.conductor "," C: \\ Work \\ Driver.exe");
Webdriver mydriver = new ChromedRiver ();
mi conductor.Get ("https: // mysite.com ");
Webelement uploadMyFile = controlador.findelement (por.id ("ChoosemyFile"));
carguefil.sendkeys ("c: \\ myFile1.TXT");
mi conductor.findelement (por.id ("cargarMyFile")).hacer clic();

En el código anterior, puede ver que los módulos requeridos se cargan primero. Luego, creamos una clase en la que iniciamos el objeto del controlador. Esto lanza el navegador. Después de eso, seleccionamos el botón "Elegir archivo" y especificamos la ruta del archivo que queremos cargar. Por último, el archivo se carga correctamente cuando hacemos clic en el botón.

Conclusión

Esta guía del artículo ilustra el uso del método sendKeys () utilizando el marco de Selenium para pasar un nombre de usuario y contraseña al formulario de inicio de sesión a través de una herramienta de control automático. Usando el idioma Java, escribimos el código para configurar el controlador del navegador, iniciar el controlador del navegador y pasar las claves a través del localizador, como ID, XPath, e iniciar sesión en la cuenta. Al final, demostramos los resultados en el navegador que muestra que el sendkeys () pasa los valores del campo de entrada a través de IDS. Haga clic en el botón de inicio de sesión automáticamente. Finalmente, cierre el navegador. También explicamos cómo puede cargar un archivo específico usando el método sendkeys (). Este artículo contiene toda la información requerida para ayudarlo a comenzar.