You are on page 1of 24

1.

Team Member(s) with Reg # Mobile:

1. GUNASEKHAR REDDY-18MIS0333;6383333195
2. SRIKAR KOTRA-18MIS0369;
3. VENKATA MOHAN-18MIS0370;9652492054

2. Project Title: Testing web documents using Windmill tool

3. Name and Signature of the Guide : Prof. Magesh.G


REVIEW -1
Tool: Windmill
INTRODUCTION:
Windmill is an open source web testing tool created for automating and
debugging the web applications. It offers cross browser and cross platform
support for web apps testing.
Till May 2016, Windmill was actively maintained. But now, it has been covered
by web driver/selenium 2.

LITERATURE REVIEW:
The testing of software is an important way of assessing the software to
demonstrate its quality. Testing require 40 - 50% of development efforts, and
consumes more effort for systems that require higher levels of reliability, it is a
cogent part of the software engineering

Nowadays various tools are used to test web applications. For example
Selenium,Waitr,Sahi etc. Today we will have a look at one of the best Open
Source Web Testing Tool called Windmill.

Windmill is a cross-platform, cross-browser software testing framework,


primarily used for testing Web applications. Most users write tests in Python or
in JavaScript, but there is also a library that provides Ruby support. Windmill
also provides a recorder tool that allows writing tests without learning a
programming language. Windmill supports all major modern Web browsers,
and runs on Microsoft Windows, Mac OS X, and Linux. As the Cosmo client is
heavy in JavaScript and AJAX functionality, Windmill makes the
communication between the service and the client code a priority.

The technique which tests web applications is called as Web Application


testing. Web Application testing consists of different techniques like
Compatibility testing, Functionality testing, Security testing, Interface testing,
Performance testing and Usability testing.

Windmill is a web testing framework that provides automation testing and


debugging capabilities. The purpose of windmill is to create test writing
portable and easier. It supports Firefox, Safari, Chrome and Opera browser. The
tool runs on Microsoft Windows, Linux and Mac OS X. Without require any
programming language Windmill provides a cross-browser test recorder that
helps in writing tests.

Windmill is no longer actively maintained but still available for download from
GitHub
Windmill provides a cross-browser recorder and an interactive shell to automate
web browsers. It provides various useful features which are given below.

EXISTING SYSTEM:
The technique which tests web applications is called as Web Application
testing. Web Application testing consists of different techniques like
Compatibility testing, Functionality testing, Security testing, Interface testing,
Performance testing and Usability testing.

So the methods of measuring the quality are software testing tools. This paper
presents a study on various automated testing tools that used on different
platforms. It takes time and effort and having a software testing goal to know
which tool is the best to use given the type of software testing needs.
Automation testing tools helps the tester to easily automate the testing process.
Automation testing improves the accuracy and also save time of the tester as
compared to the manual testing. The intention of this research is to carry out a
comparing and studying the concepts, builds and features of automated tools

Additional requirements needed for the existing system:

PROPOSED SYSTEM:
It takes time and effort and having a software testing goal to know which tool is the
best to use given the type of software testing needs.Automation testing tools helps the
tester to easily automate the testing process. Automation testing improves the
accuracy and also save time of the tester as compared to the manual testing.The
intention of this research is to carry out a comparing and studying the concepts, builds
and features of automated tools
SAMPLE TEST CASES:
Sl.no Scenario Test case Expected Actual output
output
1 Create a 1. Minimum number of 1.If sample 1.question file
sample copy questions =20 copy is is loaded
of questions 2. Proper intendation has satisfactory, 2.else display
to be maintained load the “error in
3. Last line should be question file. question file”.
END OF LINE. 2.Else display
“error in
question file”.
2 Answer to 1.Avoid punctuation and 1.Answer is
be entered capitals in answers 1.An answer is analysed.
2.An appropriate answer entered.
format need to be provided

3 Testing the 1.If answer is correct 1. it is right is


answer i. Display “it is right” 1.it is right is displayed
ii. Else display “wrong displayed
the answer is “%d”.

Features of Windmill web-testing tool


• Windmill has a record and play feature.
• Supports multiple browsers like Chrome, Firefox, IE, Opera, Safari
• It is OS independent.
• Supports languages like Python, JavaScriptand Ruby.
• It supports Web and RubyOnRails technologies.
• Debugging tools like Firebug and Firebug Lite.

Advantages of Windmill

• We can save the test suite in multiple formats. For example in python,
json and javascript.
• Windmill supports multiple browsers but supports only Python,
JavaScript and Ruby languages.
• Windmill has integrated debugging tools like Firebug and Firebug Lite.
• Test recorder for all browser platforms.
• Visual Studio or Eclipse is not required since the tests can be directly
written in the Windmill IDE.

How to run Windmill?


There are different ways to run Windmill. Today let’s have a look at Command
line Utility.

Command Line

• Mozilla browser
There are two ways you can run windmill.
windmill firefox http://www.yoursitelink.com
windmill –m http://www.yoursitelink.com
• Chrome browser
windmill chrome http://www.yoursitelink.com
• Safari browser
windmill safari http://www.yoursitelink.com
windmill –shttp://www.yoursitelink.com

How to create Tests in Windmill Testing Suite?


• Start IDE - windmill firefoxhttp://www.yoursitelink.com

• Two windows will be opened. One will contain the application you want
to test (http://yourwebsitelink.com) and the other will contain Windmill IDE.
• Record Tests – Click on record button to start recording.
• Play Tests – Click on play button to run the test.
• Save Tests – Click on save button to save the test.

Windmill Settings
We can change the Windmill Settings from the Settings tab. For example:
• Format of saving the Test suite.
• Auto Scroll action.
• To suppress JavaScript alerts.
• Break on Failure.
• Full debug
• To use XPath only for recorder or explorer.
• Click sensitivity while recording.
• Play action

How to run Windmill Test script? (Command line)

• windmill firefox
test=./path_to_your_scripts_folder/http://www.yoursitelink.com


Table of Contents

1.Introduction
1.1 Purpose of this document
1.2 Scope of the development project
1.3 Definitions, acronyms and abbreviations
1.4 References
1.5 overview of document

2.Design Considerations
2.1 operating environment
2.2 Fault tolerant design
2.3 Design Conventions

3.System Architecture
3.1 Architecture Diagram
3.2 Class diagram
3.3 Description for Component
3.4 Dynamic Behaviour of Component n
3.4.1 Interaction diagram
3.4.2 State chart Diagram
3.4.3Activity Diagram

4.Database Schema

5.User Interface Design


1. Introduction

1.1 Purpose of this document


The purpose of this new test suit reduction technique is to replace the redundant
test suite techniques and to remove those test cases which are not required with
an algorithm called Quine-McCluskey algorithm which is used for algebraic
simplification of a Boolean function. Above the system hopes to provide
comfortable user experience by removing redundant test cases.

The fundamental point of the task is to give utility to keep up everyday activities
of lofts. This product assist them with storing all exchanges electronically in a
framework, which thusly spares parcel time, cash and vitality. This undertaking
is created for a rumoured development organization in the city. This
organization manufactured numerous lofts in the city and they have an
arrangement to build numerous different flats in the city.

By and by they keep up all records physically, to monitor deals, receipts,


portions, support and so forth. The organization is building numerous condos
consistently, now it is exceptionally hard to deal with every one of the
information physically, additionally if some data is required critically then to
acquire this is extremely troublesome. To take care of this issue now they are
searching for better elective arrangement. This product helps or decrease the
burden of manager by taking the management section.

Likewise sending mails if the bills are not paid. This SRS will take into
consideration an entire comprehension of what is normal from the recently
acquainted framework which is with be built. The reasonable comprehension of
the framework and its usefulness will take into account the right programming
to be created for the end client and will be utilized for the advancement of
things to come phases of the task.

1.2 Scope of the development project


The purpose of this new test technique is to replace the redundant test
suite techniques and to remove those test cases which are not required with an
algorithm called Quine-McCluskey algorithm which is used for algebraic
simplification of a Boolean function. Above the system hopes to provide
comfortable user experience by removing redundant test cases.

1.3 Definitions, acronyms, and abbreviations


• DB- database
• IDE- Integrated development environment
• TEST CASE is a set of conditions or variables under which a tester will
determine whether a system under test satisfies requirements or works
correctly.
• TEST PLAN is a document describing software testing scope and
activities.
• Windmill is a cross-platform, cross-browser software testing framework,
primarily used for testing Web applications.

1.4 References
1. http://yourwebsitelink.com
2. windmill –m http://www.yoursitelink.com
3. http://www.yoursitelink.com
4. https://github.com/windmill/windmill
5. The art of Software Testing,3rd edition by Glenford J.Myers,Corey
Sandler,Tom Badgett

1.5 Overview of document


This document contains a brief overview of how the system will be laid
out, then a more detailed account of how each component of system is
organized and how they interact. the document then touches on what
existing code we will incorporate in the system.

2. Design Considerations

2.1 Operating Environment


The Quine-McCluskey algorithm will be operating in any operating systems
which have compilers that are favourable to the algorithm and makes the
redundant requirements and the test cases reduced.
If we use online compilers through Google, Mozilla Firefox, Opera etc..we need
to have rich internet connection.
For performing all these the user must have prior knowledge about algorithms
and coding in order to perform row transformations and column transformations
using that Quine-McCluskey algorithm and reduce redundant requirements and
test cases.
2.2 Fault Tolerant Design
In this session application errors will be handled by common fault detection
services, for this project we are using code blocks for detecting errors.
Windmill tool shows the errors depending on the test cases matched.
Failure can be a total cessation of function, or a performance of some function
in a subnormal quality or quantity, like deterioration or instability of operation.
The aim of fault-tolerant design is to minimize the probability of failures,
whether those failures simply annoy the customers or result in lost fortunes,
human injury or environmental disaster

2.3 Design Conventions


The design can be drawn by using any UML tools. While laying out
interfaces of structure, we had the capacity of work with new instruments,
for instance, Dev Express. Considering the client's spending we made
those interfaces in an essential functional manner using sensible
advancement.

3. System Architecture
3.1 Architecture Diagram
3.2 Class Diagram
3.3 Description for Component n
3.4 Dynamic Behaviour of Component n

3.4.1 Interaction Diagrams

3.4.2 Statechart Diagram


3.4.3 Activity Diagram
4. Database Schema

ER Diagram

CODE:
package newproject;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
//comment the above line and uncomment below line to use Chrome
//import org.openqa.selenium.chrome.ChromeDriver;
public class PG1 {

public static void main(String[] args) {


// declaration and instantiation of objects/variables
System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.
exe");
WebDriver driver = new FirefoxDriver();
//comment the above 2 lines and uncomment below 2 lines to
use Chrome
//System.setProperty("webdriver.chrome.driver","G:\\chromed
river.exe");
//WebDriver driver = new ChromeDriver();

String baseUrl = "http://demo.guru99.com/test/newtours/";


String expectedTitle = "Welcome: Mercury Tours";
String actualTitle = "";

// launch Fire fox and direct it to the Base URL


driver.get(baseUrl);

// get the actual value of the title


actualTitle = driver.getTitle();

/*
* compare the actual title of the page with the expected one and p
rint
* the result as "Passed" or "Failed"
*/
if (actualTitle.contentEquals(expectedTitle)){
System.out.println("Test Passed!");
} else {
System.out.println("Test Failed");
}

//close Fire fox


driver.close();

}
5. User Interface Design
WEB APPLICATION TESTING:
WINDMILL INTRODUCTION PAGE:
LOADING QUESTION FILE:

SAMPLE TEST CASES:


SELECTING QUESTION FILE FROM WEBSITE DOCUMENT:

STARTING TEST:
GIVING THE ANSWER TO RANDOM QUESTION :

TESTCASES ARE PASSED:


TEST CASES ARE FAILED:

STARTING THE NEW TEST:

You might also like