15

Web アルバム アプリケーション用の一連の Selenium テストを作成しています。画像が実際に表示されるかどうか (有効な画像データが含まれているかどうか) をテストしたいと思います。そのようなことは可能ですか?

4

4 に答える 4

25

画像の src は期待どおりですが、画像がページに表示されないという同様の状況に直面しました。

JavaScriptExcecutor を使用して、画像が表示されているかどうかを確認できます。

次のコードを使用します - WebElement (画像) を渡します -

 Object result = ((JavascriptExecutor) driver).executeScript(
   "return arguments[0].complete && "+
   "typeof arguments[0].naturalWidth != \"undefined\" && "+
   "arguments[0].naturalWidth > 0", image);

    boolean loaded = false;
    if (result instanceof Boolean) {
      loaded = (Boolean) result;
      System.out.println(loaded);
    }

これを行うことで、画像が実際に Web ページに読み込まれたかどうかを確認できます。

于 2012-05-03T11:01:46.050 に答える
2

Java を使用している場合、selenium にはそのevalような名前のメソッドがあります。JavaScript 文字列を指定すると、結果が文字列として返されます。たとえば、これを (1 行で) 試すことができます。

var req = new XMLHttpRequest();
req.open('get', document.getElementById('imageid').src, false);
req.send(null);
req.status==200

これは、ステータス 200 の場合は「true」を返し、それ以外の場合は「false」を返します。

于 2010-11-06T12:21:31.563 に答える
1

TestPlanフロントエンドを Selenium に使用する場合は、いくつかのオプションがあります。画像の URL を取得したら、この URL を取得して、返されたヘッダーを調べることができます。手動で検査したい場合は、データをファイルに保存することもできます。または、Java でバリデーターを記述して、そのデータを取得し、実際にデコードされるかどうかを確認することもできます。

試してみたい場合は、サンプル スクリプトを作成します。必要に応じて、簡単な画像検証機能を実行することもできます。

于 2010-11-02T10:03:52.037 に答える