2017-10-07 8 views
0

私は角度のないアプリでエンドツーエンドのテストに分度器を使用しています。だから私はconf.jsファイルとして書いている -directConnect:真とプロジェクタの一部のポートでseleniumServerを起動すると

​​
exports.config = { 
     directConnect: true, 

     // Capabilities to be passed to the webdriver instance. 
     capabilities: { 
     'browserName': 'chrome' 
     }, 

     // Framework to use. Jasmine is recommended. 
     framework: 'jasmine', 

     // Spec patterns are relative to the current working directory when 
     // protractor is called. 
     specs: ['example_spec.js'], 

     // Options to be passed to Jasmine. 
     jasmineNodeOpts: { 
     defaultTimeoutInterval: 30000 
     } 
    }; 



Then it works fine for me. 
After that I have made some changes like- 



exports.config = { 
     seleniumAddress: 'http://localhost:4444/wd/hub', 

     // Capabilities to be passed to the webdriver instance. 
     capabilities: { 
     'browserName': 'chrome' 
     }, 

     // Framework to use. Jasmine is recommended. 
     framework: 'jasmine', 

     // Spec patterns are relative to the current working directory when 
     // protractor is called. 
     specs: ['example_spec.js'], 

     // Options to be passed to Jasmine. 
     jasmineNodeOpts: { 
     defaultTimeoutInterval: 30000 
     } 
    }; 

その後、ポートとテストケースが正常に実行されたセレンサーバーから始まります。

私の質問はそれですか? 両方の方法の違いは何ですか?私がdirectConnect:trueを使用するとき、それはセレンのサーバーを起動せず、次にクロームドライバを直接使用し、テストケースが他の方法より速く実行されることを知っていますか?

分度器がセレンサーバなしのテストを行うことができるとき、なぜそれが必要なのですか? プロトタイターのテストでセレンのサーバーは何をしていますか?

答えて

0

directConnect:trueと言ったように、分度器はChromeのドライバとFirefoxと直接通信します(他のブラウザはエラーを返します)。

directConnect:trueの主な利点はスピードのようです。テストを開始し、より速く実行してください。

このProtractor mentions for the Selenium Server一方:サーバーが異なる言語で複数のスクリプトを処理することができます

。サーバーは、異なるバージョンと実装の複数のブラウザーを起動して管理することができます。

分度器は最も確かにそれは分度器の主な目的ではありません、彼らはそれをSeleniumServerよりだけ悪いことを行うことができますよう常にdirectConnect:trueためのこれらの可能性を維持する必要はありません。

BrowserStackやSauceLabsなどのクロスブラウザテスト用のサービスは、サービスを使用するために接続する必要がある独自のSeleniumServersを提供します。別の分度器ソリューションを提供するように彼らに説得するには、SeleniumServerが既に広く普及しているので、まったく無意味に思えます。

全体として、私はそれが分度器のサービスであると考えています。これは、分裂器で始める簡単化としてdirectConnectの可能性を提供しています。 SeleniumServerを使用する方がより論理的なソリューションになり、クロスブラウザテストなど、より幅広い可能性を提供します。

私はこれの背後にあるよりも多くの魔法を見ることはありません。

関連する問題