Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 5 additions & 10 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,11 @@ ext {
}

dependencies {
implementation "net.serenity-bdd:serenity-screenplay-webdriver:${serenityCoreVersion}",
"ch.qos.logback:logback-classic:${logbackVersion}"

testImplementation "net.serenity-bdd:serenity-core:${serenityCoreVersion}",
"net.serenity-bdd:serenity-junit:${serenityCoreVersion}",
"net.serenity-bdd:serenity-screenplay:${serenityCoreVersion}",
"net.serenity-bdd:serenity-ensure:${serenityCoreVersion}",
"net.serenity-bdd:serenity-cucumber:${serenityCoreVersion}",
"junit:junit:${junitVersion}",
"org.assertj:assertj-core:${assertJVersion}"
implementation group: 'net.serenity-bdd', name: 'serenity-core', version: '2.0.84'
implementation group: 'net.serenity-bdd', name: 'serenity-junit', version: '2.0.84'
implementation group: 'net.serenity-bdd', name: 'serenity-cucumber', version: '1.9.39'
implementation group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
implementation group: 'net.serenity-bdd', name: 'serenity-screenplay', version: '2.0.84'
}

gradle.startParameter.continueOnFailure = true
Expand Down
Binary file added chromedriver.exe
Binary file not shown.
3 changes: 2 additions & 1 deletion serenity.properties
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
chrome.switches=--no-first-run,--start-maximized,--homepage=about:blank
webdriver.driver= chrome
chrome.switches=--start-maximized--incognito
15 changes: 15 additions & 0 deletions src/main/java/net/onlinenotepad/questions/QEscenario1.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package net.onlinenotepad.questions;

import net.onlinenotepad.userinterface.Notepad;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Question;
import net.serenitybdd.screenplay.questions.Text;

public class QEscenario1 implements Question<String> {

@Override
public String answeredBy(Actor actor) {
return Text.of(Notepad.SEARCH).viewedBy(actor).asString();
}
public static QEscenario1 in(){return new QEscenario1();}
}
4 changes: 4 additions & 0 deletions src/main/java/net/onlinenotepad/questions/QEscenario2.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package net.onlinenotepad.questions;

public class QEscenario2 {
}
25 changes: 25 additions & 0 deletions src/main/java/net/onlinenotepad/tasks/Escenario1.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package net.onlinenotepad.tasks;

import net.onlinenotepad.userinterface.Notepad;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Task;
import net.serenitybdd.screenplay.actions.Click;
import net.serenitybdd.screenplay.actions.Enter;


public class Escenario1 implements Task {
@Override
public <T extends Actor> void performAs(T actor) {
actor.attemptsTo(
Click.on(Notepad.BUTTONJOIN),

Click.on(Notepad.TEXT),
Enter.theValue("PPrueba").into(Notepad.TEXT)


);

}

public static Escenario1 on(){return new Escenario1();}
}
43 changes: 43 additions & 0 deletions src/main/java/net/onlinenotepad/tasks/Escenario2.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package net.onlinenotepad.tasks;

import net.onlinenotepad.userinterface.Notepad;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Task;
import net.serenitybdd.screenplay.actions.Click;
import net.serenitybdd.screenplay.actions.Enter;

public class Escenario2 implements Task {

@Override
public <T extends Actor> void performAs(T actor) {
actor.attemptsTo(
Click.on(Notepad.OPTIONLIST),
Click.on(Notepad.LIST),
Enter.theValue("Prueba").into(Notepad.LIST),
Click.on(Notepad.ADDLIST),
Click.on(Notepad.LIST),
Enter.theValue("Hola").into(Notepad.LIST),
Click.on(Notepad.ADDLIST),
Click.on(Notepad.LIST),
Enter.theValue("2Prueba").into(Notepad.LIST),
Click.on(Notepad.ADDLIST),
Click.on(Notepad.LIST),
Enter.theValue("2Hola").into(Notepad.LIST),
Click.on(Notepad.ADDLIST),
Click.on(Notepad.LIST),
Enter.theValue("3Prueba").into(Notepad.LIST),
Click.on(Notepad.ADDLIST),
Click.on(Notepad.LIST),
Enter.theValue("Prueba").into(Notepad.LIST),
Click.on(Notepad.ADDLIST),
Click.on(Notepad.DELETE),
Click.on(Notepad.DELETE),
Click.on(Notepad.DELETE),
Click.on(Notepad.DELETE)



);
}
public static Escenario2 on(){return new Escenario2();}
}
15 changes: 15 additions & 0 deletions src/main/java/net/onlinenotepad/userinterface/Notepad.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package net.onlinenotepad.userinterface;

import net.serenitybdd.screenplay.targets.Target;

public class Notepad {
public static final Target BUTTONJOIN = Target.the("TextoEnrriquecido").locatedBy("//div[@id=\"v-pills-tab\"]/button[@id='richtextnote-tab']");
public static final Target BUTTONNEGRITA = Target.the("TextoEnrriquecido").locatedBy("(//button[@class=\"ck ck-button ck-on\"])[1]");
public static final Target TEXT = Target.the("Texto").locatedBy("//div[@id=\"editor\"]");
public static final Target LIST = Target.the("Texto").locatedBy("//input[@id=\"my-list\"]");
public static final Target ADDLIST = Target.the("Texto").locatedBy("//button[@id=\"addnewlist\"]");
public static final Target OPTIONLIST = Target.the("Texto").locatedBy("(//button[@id=\"tasklist-tab\"])[1]");

public static final Target DELETE = Target.the("Texto").locatedBy("//img[@class=\"me-2 remove_list_item\"]");
public static final Target SEARCH = Target.the("Prueba").locatedBy("//span[@style=\"width:95%;word-break:break-word\"]");
}
7 changes: 5 additions & 2 deletions src/test/java/net/onlinenotepad/runners/notepad_runner.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package net.onlinenotepad.runners;

import io.cucumber.junit.CucumberOptions;
import cucumber.api.CucumberOptions;

import cucumber.api.SnippetType;
import net.serenitybdd.cucumber.CucumberWithSerenity;
import org.junit.runner.RunWith;

@RunWith(CucumberWithSerenity.class)
@CucumberOptions(
features = "src/test/resources/features/my-devco-feature.feature",
glue = "net.onlinenotepad.stepdefinitions",
snippets = CucumberOptions.SnippetType.CAMELCASE
snippets = SnippetType.CAMELCASE,
tags = "@Escenario2"
)
public class notepad_runner {
}
42 changes: 40 additions & 2 deletions src/test/java/net/onlinenotepad/stepdefinitions/stepDefs.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,52 @@
package net.onlinenotepad.stepdefinitions;

import io.cucumber.java.Before;
import cucumber.api.java.Before;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import net.onlinenotepad.questions.QEscenario1;
import net.onlinenotepad.tasks.Escenario1;
import net.onlinenotepad.tasks.Escenario2;
import net.serenitybdd.screenplay.GivenWhenThen;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.serenitybdd.screenplay.actions.Open;
import net.serenitybdd.screenplay.actors.Cast;
import net.serenitybdd.screenplay.actors.OnStage;
import net.serenitybdd.screenplay.actors.OnlineCast;
import net.thucydides.core.annotations.Managed;
import org.hamcrest.Matchers;
import org.openqa.selenium.WebDriver;


public class stepDefs {

@Managed
private WebDriver myDirver;
@Before
public void prepareStage() {
OnStage.setTheStage(new OnlineCast());
OnStage.setTheStage(Cast.ofStandardActors());
OnStage.theActorCalled("Esteban");
OnStage.theActorInTheSpotlight().can(BrowseTheWeb.with(myDirver));
}


@Given("el usuario inicia la pagina")
public void elUsuarioIniciaLaPagina() {
OnStage.theActorInTheSpotlight().attemptsTo(Open.url("https://www.online-notepad.net/es/bloc-de-notas-online"));
}
@When("el usuario selecciona la opcion de nota enriquecida y ingresa el texto Prueba")
public void elUsuarioSeleccionaLaOpcionDeNotaEnriquecidaYIngresaElTextoPrueba() {
OnStage.theActorInTheSpotlight().wasAbleTo(Escenario1.on());
}
@Then("el usuario deberia visualizar (.*)")
public void elUsuarioDeberiaVisualizarPrueba(String Location) {
OnStage.theActorInTheSpotlight().should(GivenWhenThen.seeThat(QEscenario1.in(), Matchers.containsString(Location)));

}
@When("^el usuario selecciona la opcion de lista y agrega (\\d+) notas$")
public void elUsuarioSeleccionaLaOpcionDeListaYAgregaNotas(int arg1) {
OnStage.theActorInTheSpotlight().wasAbleTo(Escenario2.on());
}


}
14 changes: 14 additions & 0 deletions src/test/resources/features/my-devco-feature.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Feature: Prueba devco

@Escenario1
Scenario: Nota enriquecida con negrilla
Given el usuario inicia la pagina
When el usuario selecciona la opcion de nota enriquecida y ingresa el texto Prueba
Then el usuario deberia visualizar Prueba


@Escenario2
Scenario: Lista eliminar
Given el usuario inicia la pagina
When el usuario selecciona la opcion de lista y agrega 6 notas
Then el usuario deberia visualizar Prueba
Binary file modified src/test/resources/webdriver/chromedriver
100755 → 100644
Binary file not shown.