他にも同じ問題がありますが、解決策はありませんでした。 私はエラーにng:getTestabilityの要素引数にインジェクタがないことをテストしました
Message:
Failed: Error while waiting for Protractor to sync with the page: "[ng:test] no injector found for element argument to getTestability\nhttp://errors.angularjs.org/1.5.0/ng/test"
Stack:
Error: Failed: Error while waiting for Protractor to sync with the page: "[ng:test] no injector found for element argument to getTestability\nhttp://errors.angularjs.org/1.5.0/ng/test"
at C:\Users\ShapeR\PycharmProjects\ratest\node_modules\jasminewd2\index.js:101:16
at Promise.invokeCallback_ (C:\Users\ShapeR\PycharmProjects\ratest\node_modules\selenium-webdriver\lib\promise.js:1329:14)
at TaskQueue.execute_ (C:\Users\ShapeR\PycharmProjects\ratest\node_modules\selenium-webdriver\lib\promise.js:2790:14)
at TaskQueue.executeNext_ (C:\Users\ShapeR\PycharmProjects\ratest\node_modules\selenium-webdriver\lib\promise.js:2773:21)
1 spec, 1 failure
を取得私のテストイムを実行しようとすると、ここに私のspec.js
describe('Protractor Demo App', function() {
it('should have a title', function() {
browser.driver.get('http://rent-front-static.s3-website-us-east-1.amazonaws.com/');
expect(browser.getTitle()).toEqual('How It Works');
});
});
そして、ここで私のconf.js
exports.config = {
framework: 'jasmine',
rootElement: 'body',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['spec.js']
}
は、だから私は手動ブートストラップを持っていますbody要素に対してはrootElementをbodyに設定しますが、それは助けになりませんでした。私は手作業によるboostrapingを削除しようとしても、body要素にng-app = 'rentapplicationApp'を追加するだけでしたが、それは何も変わらず、同じエラーです。
何が問題なのですか?
「手動でブートストラップされた」アプリは分度器と同期するのがまだ難しいと思います。あなたは 'browser.ignoreSynchronization = true'でシンクをオフにしても大丈夫でしょうか? – alecxe
また、 '$ timeout'をどこでも' $ interval'に置き換えてみてください。その後、 'body'で定義された' ng-app'を使って定期的にアプリケーションをブートストラップします。まだ同じ問題? – alecxe
@alecxeうん、私は手動ブートストラップをng-appに置き換えて、何も変えないと言った。 $ timeoutを$ intervalに置き換えると、何も変更されません。 ignoreSynchronization = trueこのシンプルなテストの仕事をしてください、しかし私は本当にその解決策を考えていません。なぜなら、私がhttp://www.protractortest.org/#/timeoutsで読んだのは角度のないページに使われていたからです。どちらかと一緒に働かないでください。 – Aldarund