2017-04-30 7 views
1

分裂器が実行スタックに従って実行する順序を理解しようとしています。グローバル実行コンテキスト(ec)が作成されてプッシュされた後の実行スタック内の順序は何ですか?それは...ですか?分度器のJavaScriptの実行コンテキストのスタックオーダー

 stack 
    ------ 
    |spec1 ec| 
    |spec2 ec| 
    |spec3 ec| 
    |onPrepare ec| 
    |conf.js ec| 
    |global ec| 
    ---------- 

ここで私はちょうど推測しているので、これは正しくないと確信しています。誰かが、実行コンテキストが作成するものと、いつ作成するのかについて、いくつか明記することはできますか?ありがとう。私は以下のように私の知識ごとに導くことができる

+0

私の答えはありましたか? @awaken –

答えて

0

分度器たちはprotractor conf.js

を書いて、一般的にあなたが環境の詳細を保つことができるonPrepareが含まれているので、出発点はconf.js

conf.jsあるconf.jsを呼び出し、カスタマイズされた生成オプション、またはnpmパッケージから使用してパッケージ化する生成オプションを報告します。 また、onPrepareは、config.jsファイルの中で最も有用な部分の1つです。これは、変数を1つの場所に定義し、異なるspec.jsファイルにアクセスできるようにするためです。 See example

グローバル:

browser.executeScript(function (glob) { 

// use passed variables on the page 
console.log(glob); 

}, browser.params.glob); 

Sample taken from here

exports.config = { 
// ... 

params: { 
    glob: 'test' 
} 

// ... 
}; 

はあなたのように仕様でそれを使用することができます:のparamsプロパティの助けを借りて、分度器の設定ファイルからグローバルを設定することが可能です

conf.jsonPrepareglobalsは、テストケースを実行するためのpre-requistesはspecsであり、いくつかはオプションです。

specsが正常に作成された後は、conf.jsでさまざまなブラウザで並行して/順番に実行して定義しています。

例:

multiCapabilities: [ 
{ 
    shardTestFiles: true, 
    maxInstances: 1, 
    sequential: true, 
    browserName: 'chrome', 
    specs: ['specs/spec1.js','specs/spec2.js','specs/spec3.js'] 
}, 
{ 
    shardTestFiles: true, 
    maxInstances: 1, 
    sequential: true, 
    browserName: 'chrome', 
    specs: ['specs/spec4.js', 
     'specs/spec5.js', 
     'specs/spec6.js', 
    ] 
} 

ます。また、このようなregressionsanityなどとしてスイートを定義し、それらを個別に実行することができます。あなたの質問のために

protractor config.js --suite regression,sanity 

1) conf.js 
2) globals & on Prepare 
3)specs 

私はあなたが今、はっきりしている願っています。

関連する問題