Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
seleniumhq
GitHub Repository: seleniumhq/selenium
Path: blob/trunk/javascript/selenium-webdriver/example/logging.js
2884 views
1
// Licensed to the Software Freedom Conservancy (SFC) under one
2
// or more contributor license agreements. See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership. The SFC licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License. You may obtain a copy of the License at
8
//
9
// http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied. See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
/**
19
* @fileoverview Demonstrates how to use WebDriver's logging system.
20
*/
21
22
'use strict'
23
24
const chrome = require('../chrome')
25
const firefox = require('../firefox')
26
const edge = require('../edge')
27
const { Builder, By, Key, logging, until } = require('..')
28
29
logging.installConsoleHandler()
30
logging.getLogger(`${logging.Type.DRIVER}.http`).setLevel(logging.Level.ALL)
31
;(async function () {
32
let driver
33
try {
34
driver = await new Builder()
35
// Default to using Firefox. This can be overridden at runtime by
36
// setting the SELENIUM_BROWSER environment variable:
37
//
38
// SELENIUM_BROWSER=chrome node selenium-webdriver/example/logging.js
39
.forBrowser('firefox')
40
// Configure the service for each browser to enable verbose logging and
41
// to inherit the stdio settings from the current process. The builder
42
// will only start the service if needed for the selected browser.
43
.setChromeService(new chrome.ServiceBuilder().enableVerboseLogging().setStdio('inherit'))
44
.setEdgeService(
45
process.platform === 'win32' ? new edge.ServiceBuilder().enableVerboseLogging().setStdio('inherit') : null,
46
)
47
.setFirefoxService(new firefox.ServiceBuilder().enableVerboseLogging().setStdio('inherit'))
48
.build()
49
50
await driver.get('http://www.google.com/ncr')
51
await driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN)
52
await driver.wait(until.titleIs('webdriver - Google Search'), 1000)
53
} finally {
54
if (driver) {
55
await driver.quit()
56
}
57
}
58
})()
59
60