Skip to content

Commit

Permalink
docs: update README.md for playwright-electorn
Browse files Browse the repository at this point in the history
  • Loading branch information
pavelfeldman committed May 12, 2020
1 parent ffe7084 commit e447e9a
Show file tree
Hide file tree
Showing 2 changed files with 104 additions and 2 deletions.
102 changes: 102 additions & 0 deletions packages/playwright-electron/README.md
@@ -1,2 +1,104 @@
# playwright-electron
This package contains the [Electron](https://www.electronjs.org/) flavor of [Playwright](http://github.com/microsoft/playwright).

## How to demo

```bash
npm i --save-dev electron@beta
npm i --save-dev playwright-electron@next
```

`index.js` - main Electron application file.
```js
const { app, BrowserWindow } = require('electron');

function createWindow () {
let win = new BrowserWindow({
width: 800,
height: 600,
});

win.loadFile('index.html');
}

app.whenReady().then(createWindow);
```

`index.html` - page that Electron opens in a BrowserWindow.
```js
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
<style>
html {
width: 100%;
height: 100%;
display: flex;
background: white;
}

body {
flex: auto;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
<button onclick="console.log('click')">Click me</button>
</body>
</html>
```

`test/spec.js` - test file
```js

const { electron } = require('playwright-electron');
const assert = require('assert');
const electronPath = require('electron');
const path = require('path')

describe('Sanity checks', function () {
this.timeout(10000);

beforeEach(async () => {
// Before each test start Electron application.
this.app = await electron.launch(electronPath, {
path: electronPath,
args: [path.join(__dirname, '..')] // loads index.js
});
});

afterEach(async () => {
// Before each test close Electron application.
await this.app.close();
});

it('sanity checks', async () => {
// Wait for the first window to appear.
const window = await this.app.waitForEvent('window');

// Assert window title.
assert.equal(await window.title(), 'Hello World!');

// Capture window screenshot.
await window.screenshot({ path: 'intro.png' });

// Collect console logs.
let consoleText;
window.on('console', message => consoleText = message.text());

// Click button.
await window.click('text=Click me');

// Check that click produced console message.
assert.equal(consoleText, 'click');
});
});
```
4 changes: 2 additions & 2 deletions packages/playwright-electron/package.json
@@ -1,6 +1,6 @@
{
"name": "playwright-electron",
"version": "0.1.0",
"version": "0.1.2",
"description": "A high-level API to automate Electron",
"repository": "github:Microsoft/playwright",
"homepage": "https://playwright.dev",
Expand All @@ -11,6 +11,6 @@
},
"license": "Apache-2.0",
"dependencies": {
"playwright-core": "^1.0.1"
"playwright-core": "=1.0.0-next.1589245340205"
}
}

0 comments on commit e447e9a

Please sign in to comment.