7

私は素晴らしいユニット/ e2eテストツールkarmaを見つけました。 そして、私はangularとシンプルなクロムの拡張子を書いた。私はそれのための自動化されたテストを書くが、ユニットテストだけでなく、エンドツーエンドのテストもしたい。 私はこの(私の角度広がり、オプションページを開きます)のようなものを書いた:私が '--user-data-dir' を取り出し、カルマ・クロームのための「--disable-デフォルト・アプリのカルマでe2e Google Chrome拡張機能をテストするには?

it('Go to options page', function() { 
    browser().navigateTo('chrome-extension://aopgehikihpnclbfeohobanjecpiefho/html/application.html#/options'); 
}); 

を(カルマテスト中に私の拡張機能がクロムに​​残って欲しいからです)

次のエラーメッセージが表示されます"サンドボックスエラー:アプリケーションドキュメントにアクセスできません。

browser navigate to 'chrome-extension://aopgehikihpnclbfeohobanjecpiefho/html/application.html#/options' 
    http://localhost:9876/base/tests/e2e/scenario.js?1372429335000:9:5: 

    Sandbox Error: Application document not accessible. 

    Chrome 27.0 (Windows): Executed 2 of 2 (2 FAILED) (0.254 secs/0.139 secs) 

クロームオプション--no-サンドボックスは長い時間前に廃止予定。

私は間違っていないと確信しています。オプションページは正常に開きますが、クロム「オムニボックス」から。

chrome-extension://aopgehikihpnclbfeohobanjecpiefho/html/application.html#/options 

サンドボックスのエラーは、エンドツーエンドのテストカルマ経由のGoogle Chromeの拡張機能のためのためない方法がないことを意味しますか? テストのためだけにchromeを特別な "非安全"モードに設定できますか?

ありがとう、

+0

https://github.com/salsita/chrome-angular-skeleton角度の拡張子へのリンクは、Google Chrome拡張機能のカルマユニットテストとエンドツーエンドテストではないようですので、自分のユニットを作成する必要がありますそれをテストしてください – IL55

+0

extension.hのマニフェストのweb-accessible-resourcesセクションにapplication.htmlがリストされていますか? –

+0

はい、私は "web_accessible_resources" でHTML/application.htmlを持っている:私は[ "JS/*"、 "のhtml/*"、 "CSS/*"、 "画像/ *" ]、 – IL55

答えて

0

プロキシの設定を試したとしますか?あなたのkarma-e2e.conf.jsファイル内

proxies = { 
    '/': 'chrome-extension://aopgehikihpnclbfeohobanjecpiefho/' 
}; 

とテストで、その後

browser().navigateTo('/html/application.html#/options'); 

ような?

+0

(エラー:getaddrinfo ENOENT) ブラウザは '/html/application.html#/options'に移動します http:// localhost:9876/base/tests /e2e/scenario.js?1374847487000:8:5:サンドボックスエラー:アプリケーションドキュメントにアクセスできません。 – IL55

+0

おそらくカルマプロキシはクロム拡張をサポートしていません。これが解決されるまで解決策がないかもしれません。 Githubに問題を提出できます。 –

+0

私はkarma-runnerグループに質問を投稿します。https://groups.google.com/forum/#!topic/karma-users/y-Lc29KyKIM – IL55

2

私はカルマシナリオランナーがそれを行うことができるとは思わない。 Protractorを試すと、WebDriverが使用され、カルマシナリオランナーがそれに置き換えられます。

+1

私は分度器を試してみましたが、WebDriverが拡張オプションページを開いていることを確認しました(私はブラウザでそれを観察しました)が、「エラー:ページchrome-extensionにAngularが見つかりませんでした://ojkcpfmpkjjdmhmbgjdobncijnbgenbo/html/application.html#/options '。私は分度器とwebdriverとのつもりですいくつかの異なる方法で要素にアクセスしようとすることができますか?私は 'ptor.findElement(protractor.By.bind( 'options_page'))' – IL55

+0

を試しましたが、コードを見ることなくあまり言うことはできませんが、手動でブートストラップ角度ですか?また、By.cssのような他のセレクタをテストすることもできます。 –

+0

はいrequire.jsのため手動で[手動でブートストラップする](https://github.com/salsita/chrome-angular-skeleton/blob/develop/code/js/backgroundAngular.js#L29) – IL55

関連する問題