2012-04-23 5 views
0

私はWebアプリケーションにAngularJSを使用しています。チュートリアルに基づいて、e2eルーティングシナリオのテストを行うには、browser()。navigateTo( '../../ app/index.html')のようなものを実行する必要があります。しかし、私はメインビューとしてcshtmlを使用していますが、これは直接サーバーのブラウジングからブロックされています。だから私はbrowser()のようなことはできません。navigateTo( '../../ app/index.cshtml')。AngularJSのシナリオテスト

ブラウザで特定のファイルではなくアプリケーションルートに移動します。私はbrowser()のようなことをします。navigateTo( '../../')。しかし、私はエラー "TypeError:未定義のメソッド '$ブラウザ'を呼び出すことはできません。私はindex.cshtmlの "ng-app"が含まれていないためだと思います。これを解決する簡単な方法はありますか?

答えて

3

任意のURLにナビゲートできますが、同じドメインポリシー(シナリオランナーはiframe内のアプリにアクセスする必要があります)のため、同じドメインに存在する必要があります。

これはプロキシによって回避できます。 また、アプリケーションサーバーによってシナリオランナー(runner.html)にサービスを提供している可能性もあります。

シナリオランナーが$ injectorを見つけることができるように、ng-appが必要なので、手動ブートストラップを行ってもng-app属性をアプリケーションのルート要素に配置します。

0

テストランナーをメインテストサイトの仮想ディレクトリに置くことが考えられます。