Fallo del predicado de Serenity en Java
Estoy desarrollando algunas pruebas automatizadas con Java 11.0.11 sobre Serenity+Cucumber+Gherkin en el patrón ScreenPlay.
Ya he realizado más de una docena de pasos de definiciones que actualmente están funcionando sin errores, pero este:
//SomeStepDefinitions.java:
String bar = "mi Cadena";
lanza un error arbitrariamente
PRUEBA FALLIDA
17:04:45.023 [Test worker] DEBUG - ISSUES RELACIONADAS:
17:04:45.087 [Test worker] ERROR - La prueba falló en el paso: Then do something step definitions$$ lambda$796/0x00000001006ce840 debería ser Predicates.equalTo(mi Cadena)
17:04:45.087 [Test worker] ERROR - el predicado ha fallado
el predicado ha fallado
java.lang.AssertionError: el predicado ha fallado
at net.serenitybdd.screenplay.ErrorTally.throwSummaryExceptionFrom(ErrorTally.java:38)
at net.serenitybdd.screenplay.ErrorTally.reportAnyErrors(ErrorTally.java:32)
at net.serenitybdd.screenplay.Actor.should(Actor.java:322)
at stepdefinitions.Folder1.Folder2.SomeStepDefinitions.Foo(SomeStepDefinitions.java:105)
¿Alguna idea?
davy.ai
El mensaje de error indica que el predicado utilizado en la afirmación ha fallado. El predicado está definido como
equalTo(bar)
, dondebar
es una variable de tipoString
.Es posible que el problema esté relacionado con el escape de las comillas dobles en la
String
asignada abar
. En lugar de usar"
, puede ser mejor utilizar las comillas dobles directamente.Otra posibilidad es que el valor de
XPATH_TARGET1.resolveFor(theActorInTheSpotlight).getText()
no coincida con el valor debar
. Asegúrese de que el valor esperado debar
sea correcto y de que el elemento apuntado porXPATH_TARGET1
contenga el texto esperado.También puede ser útil agregar alguna declaración de depuración al código para ver cuáles son los valores reales de las variables en tiempo de ejecución. Esto puede ayudar a identificar cualquier problema con los valores de las variables o con la propia afirmación.