Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gkushang/nemo-window
`nemo-window` is a plugin for Nemo automation framework. It provides methods to work with multiple browser-windows.
https://github.com/gkushang/nemo-window
Last synced: about 2 months ago
JSON representation
`nemo-window` is a plugin for Nemo automation framework. It provides methods to work with multiple browser-windows.
- Host: GitHub
- URL: https://github.com/gkushang/nemo-window
- Owner: gkushang
- License: mit
- Created: 2015-08-23T16:58:58.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-10-05T20:11:44.000Z (about 9 years ago)
- Last Synced: 2024-10-12T03:14:28.641Z (2 months ago)
- Language: JavaScript
- Size: 164 KB
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## nemo-window
`nemo-window` is a plugin for [Nemo] (https://github.com/paypal/nemo) automation framework. It provides methods to work with multiple browser-windows.
### Installation
`npm install nemo-window --save-dev`
### Configuration
Add `nemo-window` plugin to your `config/config.json` under `plugins` section.
```javascript
"plugins": {
"window": {
"module": "nemo-window"
}
...
},
...```
### Methods
```
nemo.window.switchTab : switches focus to other window
nemo.window.switchFrame : switches focus to new frame on page
nemo.window.newWindow : opens new window
nemo.window.close : close current window
nemo.window.handles : retrieve all window handles from session
nemo.window.handle : retrieve current window handle
nemo.window.mainHandle : retrieve parent window handle
```#### switchTab(windowHandle)
Switches focus to particular Window/Tab in browser.
* If `windowHandle` is not provided, switches focus alternatively.
* If `windowHandle` is provided, switches focus to particular window handle.`@argument windowHandle {String} (Optional)`
`@returns {Web driver Promise}`
###### Usage:
```javascript
1. nemo.window.switchTab(); //switches focus alternativelye.g. if two windows, Window A and Window B, are open
nemo.window.switchTab(); //switch focus to Window B
nemo.window.switchTab(); //switch focus to Window A
nemo.window.switchTab(); //switch focus back to Window B2. nemo.window.switchTab('CD-W-2F3449'); //switches focus to window handle `CD-W-2F3449`
```Please find the example at the end.
#### switchFrame(nameOrIndex)
Switches focus to another frame on page. `nameOrIndex` is required argument.
Please find the example at the end.
`@argument nameOrIndex {String} (Required)`
`@returns {Web driver Promise}`
###### Usage:
```javascript
nemo.window.switchFrame('paypalTarget'); //switch focus to particular frame 'paypalTarget' on page
```#### close()
Closes current window (and focus on an other window)
Please find the example at the end.
`@returns {Web driver Promise}`
###### Usage:
```javascript
nemo.window.close(); //close the current window
```###### Usage:
```javascript
nemo.window.closeAll(); //close all the windows
```
#### newWindow(url, name)Opens new window in browser and automatically switches focus to new window.
Navigates to the Url automatically if `url` is provided. It is Optional.
Name the new Window if `name` is provided. It is Optional.Please find the example at the end.
`@arguments url {String} (Optional)`
`@arguments name {String} (Optional)`###### Usage:
```javascript
1. nemo.window.newWindow(); //opens new window in browser, and switches focus to new Window
2. nemo.window.newWindow('www.paypal.com/signin'); //opens new window in browser and automatically navigates to `www.paypal.com/signin`
3. nemo.window.newWindow('www.paypal.com/signin', 'ppWindow'); //In addition to [2], it names the new window as `ppWindow`
```#### handles()
Retrieve the list of all window handles available to the session.
`@returns {Array of the window handles as a Promise}`
###### Usage:
```javascript
nemo.window.handles().then(callback);
```#### mainHandle()
Retrieve main/parent window handle
Please find the example at the end.
`@returns {main/parent window handle as a Promise}`
###### Usage:
```javascript
nemo.window.mainHandle().then(callback);
```#### handle()
Retrieve current window handle
Please find the example at the end.
`@returns {current window handle as a Promise}`
###### Usage:
```bash
nemo.window.handle().then(callback);
```### Example
```javascript//this example assumes that window[A] is already launched by nemo
//launch new window[B] and navigate to PayPal.com. Note: it automatically switches focus to new window[B]
nemo.window.newWindow('http://www.paypal.com');//get new window[B] handle
nemo.window.handle().then(callback);//get main window[A] handle
nemo.window.mainHandle().then(callback); //returns main window handle//switch to window[A], no need to provide handle if only two windows are open. it switches alternatively
nemo.window.switchTab(); //focus is on window[A]//switch to window[B]
nemo.window.switchTab(); //focus is on window[B]//close window[B] since the current focus is on window[B]. Note: it automatically switches focus to window[A]
nemo.window.close(); //close currently focused window//this returns window[A] handle
nemo.window.handle().then(callback); //returns window[A] handle```