docs: update README.md for playwright-electorn
This commit is contained in:
parent
ffe7084652
commit
e447e9aa54
|
|
@ -1,2 +1,104 @@
|
||||||
# playwright-electron
|
# playwright-electron
|
||||||
This package contains the [Electron](https://www.electronjs.org/) flavor of [Playwright](http://github.com/microsoft/playwright).
|
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');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "playwright-electron",
|
"name": "playwright-electron",
|
||||||
"version": "0.1.0",
|
"version": "0.1.2",
|
||||||
"description": "A high-level API to automate Electron",
|
"description": "A high-level API to automate Electron",
|
||||||
"repository": "github:Microsoft/playwright",
|
"repository": "github:Microsoft/playwright",
|
||||||
"homepage": "https://playwright.dev",
|
"homepage": "https://playwright.dev",
|
||||||
|
|
@ -11,6 +11,6 @@
|
||||||
},
|
},
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"playwright-core": "^1.0.1"
|
"playwright-core": "=1.0.0-next.1589245340205"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue