10

すばらしい unit/e2e テスト ツールkarmaを見つけました。そして、単純な chrome エクステンションをangularで書きました。自動化されたテストを書きたいのですが、単体テストだけでなく、エンドツーエンドのテストも行います。私はこのようなものを書きました(角度拡張オプションページが開きます):

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

karma-chrome-launcher の '--user-data-dir' と '--disable-default-apps' を削除しました (「カルマ テスト」中に拡張機能を chrome にとどめておきたいため)

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

    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)

Chrome オプション--no-sandboxはずっと前に廃止されました。

オプションページは問題なく開きますが、クロムの「オムニボックス」からです。

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

サンドボックス エラーは、カルマを介した Google Chrome 拡張機能のエンド ツー エンド テストの方法がないことを意味しますか? テストのためだけにクロムを特別な「非セキュア」モードに設定できますか?

ありがとう、

4

2 に答える 2

2

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

于 2013-07-28T22:24:24.957 に答える
0

プロキシを設定してみたら?お気に入り

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

あなたのkarma-e2e.conf.jsファイルに

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

テストで?

于 2013-07-26T13:33:06.767 に答える