Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: update README.md for playwright-electorn
- Loading branch information
1 parent
ffe7084
commit e447e9a
Showing
2 changed files
with
104 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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'); | ||
}); | ||
}); | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters