2017-05-08 9 views
0

私はちょうど分度器を使い始めました。私は最初のテストを実行する準備が整いました。しかし、私はそれをどうやって行うのか分かりません。 cmdでng e2eと入力してみましたが、明らかに "e2eコマンドを使用するにはAngular CLIプロジェクト内にいなければなりません"。非AngularCLIプロジェクトから分度器を実行するにはどうすればよいですか?

http://www.protractortest.org/#/tutorialのガイドでは、ファイルにconf.jsを作成し、cmdにprotractor conf.jsと入力してテストを実行するように指示しています。私はそれを試してみましたが、私は私のspecファイルの名前を入力すると、そのような:

specs: ['app.e2e-spec.ts'] 

私はエラーを取得する:

[20:24:58] E/configParser - Error code: 105 
[20:24:58] E/configParser - Error message: configuration file conf.js did not export a config object 

私は何が起こるかを見るために.jsにそれを変更しようとしました私は何の誤りもなかったが、それは "仕様が見つからなかった"と言った。だから、.jsファイルしか受け入れられないようですが、私のタイプは.tsです。これを行う正しい方法は何ですか?ありがとう。

編集:ここに私のディレクトリ構造があります:

enter image description here

+0

ディレクトリ構造を投稿できますか?あるいは、少なくともあなたの 'conf.js'ファイルと' app.e2e-spec.ts'ファイルがどこにあるのかを教えてください。 – alecxe

+0

@alecxe完了。私は 'conf.js'ファイルを削除しました。私はそれが正しい方法ではないと思ったからです。私はそれを再現する必要がありますか? – Jesper

+0

あなたの構造では、 'specract:['e2e/app.e2e-spec.ts']'を持つようにあなたのconfファイルを指定したと仮定して、私は 'protractor protractor.config.js'になります。上記を実行するときにあなたの設定ファイルと同じディレクトリにいることを確認してください – LostJon

答えて

0

あなたは、以下の方法で、特定の仕様を呼び出す必要があります:だから

protractor protractor-conf.js --specs=<path/specName1,path/specName2> 

、あなたが最初のCLIとして分度器の設定を持っている必要がありますarg。上記の使用例では、分度器コマンドを実行するディレクトリにファイル名conf.jsが必要です。

1

Typescriptを使用しているので、spec.tsファイルを呼び出す正しい方法は、ts-nodeモジュールの助けを借りて行われます。

ts-nodeモジュールnpm install -S ts-nodeをプロジェクトにインストールします。

次のようにconfig.tsであなたのスペックファイルを呼び出す:

specs: [ 
'./e2e/*-spec.ts' 
], 
beforeLaunch: function() { 
require('ts-node').register({ 
    project: 'e2e' 
}); 
}, 

注:あなたconfig.tsをコンパイルしたら、あなたは最終的には現在、直接呼び出すconfig.tsをサポートしていないとしてのみprotractor config.jsを呼び出す必要があります将来この機能を利用することもできます!

分度器で始まったばかりなので、私はProtractor-Cookbookをチェックアウトするのに助言をします。ここでは、すべての設定を例で見つけることができます!

関連する問題