How to automate the login and registration page using puppeteer, Mocha, and jest. In this puppeteer automation tutorial, We will see web automation examples using puppeteer.
Puppeteer is a node library that is used to handle chromium and chrome browser in headless mode or without headless mode. If you are a beginner in puppeteer. I’ll recommend following the puppeteer tutorial.
Automate Registration page using puppeteer
- Launch browser.
- Navigate to the registration page.
- Enter your personal details.
- Enter your address.
- And click to register button.
Automate Login page using puppeteer
- Navigate to the login page.
- Enter a valid username.
- Enter a valid password.
- Click to sign in button.
- Verify the signout button.
const puppeteer = require('puppeteer'); const expect = require('chai').expect; describe("Automte Login and Registration Page in puppeteer",()=>{ let browser let page before(async function(){ browser = await puppeteer.launch({ headless:false, slowMo:0 }) //Launch browser page = await browser.newPage() //Enter Url await page.goto("http://automationpractice.com/index.php") }) it('Navigate to URL', async()=>{ //Click to login link await page.waitForSelector('.login'); await page.click('.login'); }) it("Register As user",async()=>{ //Enter Email Id await page.waitForSelector('#email_create'); await page.type('#email_create','Codebuntut06@gmail.com') await page.click('#SubmitCreate'); await page.waitForSelector('#id_gender1'); await page.click('#id_gender1'); //Enter FirstNmae........ await page.type('#customer_firstname', 'bhupi'); //Enter LastName..... await page.type('#customer_lastname', 'Patel'); //Enter password.... await page.type('#passwd','Demo@123'); //Select Date Of Birth..... await page.select('#days','8'); await page.select('#months','5'); await page.select('#years','1992'); //Enter your address await page.type('#company','Bhupi'); await page.type('#address1','Bhupi'); await page.type('#city','Imorec'); await page.select('#id_state','4'); await page.type('#postcode','25968'); await page.type('#phone_mobile','8585858585'); await page.type('#alias','gfdg fdgfdgf'); //Click to Registration button.. await page.click('#submitAccount'); await page.waitForSelector('.logout'); let signoutText = await page.$eval('.logout', element=>element.textContent); //Verify signout text... console.log(signoutText); expect(signoutText).to.include('Sign out'); //Logout await page.click('.logout'); }) it('Login as user',async()=>{ //Enter username... await page.waitForSelector('#email') await page.type('#email','Codebuntut06@gmail.com'); //Enter password await page.type('#passwd', 'Demo@123'); //click to login b3utton. await page.click('#SubmitLogin'); //Verify login await page.waitForSelector('.logout'); let signoutText = await page.$eval('.logout', element=>element.textContent); //Verify signout text... console.log(signoutText); expect(signoutText).to.include('Sign out'); }) after(async function(){ await browser.close() }) });
Output: