分度器バージョン3.3.0を使用して、非角形アプリケーションのe2eテストを作成しています。 私のアプリはiframe内に別の非角型アプリケーションをロードしています。私は、分度器を使ってiframeにテストを書き込もうとしています。分度器:Iframeに非角型アプリケーションをテストする
私は本当のbrowser.driver.ignoreSynchronization =を使用して、上記を試してみました:不明なエラー:
1.
var EC = protractor.ExpectedConditions;
var button = $("div[automation-id='homescreen']")
var isClickable = EC.elementToBeClickable(button);
browser.wait(isClickable, 50000).then(function(){
browser.driver.sleep(500);
button.click();
})
に失敗しましたエラー」を受信要素は、(326、624ポイントでクリック可能ではありません)... "
2.
var loc = by.id('myFrame');
el = browser.driver.findElement(loc)
browser.driver.switchTo().frame(el);
エラーを受信した" 失敗:なしそのような要素:要素が見つかりません:{ "方法": "CSSセレクタ"、 "選択": "* [ID =" MyFrameと "]"}」
もELが正常に取得されたと考え..browser.driver.switchTo().frame(0);
3.インデックス1と試みず、受信した "失敗しました:そのようなフレームを.." エラー
browser.driver.getAllWindowHandles()
1つのウィンドウのみを受信しました...
残念ながら、これは唯一のiframeではありません。browser.driver.getCurrentUrl()でurlをチェックすると、アプリケーションの開始時と同じURLが返されます。 – lital
@lital 'getCurrentUrl()'は同じURLを返しますが、これはあなたが同じページにとどまっているためです。私が提案したコードでエラーが出ない場合は、実際にはiframeのコンテキストに切り替えました。 – alecxe
iFrameに表示されるボタンをクリックできないため、動作しないようです。複数のiframeがある場合、iframeをどのように切り替える必要がありますか? – lital