2017-05-09 7 views
0

Chrome Selenium WebDriverのC#バインディングを使用していて、ページに移動するとランダムに失敗します。一貫性のあるテストではありませんが、スイート全体が実行されたときに複数のテストで一貫して発生し、同じページ変更で一貫しています。私はドライバインスタンスを作成するために使用しているコードを貼り付けた以下、それは自己ですURLは公にアクセス可能ではありません。Chrome WebDriverがクラッシュする

もう1つの考慮点は、NUnitを使用して2つのテストを並行して実行することです。

var options = new ChromeOptions(); 
options.AddArgument("start-maximized"); 
options.AddArgument("disable-infobars"); 
options.AddArgument("--incognito"); 
options.AddUserProfilePreference("credentials_enable_service", false); 
options.AddUserProfilePreference("profile.password_manager_enabled", false); 
options.SetLoggingPreference(LogType.Browser, LogLevel.All); 
options.SetLoggingPreference(LogType.Driver, LogLevel.All); 
options.SetLoggingPreference(LogType.Client, LogLevel.All); 
options.SetLoggingPreference(LogType.Server, LogLevel.All); 
options.SetLoggingPreference(LogType.Profiler, LogLevel.All); 

var driver = new ChromeDriver(DriverPathOnSystem, options); 
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(60); 
driver.Navigate().GoToUrl(url); 

バージョン

  • ChromeDriver 2.29
  • クロム58.0.3029.96(64ビット)
  • Selenium.WebDriver(nuget)3.4.0
  • Selenium.Support(nuget) 3.4.0

EDIT#1: ChromeDriverは32ビット、Chromeは64ビットです。私はいくつかの研究をしましたが、64ビットChromeDriverではないようで、私の研究は2つがうまくいくと言いました。新しいバグなのでしょうか?

答えて

0

DNSプリフェッチを無効にすると、すべてのクラッシュが修正されました。私はそれがページをクラッシュさせる原因となったことを100%していない、多分それはnpmと関係がある?いずれにしても、それは非常に簡単な修正でした:

var options = new ChromeOptions(); 
options.AddArgument("start-maximized"); 
options.AddArgument("disable-infobars"); 
options.AddArgument("--incognito"); 
options.AddUserProfilePreference("credentials_enable_service", false); 
options.AddUserProfilePreference("profile.password_manager_enabled", false); 
options.AddArgument("--dns-prefetch-disable"); 

var driver = new ChromeDriver(DriverPathOnSystem, options); 
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(60); 
driver.Navigate().GoToUrl(url); 
関連する問題