@theia-extension-tester/che-browser
Version:
Eclipse Che browser helper implementation.
64 lines (49 loc) • 2.14 kB
Markdown
# `che-browser`
Eclipse Che browser implementation for [Eclipse Theia / Eclipse Che testers](https://www.npmjs.com/package/theia-extension-tester).
Browser objects are responsible for Selenium WebDriver creation, loading locators and attaching to workspace.
Currently two versions are primarily used [-extension-tester/che-browser](https://www.npmjs.com/package/@theia-extension-tester/che-browser)
and [-extension-tester/theia-browser](https://www.npmjs.com/package/@theia-extension-tester/theia-browser).
## Usage
Install via npm
`npm install -extension-tester/che-browser`
Install via yarn
`yarn add -extension-tester/che-browser`
This example demonstrates how to create Eclipse Che browser.
```ts
import { CheTheiaBrowser, BrowserOptions, ITimeouts } from "@theia-extension-tester/che-browser";
import { logging } from 'extension-tester-page-objects';
// It is recommended to use more specific browser mentioned above.
const browser = new CheTheiaBrowser("chrome"), {
// Optional path to browser binary.
// If not specified PATH variable is used.
browserLocation: "/path/to/browser",
// Clean session after window is closed.
cleanSession: true,
// Optional path to Selenium WebDriver binary.
// If not specified PATH variable is used.
driverLocation: "/path/to/webdriver",
// Selenium WebDriver log level.
logLevel: logging.Level.INFO,
// Timeouts used when testing.
timeouts: {
// Timeout after browser is attached to Eclipse Che editor.
implicit: 30000,
// Timeout before browser is attached to the editor.
pageLoad: 120000
}
});
```
Then it is possible to start new session with:
```ts
await browser.start();
```
Optionally wait for workbench. Please note the function waits for
workbench. In Eclipse Che instances it will not work on its own.
In this case please refer to [OpenShift authenticator](https://www.npmjs.com/package/@theia-extension-tester/openshift-authenticator).
```ts
await browser.waitForWorkbench(myTimeout);
```
And to properly destroy running session use:
```ts
await browser.quit();
```