From e447e9aa5470b82005be078b7bc72d0baab6e669 Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Mon, 11 May 2020 18:56:05 -0700 Subject: [PATCH] docs: update README.md for playwright-electorn --- packages/playwright-electron/README.md | 102 ++++++++++++++++++++++ packages/playwright-electron/package.json | 4 +- 2 files changed, 104 insertions(+), 2 deletions(-) diff --git a/packages/playwright-electron/README.md b/packages/playwright-electron/README.md index 2a478430fd..c6bcace113 100644 --- a/packages/playwright-electron/README.md +++ b/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 + + + + + Hello World! + + + + +

Hello World!

+ + + +``` + +`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'); + }); +}); +``` \ No newline at end of file diff --git a/packages/playwright-electron/package.json b/packages/playwright-electron/package.json index 911b7b37c8..727f700765 100644 --- a/packages/playwright-electron/package.json +++ b/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", @@ -11,6 +11,6 @@ }, "license": "Apache-2.0", "dependencies": { - "playwright-core": "^1.0.1" + "playwright-core": "=1.0.0-next.1589245340205" } }