Request Quote

How to Sign Up in Magento2 Using CasperJS

Testing can be boring and time consuming task if you are performing same task multiple times. To make it easier have to use some tools. In Magento there are various “repetitive” tasks that need to be done after the first install like we need to create a test account, add product in cart order placement etc. CasperJs is the best tool to overcome this problem.

CasperJS allows you to build full navigation scenarios using high-level functions and a straight forward interface to accomplish all sizes of tasks. CasperJS comes with a basic testing suite that allows you to run full featured tests without the overhead of a full browser.

For the installation and basic CasperJs knowledge you can check here. Now we’ll proceed with the testing process. Here we’ll get to learn how we can register or signup a new customer using CasperJs into a magento2 store.

The code procedure is as follows-
Open home page of your Magento2 store, click on “Create an Account” link, open “Create New Customer Account” page to fill out the form, submit it, wait to be redirected to “My Account Dashboard and then get url of the dashboard page along with screenshot.

Here we have used some Casperjs methods like-

click() method is used to click a link and buttons.

capture() method is user to capture the particular page and you can see the screenshots parallel to your script.

fill() method is used to fill the forms.

getCurrentUrl() is used to get the current page url.

/**
* Webkul Software.
*
* @category Webkul
* @package Webkul_CasperJS
* @author Webkul
* @copyright Copyright (c) 2010-2016 Webkul Software Private Limited (https://webkul.com)
* @license https://store.webkul.com/license.html
*/

var BASE_URL = casper.cli.get('url');//'url' will be entered on terminal

// Go to home page
casper.test.comment('Go to Home Page');
casper.start(BASE_URL, function() {
    this.test.pass('Home page was loaded');
});
// Click on "Create an account Option"
casper.then(function () {
    this.click('ul.header li:last-child a:last-child');
    this.test.pass('register page was loaded');
});
// Fill Create New Customer Account form
casper.then(function () {
    this.test.info('Current location is ' + this.getCurrentUrl());
    this.fill('form#form-validate', {
        'firstname': 'John',
        'lastname': 'Doe',
        'email': 'john@doe.com',
        'password': 'Admin123',
        'password_confirmation': 'Admin123'
    }, true);
    this.capture('form_populated.png'); //you'll see the screenshot of populated form parallel to your script.
    this.test.pass('form populated');
});

// Registration completed
casper.then(function() {
    this.test.info('Current location is ' + this.getCurrentUrl());
    this.test.pass('Registered');
});
// Account dashboard/welcome page
casper.then(function() {
    casper.wait(2000, function () {
        this.capture('dashboard.png'); //you'll see the screenshot of Dashboard parallel to your script.
        this.test.pass('Dashboard In');
    });
});
casper.run(function () {
    this.test.done();
});

Now you have to run a command on your terminal-

casperjs test your_file_name.js –url=http://your_magento_homepage

Here, you can see the result on your terminal –

After completing the test execution you can see the screenshots parallel to your script.

 

 

. . .

Comment

Add Your Comment

Be the first to comment.

css.php
Hire Us!
Brief us about your requirements and we'll get back to you.
Woo! Hooy!
We have just recieved your project brief and our expert will contact you shortly.
Send Again
Close