0

Xebiumテスト中に入力フィールドに入力しようとすると、次のエラーが発生しました。

Element belongs to a different frme than the current one - switch to its containing frame to use it

そこで、selectFrameコマンドを使用してみました。

| do | selectFrame | on | id=iframe0 |

エラーが発生しました:

Unable to locate frame: id=iframe0

私のテストはSeleniumIDE(selectFrameコマンドの有無にかかわらず)でエラーなしで実行されます。Xebiumを改善せずに、さまざまなロケーターを使用してみました。私は何か間違ったことをしていますか?これはXebiumの問題ですか?データを入力するための正しいフレームに到達するために、他にどのような方法を使用できますか?

4

2 に答える 2

0

同様の問題がありました。

テストでselectFrameを初めて使用したときは機能しましたが、別のフレームに切り替える必要があるときに失敗しました。
Selenium IDE でテストを記録し、IDE での再生は正常に機能しましたが、Xebium フォーマッターを使用して Xebium から同じテストを再生すると失敗しました。

Xebiumフォーマッターは私にこれを与えました:

| do | selectFrame | on | tabs |
| ensure | do | click | on | link=Form |
| do | selectFrame | on | relative=up |
| do | selectFrame | on | menu |

したがって、フレーム「タブ」のselectFrameは機能しましたが、「メニュー」のselectFrameは機能しませんでした。

お気づきのように、2 つの間には、relative=up の selectFrame があります。この行は、実際には「出力キャプチャ」ページでテストが例外を取得した場所であり、テストページ自体では、2 つの selectFrame コマンドがスキップされたように見えました。

別のフレームを選択する前に、webdriver はデフォルトのフレームに戻る必要があるようです。これが、relative=up が存在する理由です。

次に、コマンドを次のように変更しました。

| do | selectFrame | on | relative=top |

そして、すべてが魅力のように機能しました。relative=up は正しく機能していないようですが、relative=top は機能します (とにかく私にとっては)。これがあなたにとってもうまくいくことを願っています。

于 2013-08-16T13:29:53.580 に答える
0

同様の問題がありましたが、WebDriver の代わりに Selenium RC を使用してテストを実行すると機能することがわかりました。

問題はゼビウム自体ではないと思います。Selenium->WebDriver 互換モードを使用する場合は、selectFrame() メソッドの問題です。

いずれにせよ、独自の WebDriver-Server インスタンス (Selenium RC が含まれています) を起動し、Xebium テストをそれを指すように設定すると、iFrame を使用しても機能するはずです。

于 2012-06-14T21:22:02.287 に答える