Windows 7 EnterpriseでChrome 60でGeb(Selenium & Webdrivers 3.40)を使用しています。Chrome 60でヘッドレスモードでログインできるようにする
私のGebConfig.groovy
は、次の開始引数でChromeを設定するchrome
環境を定義しています--headless --disable-gpu --disable-plugins --enable-logging --v=1
。
environments {
chrome {
ChromeDriverManager.instance.setup()
driver = {
ChromeOptions options = new ChromeOptions()
options.addArguments('--headless', '--disable-gpu', '--disable-plugins', '--enable-logging', '--v=1')
def capabilities = DesiredCapabilities.chrome()
capabilities.setCapability(ChromeOptions.CAPABILITY, options)
def driver = new ChromeDriver(capabilities)
return driver
}
}
}
このpostによると、Chromeは~/.config/google-chrome
にログインする必要がありますが、私のゲブのテストを実行した後、私はそのパス上のすべてのログを見つけることができません。ログを有効にしようとしているのは、HTTPSを使用して内部のWebサイトに接続するときに問題が発生し、何がうまくいかないのかという詳細情報が必要なためです。
ログを正しく有効にする方法と、Google Chromesのログ出力がどこにあるのか教えていただけますか?
アップデート1:
ログは%LOCALAPPDATA%\Google\Chrome\User Data\chrome_debug.log
の下に保存されている。このdocumentationによります。私はそのログを見つけましたが、それは空です。 SSL経由で接続できないようだから、Chromeに問題のある場所を教えてもらうことができます。何か案は?
アップデート2:
私が--headless
モードでテストを実行し、内部HTTPSのURLにアクセスしたときに、私はウェブドライバから、次のダミーのHTMLを取得しているようです。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;"></pre><iframe name="chromedriver dummy frame" src="about:blank"></iframe>
</body>
</html>
サーバーのログには、受信HTTPリクエストが表示されません。誰もそのような行動を知っていますか?
最初のログが機能することを手動で確認してください。私はそれがhttpsやその他の詳細を記録するのではないかと疑うからです。また、ログファイルはプロファイルディレクトリに作成された 'chrome_debug.log'です。 https://www.chromium.org/for-testers/enable-loggingを参照してください。 –