Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
const { chromium } = require('playwright');
const { assert } = require('console');
(async () => {
// launch a chrome instance from the path provided , not in headless mode and with the slowMo value set for slower playback
const browser = await chromium.launch({headless: false,executablePath: '/Applications/Google Chrome Chrome Canary',slowMo: 500});
// playwright has the concept of giving context to your browser object -->
const context = await browser.newContext();
// from a context spawn your page object, the primary medium to perform broswer automation
const page = await context.newPage();
// lets head over to the home page of out website
await page.goto('')
// oh,dealing with a pesky pop up is easy peasey,did not have to write waits etc,just had to enter text of the button to be used as a selector !
//playwright's inbuilt auto-wait capability --
await'text=No Thanks')
// perform navigation to another page of the app using text as a selector.
// More on selectors here -
// head over to the login page
await page.goto('')
// select an element by id and click on it
// or just directly filling it with text
await page.fill('id=LoginForm_email','')
// another element found easily by id and text entered
await page.fill('id=LoginForm_password','tununutunu')
// find by id and click the login button
// lets find the text contents of the selector below , just have pass the selector to the page.textContent method
const login_error = await page.textContent('#form-account-login > div:nth-child(2) > div:nth-child(2) > div');
// perform a simple assertion
assert(login_error=='The email address or password you entered is incorrect. Please try again.1')
// we are done :)
await browser.close();
Copy link

trivial-search commented Sep 14, 2020

A basic web app automation + assertion using playwright

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment