ブラウザによってSeleniumが取得するテキストが違う場合がありました
waitForTableコマンドのJavaへの変換コードは、FireFoxでは実行NGだが、IEではOK、ChromeはNGとなりました
説明の文字表現:□・・・全角スペース []・・・半角スペース \n・・・改行
SeleniumIDEで、
waitForTable (css=form[name="form_rcv"] > table.6.1, 自動で確認する[]1分間隔□[]3分間隔□[]5分間隔□[]10分間隔□[]15分間隔□[]20分間隔)
と指定した場合のJavaへの変換コードは下の通り
for (int second = 0;; second++) {
if (second >= 60) fail("timeout");
try {
if ("自動で確認する 1分間隔 3分間隔 5分間隔 10分間隔 15分間隔 20分間隔".equals(selenium.getTable("css=form[name=\"form_rcv\"] > table.6.1"))) break;
} catch (Exception e) {}
Thread.sleep(1000);
}
実行NGになったのは、スペースコードの違いでした
対処として、
検証対象の語句間が各ブラウザによって以下のように違う為、ブラウザ判定により検証テキストを指定しました。
検証テキストの内容
[FireFox]
自動で確認する\n1分間隔\n3分間隔\n5分間隔\n10分間隔\n15分間隔\n20分間隔
[IE]
自動で確認する[]1分間隔□[]3分間隔□[]5分間隔□[]10分間隔□[]15分間隔□[]20分間隔
[Chrome]
自動で確認する[]\n[][][][][][][]1分間隔□\n[][][][][][][]3分間隔□\n[][][][][][][]5分間隔□\n[][][][][][][]10分間隔□\n[][][][][][][]15分間隔□\n[][][][][][][]20分間隔□
※どの場合でも上の様な文字列になるかは不明です。文字列を取得できるのに、エラーになる場合にスペースコードを調べてみると良いでしょう。
0 件のコメント:
コメントを投稿