Saltar al contenido principal
Foro

Adherencia y Conocimiento

Paquete interactions

Paquete interactions

de Jonathan Alexander Morcillo Ramos - Número de respuestas: 3

Hola buenas tardes

Es posible que puedan proporcionar el código de la clase WaitElement del paquete interactions, esto dado a que Mauricio realiza un pequeño resumen, pero no muestra como construyo el paquete y el contenido de la clase para demostrar el manejo de los tiempos explícitos e implícitos. ¡De antemano muchas gracias!

En respuesta a Jonathan Alexander Morcillo Ramos

Re: Paquete interactions

de Administrador Juan Pablo Herrera Torres -
Hola Jonathan,

Agradezco tu interés en obtener el código de la clase WaitElement del paquete interactions.
A continuación, encontrarás el código completo de la clase:

import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Interaction;
import net.serenitybdd.screenplay.Task;
import net.serenitybdd.screenplay.Tasks;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.serenitybdd.screenplay.targets.Target;
import net.thucydides.core.annotations.Step;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.awt.*;
import java.awt.event.KeyEvent;
public class WaitElement implements Interaction {
private Target target;
private String state;
public WaitElement(Target target, String state) {
this.target = target;
this.state = state;
}
@Override
@Step("{0} waits the #target until be #state")
public void performAs(T actor) {
switch (state){
case "Visible":
waitAs(actor).until(ExpectedConditions.visibilityOf(target.resolveFor(actor)));
break;
case "Invisible":
waitAs(actor).until(ExpectedConditions.invisibilityOf(target.resolveFor(actor)));
break;
case "Enabled":
waitAs(actor).until(ExpectedConditions.elementToBeClickable(target.resolveFor(actor)));
}
}
private WebDriverWait waitAs(Actor actor)
{ return new WebDriverWait(BrowseTheWeb.as(actor).getDriver(),180);}
public static WaitElement untilAppears(Target target){
return Tasks.instrumented(WaitElement.class,target,"Visible");
}
public static WaitElement untilDisappears(Target target){
return Tasks.instrumented(WaitElement.class,target,"Invisible");
}
public static WaitElement untilBeEnable(Target target){
return Tasks.instrumented(WaitElement.class,target,"Enabled");
}
}

// Si tienes alguna pregunta específica o necesitas más ayuda, no dudes en preguntar. Estoy aquí para ayudarte.
En respuesta a Administrador Juan Pablo Herrera Torres

Re: Paquete interactions

de Jonathan Alexander Morcillo Ramos -
Hola buenas tardes

Perfecto, muchas gracias por su rápida ayuda.