10 best open source web testing tools

Web testing is the kind of software testing focusing on web applications.  Such testing will help to identify errors/bugs before the website is live/visible to public.  Today there are many open source testing tools that are easily available.  Here are a few list of testing tools which will give you an insight on the usage and purpose.

JMeter – Load and Performance tester
JMeter is a pure Java desktop application designed to load test functional behavior and measure performance. It may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types.

Grinder – Java Load Testing Framework
The Grinder is a Java load testing framework that makes it easy to run a distributed test using many load injector machines. Load test anything that has a Java API. This includes common cases such as HTTP web servers, SOAP and REST web services, and application servers (CORBA, RMI, JMS, EJBs), as well as custom protocols.

Multi-Mechanize – web performance and load testing framework
Multi-Mechanize is an framework for web performance and load testing. It allows you to run simultaneous python scripts to generate load (synthetic transactions) against a web site or web service. You programmatically create test scripts to simulate virtual user activity. Your scripts will then generate HTTP requests to intelligently navigate a web site or send requests to a web service.

Selenium – Web app testing tool
Selenium is a suite of tools such as Selenium IDE, Selenium Remote Control and Selenium Grid to test the web application. Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. It supports record and playback.

Capybara – Acceptance test framework for web applications
Capybara aims to simplify the process of integration testing Rack applications such as Rails, Sinatra or Merb. Capybara simulates how a real user would interact with a web application. It is agnostic about the driver running your tests and currently comes with Rack::Test and Selenium support built in. HtmlUnit and env.js are supported through external gems.

OpenSTA – Open Systems Testing Architecture
OpenSTA is a distributed software testing architecture designed around CORBA. The current toolset has the capability of performing scripted HTTP and HTTPS heavy load tests with performance measurements from Win32 platforms. Results and statistics are collected during test runs by a variety of automatic and user controlled mechanisms. These can include scripted timers, SNMP data, Windows Performance Monitor stats and HTTP results & timings.

Pylot – Performance & Scalability Testing of Web Services
Pylot is a free open source tool for testing performance and scalability of web services. It runs HTTP load tests, which are useful for capacity planning, benchmarking, analysis, and system tuning. Pylot generates concurrent load (HTTP Requests), verifies server responses, and produces reports with metrics. Tests suites are executed and monitored from a GUI or shell/console.
It supports HTTP and HTTPS. It is multi-threaded and generates real time stats. Response is verified with regular expressions. GUI and Console mode support available.

WebLoad – The best LoadRunner Alternative
The WebLOAD Open Source Load Generation Engine is an open source project sponsored by RadView Software. This project is intended for ISVs, SIs and software developers who need to integrate a professional load generation engine into their applications.

Webrat – Ruby Acceptance Testing for Web applications
Webrat helps to write expressive and robust acceptance tests for a Ruby web application. It supports multiple Ruby web frameworks like Rails, Merb and Sinatra. It also supports popular test frameworks like RSpec, Cucumber, Test::Unit and Shoulda.

Windmill – Web Testing Tool
Windmill is a web testing tool designed to automate and debug your web application. It provides cross-browser test recorder. It has built-in shell to interact with WIndmill server. Write and run tests from Python, Ruby and Javascript.


Managing e-mail templates using Magento

Magento has a great set of options to manage the Email Templates. Here we are going to see how to create our own Email templates for forgot password and how to change the magento default Email Templates and change the Email Sender options etc. Lets see it straight away. ( All the images used in this post  are high resolution images so that you can get a clear picture, If there are any discrepancies let me know through your comments ) We are going to create a “New Forgot Password Template” and override the default forgot password template in just 8 easy steps.

1. Go to System -> Transactional Emails

2. You will get a new block called “Transactional Emails” with the list of email templates. By default you can find no one.

3. Click on “Add New Template” to create our own Email Template.

4. Choose the template “New Password” from the available list of options in the first drop down menu.

5. Choose your “Locale” or “Language settings“. In this case it is “English (United States)”. And here i want to leave a note. In case if you select German (Germany) and not able to see the german email template then it means you have to change your store configuration locale to German. After changing this you can get the “Deutsch (Deutschland)” and the email template for forgot password in german.

6. Now click on “Load Template” and you can see the template subject, template content and template styles. Make necessary changes to your template as you wish and give your template a name. For example if you want to change the magento Email Logo. Just Copy your New Email Logo to the default skin\frontend\default\default\images location and replace the default magento logo ‘logo_email.gif’ with your new email logo file name lets say ‘mystore_logo_email.png’. In this case “MyStore New Password” and preview the template if it looks good for you then go ahead and save the template as “mystore new password”.

7. Its not over yet. So far we have created only a new email template for “forgot Password”. Still we have to assign this as the Forgot Email template instead of the default magento email template and change the email configurations. Lets see what we have to still to get our new email email template for forgot password. Click on both the links “Configuration” and “Customer Configuration” to change the Magento Email settings. At first let us see what we have to change in configuration. Go to System -> Configuration -> Store Email Addresses and change the email addresses for the General, Customer support etc.

8. Then Go to System -> Configuration -> Customer Configuration. Click on the “Password Options” and assign our new email template “mystore new password” as an email template for forgot password. And we can also choose the Email Sender too from the drop down last for Forgot Password emails.

And save the Configuration. Now we are all set just click on the forgot password link in the customer login option on front end (Don’t try with the forgot password for magento admin panel because we have created a new email template only for Customer new password not for Admin New Password). Here we get our own Forgot / New Password Email with our own Logo in our own fashion and colours.  If you have any difficulties or discrepancies let me know through your comments. Catch you soon with another useful magento article.