diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-11-03 01:33:53 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-11-03 01:33:53 +0100 |
commit | d1291f67551c58168af43698a359cb5ddfd266b0 (patch) | |
tree | 55a13ed29fe1915e3f42f1b1b7038dafa2e975a7 /node_modules/selenium-webdriver/lib/session.js | |
parent | d0a0695fb5d34996850723f7d4b1b59c3df909c2 (diff) |
node_modules
Diffstat (limited to 'node_modules/selenium-webdriver/lib/session.js')
-rw-r--r-- | node_modules/selenium-webdriver/lib/session.js | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/node_modules/selenium-webdriver/lib/session.js b/node_modules/selenium-webdriver/lib/session.js new file mode 100644 index 000000000..296291d4c --- /dev/null +++ b/node_modules/selenium-webdriver/lib/session.js @@ -0,0 +1,80 @@ +// Licensed to the Software Freedom Conservancy (SFC) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +'use strict'; + +const Capabilities = require('./capabilities').Capabilities; + + +/** + * Contains information about a single WebDriver session. + */ +class Session { + + /** + * @param {string} id The session ID. + * @param {!(Object|Capabilities)} capabilities The session + * capabilities. + */ + constructor(id, capabilities) { + /** @private {string} */ + this.id_ = id; + + /** @private {!Capabilities} */ + this.caps_ = capabilities instanceof Capabilities + ? /** @type {!Capabilities} */(capabilities) + : new Capabilities(capabilities); + } + + /** + * @return {string} This session's ID. + */ + getId() { + return this.id_; + } + + /** + * @return {!Capabilities} This session's capabilities. + */ + getCapabilities() { + return this.caps_; + } + + /** + * Retrieves the value of a specific capability. + * @param {string} key The capability to retrieve. + * @return {*} The capability value. + */ + getCapability(key) { + return this.caps_.get(key); + } + + /** + * Returns the JSON representation of this object, which is just the string + * session ID. + * @return {string} The JSON representation of this Session. + */ + toJSON() { + return this.getId(); + } +} + + +// PUBLIC API + + +module.exports = {Session: Session}; |