Category: C#

Generating Extent Report with Specflow and Selenium C#

In this article we will discuss how to generate Extent Report with Specflow and Selenium C#, this article is splitted into three different videos and this post will keep on updating everytime new video is released.

Extent Reports

ExtentReports is a logger-style API written for Java and .NET environments which allows creating HTML reports from tests.

Extentreport pseudocode – BDD Style

Here is the report we are going to generate in this mini series

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

Appium automation framework development with C# (Advanced)

Dear friends,

As always, I am pretty excited to release an all-new course on Udemy on Appium automation framework development with C# (Advanced). Appium with C# framework development course is the first-ever course on the internet which talks about details on automating mobile hybrid and native applications like Ionic and Xamarin with both Windows and MacOS ecosystems.

Interestingly, this course is designed by you and for you which you call see from the poll result from ExecuteAutomation blog for a couple of months now and it turns out that you choose Appium with C# course and here is the course

Here is an introduction video  of the course

The course cover following topics

  • Introduction to Appium
  • Automation Hybrid Ionic android application in Windows 10 OS
  • Page Object Models
  • Automation Native Xamarin iOS application in MacOS High Sierra
  • Introduction to framework design and development
  • BDD with Specflow for Appium with C#
  • Base and Appium Extensions
  • Custom configurations and more..

You can check out the complete course from here https://www.udemy.com/automation-framework-development-with-appium/

If you like the course and would like to enroll, please leave your message in the comments below with correct email ID, I will share you the latest and greatest coupon code for the discount.

Thanks,
Karthik KK

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

Running C# code on Raspberry Pi 3 with .Net core 2.0

In our last video in YouTube channel of ExecuteAutomation we discussed how to install Windows 10 IoT on RaspberryPi 3 and access it via Powershell and device portal, in this post we will discuss how to run an simple C# console application on RaspberryPi 3 with .Net Core 2.0 framework.

Getting stage ready for .Net core 2.0 app

Before we start writing console application, first we need to have following pre-requisite environment setup

  1. Installing .Net Core 2.0 SDK in Windows 10 host machine, which you can see from here
  2. Should have at least VS code or VS 2017 community edition (to edit C# code)

Coding

Here is the simple code written to execute on RaspberryPi 3 running Windows 10 IoT

After Coding

Connect with Raspberry Pi 3 via power shell and enable FTP service to transfer file from host machine to Raspberry Pi 3

Running code on Raspberry Pi from Powershell

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

Parallel execution with Specflow 2.0 + NUnit + Selenium

In the last post we discussed how to work with Specflow 2.0 parallel execution, in this post we will discuss how to run Multiple tests in parallel in multiple browser same time using Specflow + NUnit + Selenium.

Problem with Selenium WebDriver object while running Specflow test in Parallel

Since we will be using selenium webdriver object in many Specflow step definitions and while running tests in parallel, we will encounter NullReferenceException , in order to resolve the problem, we need to use two important techniques

  • Context injection (dependency injection)
  • IOC Container

IOC Container

  • In software engineering, inversion of control (IoC) is a design principle in which custom-written portions of a computer program receive the flow of control from a generic framework.
  • A software architecture with this design inverts control as compared to traditional procedural programming: in traditional programming, the custom code that expresses the purpose of the program calls into reusable libraries to take care of generic tasks, but with inversion of control, it is the framework that calls into the custom, or task-specific, code.

-Source : Wikipedia

So how code looks like for IOC Container?

Here is the complete source code in GitHub https://github.com/executeautomation/SpecflowSeleniumParallel

Here are the complete videos of the above discussion

Video 1

Video 2

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