0

こんにちは、このコード行がどのように機能するのか疑問に思っていました (読みやすくするために 2 つに分割されています)。

findElements メソッドが CSS セレクター "h2#main-login" を持つ要素を検索し、それらを配列にロードするというのは正しいですか? size メソッドを使用して、その配列の長さが 0 に等しいかどうかを確認します。

配列のサイズが 0 の場合はどうなるでしょうか。assertFalse で「ログイン ページにリダイレクトしていません」というメッセージが表示されますか?

assertFalse("Not redirecting to login page", 
driver.findElements(By.cssSelector("h2#main-login")).size() == 0);

これを理解するのに役立つあらゆる種類の説明は、非常に高く評価されます。

4

1 に答える 1

2
driver.findElements(By.cssSelector("h2#main-login")).size() == 0

要素が存在するかどうかを確認するための回避策です

!driver.findElements(By.cssSelector("h2#main-login")).isDisplayed()

も可能でしょう..

これが false (true) でない場合、Message

"Not redirecting to login page"

デバッグ上の理由で AssertionException にアタッチされます

より良い:

assertTrue("Not redirecting to login page", 
           driver.findElements(By.cssSelector("h2#main-login")).isDisplayed())
于 2012-09-03T11:38:45.720 に答える