特定のxpathに特定のテキストが含まれていることがわかっているページがあります。 Firefoxでは、次のコードを使用してテキストが存在することをアサートします。
assertEquals("specific text", driver.findElement(By.xpath("xpath)).getText());
ステップ2をフォームでアサートし、特定の添付ファイルがフォームに追加されたことを確認しています。ただし、Chromeで同じコードを使用すると、表示される出力は異なりますが、特定のテキストが含まれています。次のエラーが発生します。
org.junit.ComparisonFailure: expected:<[]specific text> but was:<[C:\fakepath\]specific text>
何かが真実であると主張する代わりに(まさに私が探しているもの)、次のようなものを書きたいと思います:
assert**Contains**("specific text", driver.findElement(By.xpath("xpath)).getText());
上記のコードは明らかに機能しませんが、これを行う方法を見つけることができません。
Eclipse、Selenium WebDriverおよびJavaの使用
使用する:
String actualString = driver.findElement(By.xpath("xpath")).getText();
assertTrue(actualString.contains("specific text"));
assertEquals
を使用して、次のアプローチを使用することもできます。
String s = "PREFIXspecific text";
assertEquals("specific text", s.substring(s.length()-"specific text".length()));
文字列から不要なプレフィックスを無視します。
AssertEqualsとassertTrueの2つのメソッドを使用できます。使い方はこちら
String actualString = driver.findElement(By.xpath("xpath")).getText();
String expectedString = "ExpectedString";
assertTrue(actualString.contains(expectedString));
このコードを使用することもできます:
String actualString = driver.findElement(By.xpath("xpath")).getText();
Assert.assertTrue(actualString.contains("specific text"));