Playwright Getting Started

Playwright was created to accommodate the needs of end-to-end testing. It supports all modern rendering engines, including Chromium, WebKit, and Firefox. It has an incredible architecture using WebSockets connection protocol, which means more efficient communication between test commands and actions in your browsers. Another great advantage is that it runs all your test in parallel and generates an excelent build-in report. Let’s start by installing NodeJS on our computer, I highly recommend using NVM so you can manage different versions. [Read More]

Cypress Applitools Integration

In the same way, we open our eyes and analyze if an image looks good; Applitools uses Visual AI to detect changes in our website so we can identify UI defects or validate expected new functionality. In this technical post, we will go over Applitools technology and how it can save us a ton of time in visual component validations. NOTE: If you need to know how to setup Cypress, please refer my previous post: Cypress Getting Started. [Read More]

Selenium Cucumber And TestNG

Selenium is a collection of tools and libraries that enable and support automation for web browsers, Selenium follows the W3c WebDriver Specification standard, which is important due to allows you to create interchangeable code for all major web browsers. Also is a truly open source project under Apache version 2.0 license. This time we will review how to build a browser functionality validation using Selenium, Cucumber, and TestNG. First, let’s create a new Maven project using IntelliJ and select Java 17 version, your pom. [Read More]

WebdriverIO Lighthouse

Lighthouse It is a performance tool for measuring and monitoring a website. You can run Lighthouse as Chrome extension, from the command line, or as a Node module. Coming with WebdriverIO you can use it with devtools service. In this technical post, we will go through the process to configure and use Lighthouse module as a service to run chrome devtools commands in a spec test with Mocka Framework. NOTE: If you need to know how to setup a WebdriverIO, please refer to my previous post: WebdriverIO Getting Started. [Read More]

WebdriverIO with Cucumber Getting Started

WebdriverIO Is an automation framework based in NodeJS designed to support cross-browser testing and modern mobile native applications. It’s archictecture is based on plugins you can use to extend easily functionlality. WebdriverIO rely on WebDriver protocols that guarantees a true cross-browsing experience and also is a truly open source project driven by OpenJSFoundation. This time we will connect WebdriverIO with Cucumber Framework. Let’s start by installing NodeJS in our computer, I highly recommend to use NVM so you can manage different versions. [Read More]

WebdriverIO Geolocation

In this technical post we will go over the process to mimic user’s geolocation using WebdriverIO along with Mocha Framework. NOTE: If you need to know how to setup a WebdriverIO, please refer my previous post: WebdriverIO Getting Started. Then add devtools dependency: npm i --save-dev @wdio/devtools-service Then edit wdio.conf.js and add devtools service to the webdriverIO configuration. // Test runner services // Services take over a specific job you don't want to take care of. [Read More]

Applitools Getting Started

In the same way we open our eyes and analyze if an image looks good, Applitools uses Visual AI to detect changes in our website so we can identify UI defects or validate expected new functionality. In this technical post we will go over Applitools technology and how it can save us ton of time in visual components validations. NOTE: If you need to know how to setup a WebdriverIO, please refer my previous post: WebdriverIO Getting Started. [Read More]

Templating with Swig & Express

Express is a minimal and flexible Node.js web application framework. To install: npm install express --save Swig is a simple, powerful, and extendable JavaScript Template Engine. To install: npm install swig --save In this lines we are registering our swig engine in express as html and specifying our template directory application.engine('html', swig.renderFile) application.set('view engine', 'html') application.set('views', __dirname + '/views') We can configure cache in our application as follows: application.set('view cache', false) swig. [Read More]

Mongoose

Mongoose allows us to have access to the MongoDB commands, to include mongoose library type in your terminal: npm install mongoose --save In order to use mongoose in your js, you need: //Grab it in our project var mongoose = require('mongoose') //Connect to a MongoDB database mongoose.connect('mongodb://localhost/mongoosedb') //Create an Schema (is what is used to define attributes for our documents) var Schema = mongoose.Schema //A model using it var Person = mongoose. [Read More]

Inquirer & Callback

Inquirer.js strives to be an easily embeddable and beautiful command line interface for Node.js Inquirer.js should ease the process of: Providing error feedback Asking questions Parsing input Validating answers Managing hierarchical prompts In order to install inquirer type in your terminal: npm install inquirer --save Usage prompt functionality: var inquirer = require("inquirer"); inquirer.prompt([/* Pass your questions in here */], function( answers ) { // Use user feedback for... whatever!! }) Let’s consider the following code: [Read More]