Category: Selenium

This will contain all the selenium related articles

Selenium PageFactory does not work in .NET Core 2.0

In this post we will discuss one of the recent burning issue with Selenium PageFactory which does not work in .NET Core 2.0 framework.

Selenium 3.6.0 and 3.7.0 are the first official package to natively support .Net Standard 2.0 as opposed to earlier version which even though works in .NET Core 2.0 framework, will still see warnings in references as shown below

 

But the problem now with Selenium 3.6.0 and Selenium 3.7.0 is its missing one of the most important Class PageFactory used for Page Object Model and Page Navigation, which we can literally see from the Object browser of visual studio in comparison with .NET framework 4.7

 

Here is the change log of Selenium 3.6.0

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

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

Selenium is now supported in .Net Core 2.0 Preview 2 with Visual Studio 2017 15.3

In this article we will talk about running Selenium test with .Net core 2.0 Preview 2 using Visual Studio 2017 15.3

I am very happy and excited to write this article, since many of automation testers like you and me were waiting for this news and its finally happening !

Here is the System Requirement for running Selenium with .Net core

  1. Download .Net Core 2.0 Preview 2
  2. Download Visual Studio 2017 15.3

Once installed, you need to follow following steps

Step 1

Create new Unit Test Project for .Net Core

Step 2

Add following Nuget references to the project Read more

Passing parameters to NUnit test via CLI using params

In this post we will discuss yet another useful feature introduced in NUnit 3.x where we can pass a parameter to NUnit test class of C# from Command Line Interface (CLI) using a new feature called –params

Passing parameters

Starting NUnit 3.x, there is an most awaited option introduced for Nunit-console runner, which is passing parameters to test method(s) via CLI using –params

What’s the use case of this?

Consider a scenario something like this, Lets say we have to test application with multiple browsers and we somehow have to parameterize the BrowserType like Firefox,Chrome,IE

Then, we can do it via CLI and pass the parameter to the whole framework to run test based on the parameter (browser type) that we passed.

Here is the complete video of the above discussion

Here is the complete modified code

You can checkout the complete code from GitHub here 

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

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

Automation framework with Selenium Java (Advanced)

The next big course on automation testing for Selenium with Java which got released in Udemy yesterday after months of effort named Automation framework with Selenium Java (Advanced)

This course is one of my favorite course after Automation framework development with Selenium C# (Advanced) which released early this year and chosen as the bestselling course in Udemy as well !

The course features following sections

  • Understand how to design a custom automation framework
  • Understand develop various components for automation framework in industry standard
  • Understand developing generic Page Object Model practice using Generics in Java
  • Understand developing generic Page Navigation concepts of POM using Generics in Java
  • Understand and work with custom Test Runner for TestNG
  • Understand and writing custom controls for Selenium automation by learning internals of Selenium API in-depth

Here is the complete introduction video of the above course

For purchasing the above course, do drop me an email for latest coupon code to avail discount.

Thanks,

Karthik KK

Working with multiple data using DataTable in Cucumber for Java

In our last post we discussed getting started with cucumber for Java, in this post we will discuss working with multiple data using DataTable in Cucumber for Java. We have already discussed about working with multiple data in Specflow of C#, which has Table class, but here in Cucumber for Java they have class named DataTable.

Working with multiple data in Cucumber

We might need to supply multiple data instead of hardcoded value passed in steps from feature files, this happens most of the time while working with your project

This can be done using DataTable class available in Cucumber, basically DataTables are of type List<List<String>>

Table in the scenario looks something like this

Here is the complete videos of the above discussion

Working with DataTable using DataTable.raw()

Working with DataTable using custom class

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