2016-02-23 18 views
17

のためのテスト容易性を見つけることができませんでした私は、分度器3.1.1とAngular2とシンプルなHelloWorldサンプルを実行していますが、この事は要素のためのテスト容易性を見つけることができませんでした私に言って続けています。私は、エラーについてのいくつかの情報をインターネットで探知しましたが、運がない、それは非常に多くのことに直面していない新しい種類の例外のようです。分度器3.1.1 + Angular2は:要素

これは私が使用しているコンポーネントです:

import {Component} from 'angular2/core'; 

@Component({ 
    selector: 'my-app', 
    template: '<h1>My First Angular 2 App</h1>' + 
    '<h2>{{myName}}</h2>' + 
    '<input id="someId" [(ngModel)]="myName"/>' 
}) 
export class AppComponent { 
    myName = 'Joe'; 
} 

これは、分度器の設定ファイルである:

exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: [ 
    'e2e/*.js' 
    ], 
    baseUrl: 'http://localhost:3000' 
}; 

そして、これは私が実行している分度器のシナリオです:

describe('angularjs homepage', function() { 
    it('should say my name', function() { 
     browser.get('/index.html'); 
     var greeting = element(by.id('someId')); 
     expect(greeting.getAttribute('value')).toEqual('Joe'); 
    }); 
}); 

ウェブページはテンプレートHTMLがレンダリングされた状態で正常にロードされますが、結果はウェブページが角度のあるウェブページ、今、それはなぜですか?そして明らかに、結果のWebページを調べると、処理されたAngularコードの結果HTMLだけですが、何か間違っていますか?

これは完全な誤りである:

Error: Failed: Error while waiting for Protractor to sync with the page: "Could not find testability for element." 

分度器チュートリアルは、このデモページ使用して、言うように私は簡単なテストを実行する場合:http://juliemr.github.io/protractor-demo/を、期待どおりに動作しますので、何かが分度器というのが私のAngular2コードを持っています私はすでにアイディアが足りなくなっていますが、何が起きているのか知っていますか?私はそれがAngular2と分度器を使用したいくつかの研究の後

UPDATE 23-02-2016

、設定ファイルに追加の設定行がなければならない:

useAllAngular2AppRoots: true 

ようconfに

exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: [ 
    'e2e/*.js' 
    ], 
    baseUrl: 'http://localhost:3000', 
    useAllAngular2AppRoots: true 
}; 

かを明示的にアプリのルートが含まれています:

0123の.jsは今のようになります。この更新後
rootElement: 'my-app' 

すべての要素by.id()作業OKを見つけるために呼び出しますが、あなたはロケータby.model()またはby.binding()のいずれかを使用するふりをすれば、それは単にメッセージUnknownError: unknown error: angular is not definedで失敗します。理由は分かりません。

+0

同じ問題を使用してテストを実行することができ、私は ')(by.css')(私が使用します 'by.id推測'や一瞬のために... – foch

+1

あなたはちょうど私に多くの面倒なバディを救った! –

+0

も私のためにそれを修正!アップデートを回答として投稿して、他の人がその解決策を簡単に見つけることができるようにする必要があります。 – OJ7

答えて

2

明らかに、コミットにバグがあります。 Check this!

しかし、今のあなたは browser.executeScript('window.name = "NG_ENABLE_DEBUG_INFO!"');

関連する問題