En El atardecer de los dioses

lunes, 22 de abril de 2019

HACER CLICK

Podemos hacer :

1. driver.findelement(elemento).click

2. simulando acción doble click:

          Actions action = new Actions(driver);
          WebElement element=driver.findElement(Elmento);

          action.doubleClick(element).perform();

3. Con la funcion Js que lleva implicita el botón:

JavascriptExecutor  js = (JavascriptExecutor ) driver;
js.executeScript("FuncionJavaScript;return false");

La función javaScript la podemos sacar viendo el código con f12

CAMBIO DE VENTANA

Si durante la ejecución del test, este cambia de ventana pq se abre un popup y pierde ee foco o porque se abre una nueva ventana para mostrar algo:

Opcion 1
String oldTab = driver.getWindowHandle();
  ArrayList newTab = new ArrayList(driver.getWindowHandles());
  newTab.remove(oldTab);
    // change focus to new tab
  driver.switchTo().window(newTab.get(0));
  //Acciones a realizar
  Alert alert = driver.switchTo().alert();

  alert.dismiss();
driver.switchTo().window(oldTab);

Opcion2

String Parent_Window = driver.getWindowHandle(); 

 for (String Child_Window : driver.getWindowHandles()) 
     { 
    driver.switchTo().window(Child_Window); 
    driver.switchTo().frame("el-modal-asset");
   unidad.abrirElementoExterno();
   driver.switchTo().window(Parent_Window);
   unidad.cerrarPopUpAudio();
     }


3opcion.: Este es caso de que haya varios frames en la pantalla.

driver.switchTo().frame(0);
Accion1
Accion2
driver.switchTo().defaultContent();
Mi proyecyo lo tengo ahora mismo desarrollado con Page Object y testNG, mavenizado, ¿como hacemos para conectarlo con Jenkins?


0. Nos creamos un proyecto de ejecución en jenkins: Página principal de Jenkins/new item



  1. Le daremos nombre : Proyectoprueba
  2. Seleccionamos:Maven project  
  3. Si tenemos las pruebas para ejecutarlas en varios entornos, creamos parámetros, seleccionando el check (This build parameterized),:
    •  Name: damos nombre a la variable 
    • Choice: Introducimos todos los valores posibles de la variable 
    • Descripcion: Para lo que va a ser la variable. 
       
  4.  Restrict where this project can be run: Si tenemos alguna restriccion de ejecucion, por ejemplo en mi caso las pruebas se ejecutan siempre las pruebas en linux, asi que el valor sera LINUX. 

    5. Seleccionaremos que origen tiene el codigo de nuestro proyecto, es decir svn, git,... y le indicamos la url donde encontrarlo.

    6.Branches to build, La rama que queremos ejecutar durante las pruebas

    7. Sección BUILD:
    • Update build name  Build name template: Testing ${TEST_ENV}*  TEST_EV: nombre de mi variable
        8. Test execution: Invoje top-level Maven targets: indicaremos:
  • version de maven  Maven 3.3.9
  • El goal a ejecuta install -P $(TEST_ENV)
       9.  Result Seeking Strategies:  INclude pattern  ruta donde vamos a dejar las capturas y resultado de los test.

Seleccionar elementos de un combobox

Podemos acceder de varias formas a los elementos de un combo:

Si tenemos una estructura similar a esta en html



--------------------------------------


---------------------------------------------------

------------------------


1. Select tipoElemento = new Select(driver.findElement(popUpProducto));
tipoElemento.selectByValue("CRD");


2. Select tipoElemento = new Select(driver.findElement(popUpProducto));
tipoElemento.selectById(1);

3. Select tipoElemento = new Select(driver.findElement(popUpProducto));
tipoElemento.selectByText("Cuaderno");

4.
WebElement select = driver.findElement(By.id("productos"));
List options = select.findElements(By.tagName("value"));

for (WebElement option : value) {

if("Cuaderno".equals(option.getText().trim()))

 option.click(); 
}