我在Windows 7 Enterprise上使用Geb(Selenium& Webdrivers 3.40)和Chrome 60。
我的GebConfig.groovy
定义了一个chrome
环境,可使用以下起始参数--headless --disable-gpu --disable-plugins --enable-logging --v=1
配置Chrome。
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
,但在运行我的Geb测试后,我找不到该路径上的任何日志。我尝试启用日志,因为我无法使用HTTPS连接内部网站,我需要更多关于出错的信息。
您能否告诉我如何正确启用日志以及我可以在哪里找到Google Chromes日志输出?
更新1:
根据此documentation,日志保存在%LOCALAPPDATA%\Google\Chrome\User Data\chrome_debug.log
下。我发现日志但它是空的。
由于我似乎无法通过SSL连接,我想知道如何让Chrome告诉我问题所在。有什么想法吗?
更新2:
似乎每当我以--headless
模式运行测试并访问内部HTTPS URL时,我都会从Web驱动程序中获取以下虚拟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请求。有谁知道这样的行为?
答案 0 :(得分:1)
根据this page,日志记录取决于平台:
在Linux上:
--enable-logging=stderr --v=1
在Windows上:
--enable-logging --v=1
--enable-logging=stderr --v=1 > log.txt 2>&1 # Seems to capture more output
我已经在Linux上进行了测试,并且工作正常。
日志保存在Chrome的用户数据目录中。
答案 1 :(得分:0)
我认为你的最后一个参数应该是
'--enable-logging=v=1'
结合两者。
我找到的调试日志也在应用程序安装目录中。
C:\Program Files (x86)\Google\Chrome\Application\<chrome version>
称为
chrome_debug.log