Page Object Model in Selenium

Page Object is a Design Pattern which has become popular in test automation for enhancing test maintenance and reducing code duplication. A page object is an object-oriented class that serves as an interface to a page of your Application under test. The tests then use the methods of this page object class whenever they need to interact with that page of the UI. The benefit is that if the UI changes for the page, the tests themselves don’t need to change, only the code within the page object needs to change. Continue reading “Page Object Model in Selenium”

6 Best automated software testing tools

There are many automated software testing tools available for software test automation. Few of the most popular and good tools are listed below. These are not listed in order of importance. Depending on your requirement you may choose your tool. For example if you want open source tool then Selenium may be good option.

Selenium

Selenium

Selenium is a portable software testing framework for web applications. Selenium provides a record/playback tool for authoring tests without learning a test scripting language. It supports record and playback (Selenium IDE), intelligent field selection, auto complete for all selenium commands. It supports different programming and scripting languages like C#, Java, Ruby, PHP etc.

 

HP QTP

hp_qtp

HP-QuickTest Professional software provides functional and regression test automation for software applications and environments. HP QuickTest Professional features a graphical user interface. It is industries most popular test tool. It has a comprehensive feature set. It is also one of the costliest tool in the market. It uses the Visual Basic Scripting Edition (VBScript) scripting language to specify a test procedure, and to manipulate the objects and controls of the application under test. HP QuickTest Professional was originally written by Mercury Interactive. Mercury Interactive was subsequently acquired by Hewlett Packard (HP)

Telerik Teststudio

telerik

Telerik TestStudio is an all in one tool for functional, load, performance and mobile app testing. The in-depth functional testing includes native web and desktop apps testing along with mobile and tablet apps, HTML5, AJAX, Silverlight and WPF apps testing. The tool ships with a plugin for Visual Studio and a standalone app that use the same repositories and file formats. Test Studio supports test execution in Internet Explorer, Firefox, Safari and Chrome.

Visual Studio Ultimate/Premium

visualstudio

Visual Studio ultimate/premium is an integrated testing toolset developed by Microsoft to facilitate a plan-test-track workflow for collaboration between testers and developers. It has a rich set of features to do automated testing. It provides option to automate using Coded UI tests and support record and playback.

Rational Functional Tester

rationalfunctionaltester

IBM Rational Functional Tester is an automated functional testing and regression testing tool. This software provides automated testing capabilities for functional, regression, GUI, and data-driven testing. Rational Function Tester supports a range of applications, such as web-based, .Net, Java, Siebel, SAP, terminal emulator-based applications, PowerBuilder, Ajax, Adobe Flex, Dojo Toolkit, GEF, Adobe PDF documents, zSeries, iSeries, and pSeries.

Test Complete

testcomplete

TestComplete is an automated testing tool, developed by SmartBear Software which aims to allow testers to create software quality tests. Tests can be recorded, manually scripted or created manually with keyword operations and used for automated playback and error logging. TestComplete is used for testing many different application types including Web, Windows, WPF, HTML5, Flash, Flex, Silverlight, .NET and Java. It automates front-end UI/functional testing and back-end testing like database testing.

Jmeter limitations with Monitoring server on load and how to overcome?

JMeter has option to add monitor test plan to monitor application servers. But it only works with Tomcat 5 status servlet. But any servlet container that supports JMX (Java Management Extension) can port the status servlet to provide the same information.

Also if user want want to use the monitor with other servlet or EJB containers, Tomcat’s status servlet will work with other containers for the memory statistics without any modifications. To get thread information, MBeanServer will require change in lookup to retrieve the correct MBeans.

But still it is not possible of Windows server IIS.

One of the way to overcome this situation is using Nagios. This can also be used in conjuction with JMeter. That is load is generated using JMeter and Nagios is used to monitor application server performance on load.

Now, the question is what is nagios? How it works ….

Nagios is System and network monitoring tool. It watches hosts and services that is specified and alerts when things go bad crosses threshold value ( this threshold value can be configured) and when they get better.

It works on Linux and linux like system.. BUT it can also MONITOR WINDOWS SERVER. This is the most important aspect of it.

The only requirement of running Nagios is Linux machine or its variant and c compiler.

On the next article I will explain the details of how it can be used to configure and monitor windows machine.

How to configure and use Selenium with C#

Step 1: Download Selenium Core, Selenium IDE and Selenium RC from the website http://seleniumhq.org/download/

Step 2: Installing the IDE. It consists of an XPI file that needs to be added in Firefox.

Step 3: Unzip the Selenium RC folder.

Step 4: To record Scripts, Open the IDE. To run the Selenium IDE, open Firefox and Select it from Firefox tools menu. Refer the screenshot below.

http://digitalab.org/wp-content/uploads/2014/08/IMG-20140706-00002.jpg

To start recording, click on the Red icon ( )

Step 5:

After recording the script, select C# format to convert the scrip in C# format.

ide

Step 6: Configure the .Net client driver.
.Net Client driver can be used with Microsoft Visual Studio. Launch Visual Studio and select new project of type Class Library.
Copy the converted code in the Class1.cs(default name) file and rename the file as required.
Add reference to the following dlls.
nunit.framework.dll
ThoughtWorks. Selenium.Core.dll
ThoughtWorks.Selenium.IntegrationTests.dll
ThoughtWorks.Selenium.UnitTests.dll

Step 7: Build the application.

Functional Testing using Selenium – Introduction

Selenium is a portable software testing framework for web applications. Selenium provides a record/playback tool for authoring tests without learning a test scripting language. Selenium provides a rich set of testing functions for testing web applications. These operations are highly flexible, allowing many options for locating UI elements and comparing expected test results against actual application behavior.

It also supports multiple browsers. Selenium is highly flexible. There are multiple ways by which one can customize and add functionality to selenium’s framework. This is one of the strongest characteristics when compared with other proprietary test automation tools and open source tools. In selenium different programming language and scripting language can be used. It supports Java, C#, Perl, PHP, Ruby etc.

Selenium has three major tools: viz. Selenium IDE, Selenium RC ( Remote control) and Selenium Core

Selenium-IDE

Selenium-IDE is the Integrated Development Environment for building Selenium test cases. It operates as a Firefox add-on. Through this you can record user actions and store them in scripts. It has context menu integrated with Firefox browser allowing user to pick from list of assertions.

Selenium-RC (Remote Control)

Selenium-RC allows the test automation developer to use a programming language for maximum flexibility and extensibility in developing test script. Selenium-RC provides an API (Application Programming Interface) and library for each of its supported languages: HTML, Java, C#, Perl, PHP, Python, and Ruby. This helps in writing high quality automated test scripts which can also be integrated with project’s automated build environment.

For more details visit the official website http://seleniumhq.org/docs/