Wednesday, 21 June 2017

Next Generation Automation - Bots

I was sitting in my room and watching TV, I saw advertisement where the actor said "Alexa, reorder flour". I jumped out of chair and just said - "New Generation Automation has arrived, and this time in our day to day lives".

This not only changed my mind but changed my search and blog for this month. I checked Amazon- Alexa, Apple- Siri ,Windows- Cortana and Google - ; these all are personal assistants to provide the requested information.

Aha.... I have decided to write something on "ChatBots with IBM Watson"

Lets create simple ChatBot with Watson. We need to create IBM - Bluemix account. This is free 30 days trial. The account creation is very simple.
Enter your email, Name, password and location and submit. From email box activate the account and login.

Once logged in, it will ask to create an organisation and space. Click on "I am Ready"

1. Click on "Services"
2. Click on  "Watson"
3. Click on "Conversation"
4. Click on "Create"
5. Click on "Launch Tool"
6. Here we can create our own work space - click on Create button
7. Create Intents now - Click on "Create" (Intent is nothing but the #<<servicename>> e.g. #sales)
8. Add Intent name and examples
9. Create Dialog and we are ready

Now click on "Ask Watson". That's it we are ready with our first ChatBot, its very simple, isn't it?

You can visit for more details-

https://www.ibm.com/blogs/watson/2016/12/build-chat-bot/

Let start new journey of Bots!!



Sunday, 30 April 2017

Open Source Automation tool - SAHI

Hi Friends,
Thank you for visiting my blog. Today, lets see another open source tool -SAHI.

 SAHI is a web automation tool which is easy to use and helpful for cross browser as well as multi browser testing. SAHI works with any installed browser which supports JAVA scripts. It helps automating web applications which have AJAX and Dynamic web elements.

SAHI has a dashboard i.e. friendly user interface to Select available browsers and links to various operations. SAHI controller is useful for record and play back. It uses SAHI, JAVA or Ruby for the same.

The idea of SAHI is to inject JAVA script into webpages and create event handlers. SAHI uses own wrappers to identify elements in DOM.

SAHI helps creating functions from the recorded script with just a click on the button. Creating library files for our automating test becomes easier.SAHI scripts can be executed on one browser, multiple browser or even on distributed machines. The most interesting part of execution is parallel run of the automated scripts. This feature makes it far more advance to test multiple scripts at the same time.

This tool automatically adds wait for AJAX and dynamic controls so that the script will work smoothly. SAHI Pro also works with FLEX controls on the web pages. Screenshot capture is an inbuilt feature of tool hence no need to write a single line of code.  Also, it provides all types of reports in form of Excel and HTML. Email feature can be used to send out reports after each execution.

SAHI provides ANT script which we can add to deploy and can integrate with JENKINS like CI tools. This integration is simple.

SAHI OS is free for lifetime, however SAHI Pro is free for one month only. SAHI Pro costs $695.

The installation and setup is simple. Please find a free demo and check the tool on the following links -

https://sahipro.com/docs/using-sahi/quick-tutorial.html
http://sahipro.com/request-a-demo/ 

Sunday, 15 January 2017

Selenium for Desktop Application - Winium

Wish you all Happy New Year 2017. This year, I am planning to bring more tools, techniques and frameworks for all my readers.

I have few requests around the Windows based application automation which will be as simple as Web based automation using Selenium. Hence I thought of writing this post on "Winium" which is  "Selenium for Desktop Application - Winium"

Winium is simply Selenium Remote WebDriver  implementation for testing Windows based application. Winium can be useful for Windows based application based on WinForms and WPF platforms. We need other drivers as well if the Application under test is Silverlight application. However the control positions can be the best option for some of the tricky applications.

So when we are working on the complex applications pool under test and do not want license tools to complete the test automation requirement for Windows, Web and Mobile then we can consider Selenium for all in different forms. Hence for Windows - Winium, Web - Selenium WebDriver and for Mobile Appium.

As Selenium supports Java, C#, PHP, Ruby, Python like languages, Winium also supports. As we have seen that Winium desktop driver implements Selenium Remote WebDriver and listens for JsonWireProtocol and use Winium Cruciatus, Winium Cruciatus is a C# framework for WinForms and WPF Platforms.

Now, we have option to use core C# framework using Winium.Cruciatus or Selenium WebDriver remote using Winium.Desktop. Here the difference is the prior helps to write a code in C# using System.Windows.Automation namespace and the later helps to write the automation script in Selenium supported languages.

As WebDriver implementation is simple, lets talk about core C# implementation using Winium. Cruciatus wrapper on the System.Windows.Automation namespace.  First we need to add the reference to the project and then we need to create the mapping. Once the mapping  is created use the mapping in tests. Its simple.

Please refer example here -
https://github.com/2gis/Winium.Cruciatus/tree/master/src/TestApplications.Tests

Happy Automating Desktop Applications!