Tag: testing

Java framework development course is tagged as Best Seller in Udemy

I am very excited to announce that the course Automation framework with Selenium Java (Advanced) is awarded as the Best Seller in Udemy Marketplace.


This is the third course of mine in Udemy marketplace to get Best seller hat next to Automation framework development with Selenium C# (Advanced) and Angular automation with Protractor + Typescript + Cucumber 

Thank you very much for making this happen !
Read more

Running ASP.Net MVC application on RaspberryPi 3 with .Net Core 2

In our last post we discussed running console application with .Net core 2. In this post we will extend the concept even further by running an ASP.Net MVC application on Raspberry Pi 3 with .Net Core 2

You can see we will run an full blow ASP.Net application on Windows 10 IoT core, which is really awesome !

Here is the complete video discussing the concept

Make sure you don’t forget to turn off <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish> 

Here is the complete project in GitHub of ExecuteAutomation

Thanks for reading the post and watching the video!!!

Please leave your comments and let me know if there is anything I should update in this post.

Thanks,
Karthik KK

Running Chrome in headless mode with Selenium C#

In this post we are going to discuss about running Chrome in headless mode with Selenium C#

Chrome headless

Headless Chrome is a way to run Chrome browser without the actual browser UI being spawned. Essentially its running Chrome without chrome! It brings all modern web platform features provided by Chromium and the Blink rendering engine to the command line and automation testing tool such as Selenium in our case

Where is it useful ?

  • A headless browser is a great tool for automated testing and server environments where you don’t need a visible UI shell.
  • And again its not a completely new technology, since there are other big players in this area such as
    • PhantomJS
    • HTMLUnitDriver

So when is Chrome Headless available ?

  • Chrome Headless is supported from Chrome 59.x and above.
  • The current stable version for Windows 10 is Chrome 60.x
  • ChromeDriver v2.30 and above supports headless mode

What changes should I make in my Existing Selenium test ?

Here is the complete video of the above discussion Read more

Working with Variables, Enums and Arrays with Typescript

In our last post we discussed an introduction and installation of Typescript, in this post we will discuss how to work with Variables, Enums and Arrays with Typescript.

Working with Variables

There are different types available in Typescript which are almost available in JS like

  1. Number
  2. String
  3. Boolean
  4. Any
  5. void
  6. Null

Variable Declaration

Declarations of variable can be done with following in Typescript

  1. let
  2. const
  3. var

Working with Arrays and Enums

Enums allow us to define a set of named numeric constants. An enum can be defined using the enum keyword.

Arrays

Inserting an value in to an array can be done something like this

Here is the complete source code of the above discussion in GitHub

Read more

Writing custom configuration for Selenium automation framework

In this post, I am going to discuss about one of the important extension added in my Udemy course Automation framework development with Selenium C# (Advanced) which is custom configuration for selenium automation framework

Problem Statement

Currently in our EAFramework discussed in the course we are using GlobalConfig.xml file to read information for our framework as one shown below

Well, the problem with the above configuration is, while working with EAFramework in remote machines to deploy the code via

  • Jenkins
  • TFS or
  • Running in remote machines on Azure

Read more

Handling multiple assert in Selenium with Assert.multiple of NUnit 3.6

In this post we will discuss how to handle multiple assert in Selenium with Assert.multiple of NUnit 3.6, this is one of the most requested feature of NUnit.

NUnit 3.6

Nunit 3.6 released by Jan 9th 2017 has number of notable improvement and features something like this

  • .NET Standard 1.6 is now supported
  • Adds support for Multiple Assert blocks
  • Added the –params option to NUnitLite
  • Theories now support Nullable enums
  • Improved assert error messages to help differentiate differences in values
  • Added warnings with Warn.If(), Warn.Unless() and Assert.Warn()
  • Enabled Path, File and Directory Asserts/Contraints for .NET Core testing
  • Added NonTestAssemblyAttribute for use by third-party developers to indicate that their assemblies reference the NUnit framework, but do not contain tests

Where is Assert.Multiple helpful ?

Consider a scenario something like this

Lets say we have to test multiple properties of an UI element in Selenium

In Nunit test framework, if the first assert fails (not meeting the condition), then the second assertion will not even takes place and the whole test fails (which we all know)

But using new Assert.Multiple method, the code can be written something like this

Benefits of Assert.Multiple

Read more

Working with Cucumber Hooks to Initialize and Teardown tests

In our last post we discussed working with multiple data using DataTable and Custom classes of DataTable, in this post we will discuss working with cucumber hooks and how helpful it is to initialize and teardown different test artifacts

Cucumber hooks

If you are from Specflow background, you might have noticed there are different types of hooks available like

But unfortunately in cucumber for Java we only have two hooks

  • @After
  • @Before

Limitation in cucumber for Java

In Specflow, you can call hooks for each and every steps, features, scenario, scenario block or whole test run, but its not possible with cucumber for Java

Here is the complete video of the above discussion

Thanks for reading the post and watching the video!!!

Please leave your comments and let me know if there is anything I should update in this post.

Thanks,
Karthik KK