facebookで角度アプリを自動化しようとしています。私は正常にFacebookにログインすることができますが、iframe内の角ページにナビゲートしようとするたびに、このエラーメッセージ "を蹴飛ばし続けます.Practractorがページと同期するのを待つ間にエラーが発生します:" window.angular is未定義。これは非角ページなので、またはテストでクライアント側のナビゲーションが含まれているために発生する可能性があります。これは、分度器のブートストラップに干渉する可能性があります。「iframeのノンアングルページからアングルページに移動することができません
スペック
それを( 'テスト'、関数(){
browser.driver.ignoreSynchronization = true;
browser.driver.get(URL); //navigating to my facebook page
browser.driver.sleep(500);
//Login to facebook
browser.driver.findElement(by.id('email')).sendKeys(email);
browser.driver.findElement(by.id('pass')).sendKeys(password);
browser.driver.findElement(by.id('login')).click();
browser.driver.sleep(500);
//navigating to angular page withtin iframe
browser.driver.switchTo().frame(0);
browser.waitForAngular();
element(by.model('name')).click();
});
構成
exports.config = {seleniumAddress 'http://127.0.0.1:4444/wd/hub'、 機能:{ 'browserName': 'chrome'、
},
specs: ['test'],
framework: 'jasmine2',
jasmineNodeOpts: {
onComplete: null,
isVerbose: false,
showColors: true,
includeStackTrace: true,
defaultTimeoutInterval: 5000
}
};
分度器バージョン - 3.3.0 NPM - 2.14.12 ノード - 4.2.4 ジャスミン - 2
ログ
10:33:46.248 INFO - 実行:スイッチ 10:33:46.292 INFO - 完了:[フレームへの切り替え:0] 10:33:46.300 INFO - 実行中:[非同期スクリプトを実行する:{return(function(rootSelector、callback){ var el = document.querySelector(rootSelector);
try { if(window.getAngularTestability){ window.getAngularTestability(el).whenStable(callback); リターン; } 場合(!window.angular){ スロー新しいエラー(「これは非角度ページであるため、またはあなたのテストが含まれているため」「+ + 「window.angularが定義されていない。これは、どちらかの可能性が」クライアント - '+ 'のブートストラップに干渉する可能性のあるサイドナビゲーション、詳しくはhttp://git.io/v4gXMを参照してください。 } if(angular.getTestability){ angular.getTestability(el).whenStable(callback); } else { if(!angular.element(el).injector()){ throw new error( 'ルート要素(' + rootSelector + ')にインジェクタがありません。' + ' ng-app。 '); } angle.element(el).injector()。get( '$ browser')。 notifyWhenNoOutstandingRequests(コールバック); } } catch(err){ コールバック(err.message); } })。適用する(これ、議論); }
Htmlの
我々行う