Warum ist meine Assert fehlgeschlagen - erwartet 'x' aber gefunden 'x'?Warum ist meine Assert fehlgeschlagen - erwartet 'x' aber gefunden 'x'?
Meine Datentabelle:
Examples:
| url | username | password |message|
| http://www.example.com | user1 | pass1 |validation failed|
| http://www.example.com | webdriver | webdriver123 |validation succeeded|
Mein Code, der die Behauptung verwendet:
@Then("^the user should be presented with the following prompt alert \"([^\"]*)\"$")
public void the_user_should_be_presented_with_the_following_prompt_alert(String message) throws Throwable {
Alert alert = driver.switchTo().alert();
System.out.println("DEVIL:" + alert.getText());
Assert.assertSame(message.toLowerCase().replaceAll("\\s",""), alert.getText().toString().toLowerCase().replaceAll("\\s",""));
driver.switchTo().alert().accept();
}
Fehler:
java.lang.AssertionError: expected same:<validationsucceeded> was not:<validationsucceeded>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotSame(Assert.java:828)
at org.junit.Assert.assertSame(Assert.java:771)
at org.junit.Assert.assertSame(Assert.java:782)
'assertSame' vergleicht Identität statt Wert. Wird das Problem durch 'assertEquals' behoben? – jsheeran
@jsheeran ich fürchte, es ist der gesunde Fall: [ – xGIx
[mcve] wäre nützlich. Ich wette, wenn Sie anfangen, Dinge wie Selen und Gurke zu entfernen, um sie in einen Einheitstest umzuwandeln, werden Sie leicht erkennen, wo das Problem liegt. –