2017-01-19 24 views
2

私はC#でSeleniumを使用しており、クライアント側のログ(javascriptのconsole.logなど)を読んでみたいと考えています。クライアント側のログをSeleniumで取得する

私はChromeDriverを初期化し、クライアントへのロギングプリファレンスを設定しています:

ChromeOptions options = new ChromeOptions(); 
options.SetLoggingPreference(LogType.Client, LogLevel.All); 
var webDriver = new ChromeDriver(options); 
objectContainer.RegisterInstanceAs<IWebDriver>(webDriver); 

しかし、私はAvailableLogTypesを取得しようとすると:

var whatever = driver.Manage().Logs.AvailableLogTypes; 

browserdriverにのみ使用可能なログです読み込むタイプ:

enter image description here

私はクライアントのログを取得しようとすると

は:

An exception of type 'System.InvalidOperationException' occurred in WebDriver.dll but was not handled in user code

Additional information: unknown error: log type 'client' not found

任意のアイデアは、私はこの問題を解決する方法:

var logs = driver.Manage().Logs.GetLog(LogType.Client); 

私は例外を取得しますか?ある時点では、デフォルトではbrowserdriverがログに記録されているようですが、どこか分かりません。

+3

に答えとして、これらのログの種類を有効にしようとすることができますが、ログの種類を試してみましたブラウザ?チェックしてくださいhttp://stackoverflow.com/questions/36455533/c-sharp-selenium-access-browser-log – derloopkat

+0

はい、それらは私が探しているログではありません。 – tnw

+0

'console.log' javascript呼び出しの出力をしたい場合は' SetLoggingPreference(LogType.Browser、LogLevel.All) 'が必要です。 @derloopkatが指し示す記事をチェックしてください。クライアントが実際に何を意味しているのか、それがクロムに​​よってサポートされているのかどうかはわかりません。 –

答えて

0

console.log()のようなログが必要な場合は、LogType.Browserが必要です。念のあなたは、CLIENTのように、SERVERを他のLogTypeが表示されない場合は、ブラウザがこれらのログ

を持っている...あなたはHow to obtain native logger in Selenium WebDriver

+0

console.log()はブラウザのログには入りません。私はそのロギングタイプのログをチェックしましたが、コンソールログは表示されませんでした。あなたがリンクしている答えはJavaであり、C#では動作しません。 – tnw

+1

実際には動作します!ブラウザのログレベルを「すべて」に設定するだけでした: 'options.SetLoggingPreference(LogType.Browser、LogLevel.All);' – tnw

+0

@tnw、実際にderloopkatの提案(+私は主張しています)それにふさわしいものにポイントを与えない(derloopkat)。 –

関連する問題