Zac*_*bey 8 javascript selenium google-chrome selenium-webdriver protractor
我已经看到chromedriver可以输出日志文件(https://sites.google.com/a/chromium.org/chromedriver/logging)
此页面显示了在直接执行exe时如何设置它:
chromedriver.exe --verbose --log-path=chromedriver.log
我无法弄清楚如何在Protractor中设置它
我现在的 protractor.conf.js
require('babel/register');
exports.config = {
framework: 'jasmine2',
seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.45.0.jar'
};
Run Code Online (Sandbox Code Playgroud)
从@ alecxe下面的答案和量角器的浏览器设置文档我尝试添加以下(有和没有--s),但没有明显的效果:
capabilities: {
browserName: "chrome",
chromeOptions: {
args: [
"--verbose",
"--log-path=chromedriver.log"
]
}
}
Run Code Online (Sandbox Code Playgroud)
我也试过指定一个绝对路径(log-path=/chromedriver.log)也没用.
我们使用shell脚本添加chromedriver日志记录以及其他检查.然后,您可以在shell脚本中指向量角器:
// When running chromedriver, use this script:
chromeDriver: path.resolve(topdir, 'bin/protractor-chromedriver.sh'),
Run Code Online (Sandbox Code Playgroud)
TMPDIR="/tmp"
NODE_MODULES="$(dirname $0)/../node_modules"
CHROMEDRIVER="${NODE_MODULES}/protractor/selenium/chromedriver"
LOG="${TMPDIR}/chromedriver.$$.log"
fatal() {
# Dump to stderr because that seems reasonable
echo >&2 "$0: ERROR: $*"
# Dump to a logfile because webdriver redirects stderr to /dev/null (?!)
echo >"${LOG}" "$0: ERROR: $*"
exit 11
}
[ ! -x "$CHROMEDRIVER" ] && fatal "Cannot find chromedriver: $CHROMEDRIVER"
exec "${CHROMEDRIVER}" --verbose --log-path="${LOG}" "$@"
Run Code Online (Sandbox Code Playgroud)
你总是可以在一个单独的过程中启动你自己的chromedriver实例,并告诉Protractor连接到它.例如,如果您使用以下命令启动chromedriver:
chromedriver --port=9515 --verbose --log-path=chromedriver.log
然后您可以使用Protractor的配置文件,如下所示:
exports.config = {
seleniumAddress: 'http://localhost:9515',
capabilities: {
'browserName': 'chrome'
},
specs: ['example_spec.js'],
};
Run Code Online (Sandbox Code Playgroud)
根据protractor源代码,chromedriver服务在没有任何参数的情况下启动,并且没有直接的方法来配置参数.尽管量角器使用的chromedriver的Service Builder实际上具有指定详细程度和日志路径的能力:
var service = new chrome.ServiceBuilder()
.loggingTo('/my/log/file.txt')
.enableVerboseLogging()
.build();
Run Code Online (Sandbox Code Playgroud)
旧的(不正确的)答案:
您需要设置chrome参数:
capabilities: {
browserName: "chrome",
chromeOptions: {
args: [
"verbose",
"log-path=chromedriver.log"
]
}
},
Run Code Online (Sandbox Code Playgroud)
也可以看看:
| 归档时间: |
|
| 查看次数: |
6381 次 |
| 最近记录: |