2017-11-28 16 views
-3

私はGithubからこのプロジェクトを手に入れましたが、何らかの理由でプロジェクトの作成者がブラウザウィンドウを起動せずにテストを実行してパスする方法がわかりません。このアウトを把握すべてのヘルプは非常にBeforeScenarioでマークされた初期化メソッドではブラウザを起動してセレンのwebdriverテストをパスする理由

https://github.com/executeautomation/SpecflowSeleniumParallel

+0

わからない特定の部分はありますか?プロジェクトからいくつかの例を見せてください – Marcel

+0

@marcel私が理解していない部分は、テストをどのように実行し、ブラウザを起動せずにパスするかです。プロジェクトをコンパイルして実行しましたか?あなたが同じことを経験したのだろうか? – Geezus

+0

はい、私はまもなく答えを投稿します – Marcel

答えて

0

を理解されるであろう方法SelectBrowser属性BrowserType.Chromeと呼ばれています。

[BeforeScenario] 
public void Initialize() 
{ 
    SelectBrowser(BrowserType.Chrome); 
} 

この方法では、「魔法」は起こるところで、それでは、行はoption.AddArgument("--headless");を言って、それ

internal void SelectBrowser(BrowserType browserType) 
{ 
    switch (browserType) 
    { 
     case BrowserType.Chrome: 
      ChromeOptions option = new ChromeOptions(); 
      option.AddArgument("--headless"); 
      _driver = new ChromeDriver(option); 
      _objectContainer.RegisterInstanceAs<IWebDriver>(_driver); 
      break; 
     default: 
      break; 
    } 
} 

お知らせを見てみましょう。ヘッドレスブラウザとして、ヘッドレスモードで動作するChromeDriverが起動します。

ヘッドレスブラウザは、グラフィカルユーザーインターフェイスのないWebブラウザです。 - ウィキペディア

ヘッドレスモードにはグラフィカルユーザーインターフェイスがないため、テスト実行中に実際のブラウザが表示されません。

option.AddArgument("--headless");行を削除すると、ChromeDriverがウィンドウを開き、すべてを見ることができます。

+0

ありがとう!私は新しいことを学びました。 – Geezus