Archived PushToTest site

Selenium and TestMaker - Architecture


Features and Benefits
Browser Compatibility Testing
Scriptless Test Development
Data Driven Tests
Selenium IDE
SeleniumHtmlUnit Reference
Unimplemented Commands
DZone RefCard
Debugging Techniques
Selenium Documentation
Open Source Test Workshop
High Speed Test Operation
Results Analysis
Scaling Selenium Tests
Continuous Integration
Alternative To QTP
TestMaker IDE Preview

Global enterprises are challenged to surface performance and load issues, regression and functional issues, and to accomplish business service production monitoring in Rich Internet Application (RIA) environments that use Ajax technology. Selenium is a popular and widely used open-source test development tool. Selenium enables testers to record functional tests of applications in Selenium IDE, a Firefox-based record/playback test development environment. Playback these tests in Firefox, Internet Explorer, Chrome, Opera, Safari and other browsers.

Repurposing Methodology and Architecture

PushToTest Repurposing Methodology applied to Selenium enables many types of testing:

  • Functional Testing in the Firefox Web Browser - Record test scripts using Selenium IDE, a plug-in to the Firefox browser. Play the test scripts in the Firefox browser. 
  • Browser Compatibility Tests - Play recorded Selenium tests in Internet Explorer, Safari, Opera, Chrome, and other browsers. Play the tests on a grid of machines with multiple operating environments and multiple browser versions.
  • Functional Testing - Play recorded Selenium tests as smoke tests, regression tests, and integration tests.
  • Load and Performance Testing - Determine the Scalability Index of your application by observing the throughput of your application at increasing levels of concurrently running virtual users. Each virtual user operates a test use case with one or more Selenium tests.
  • Production Monitoring - Prove compliance with a Service Level Agreement (SLA) by periodically running a Selenium test script. TestMaker sends notification emails when the Selenium script fails or encounters an error condition.
  • Stress Testing - Understand the behavior as your application comes under unexpected high load conditions.

Watch the Screencast Now

In each of the above types of tests TestMaker repurposes a single Selenium test script. The TestMaker architecture make repurposing possible.

PushToTest TestMaker operates Selenium tests as load and performance tests by running the tests in one or moreTestNodes. The TestNode operates the test in a browser (such as Internet Explorer, Safari, Opera, Chrome) or using HTMLUnit. HTMLUnit is an open-source headless browser framework that provides a programmatic simulation of a Web browser. HTMLUnit uses Rhino, the Mozilla JavaScript engine, to run JavaScript and Ajax programs. This approach makes it easy to run hundreds to thousands of simulated users in a load and performance test. The alternative would be costly test runs that start a browser for each simulated user.

Test authoring and playback as load test and service monitor

Watch the Screencast Now

TestMaker makes it easy to pivot from one type of testing to another. For example, functional testing is often the time to ensure the test scripts work as expected. With a click of a button in the TestMaker Editor a functional test becomes a load and performance test. While loading the application under test with several virtual users your test may uncover another functional issue. Pivoting back to functional testing is easy with TestMaker.

Selenium IDE recording a test

Once you record a test, TestMaker repurposes the test to be a functional test, and load and performance test, and a production monitor.

Load test control panel windowFunctional test results in a controller windowProduction Monitor controller window

Often TestMaker users will follow this methodology:

  • Record a Selenium test in Selenium IDE using Firefox browser. Save the test in the Selenese file format. Confirm the test runs by playing the test against the application in the Firefox browser.
  • Run the Selenium test in a TestNode in the Firefox browser. Create a TestMaker TestScenario using the TestMaker Editor. Identify one or more Selenium tests to run in a test use case in the Editor's Use Case tab. Use the Selenium RC test type and identify *firefox as the browser. TestMaker sends the Selenium test to the TestNode. The TestNode launches Firefox and plays the test. The TestNode records the time it takes for each step of the Selenium test to operate. TestMaker plots a set of results charts to identify functional issues in the test and application.
  • Run the Selenium test in a TestNode in the HtmlUnit browser. Same operation but this time using the headless HtmlUnit browser.
  • Run the test as a Load and Performance test. Operates the Selenium test at several levels of load. Identifies the Scalability Index of the application. Surfaces performance bottlenecks and functional issues.
  • Run the test as a Production Monitor. Operates the Selenium test periodically to prove compliance with an SLA and to surface functional issues.

Features and Benefits

TestMaker integrates Selenium to provide the following features and benefits:

  • TestMaker repurposes a single Selenium test as a functional test, load and performance test, and business service monitor.
  • Scale-up your Selenium tests to operate in your QA lab, in the PushToTest OnDemand Cloud Test Environment, or both!
  • TestMaker data-enables Selenium tests for test-driven development.
  • Dramatically reduce test operating costs. TestMaker efficiently operates multiple Seleniums test in a grid concurrently.
  • TestMaker runs Selenium tests for browser compatibility testing of your Web application.
  • Produce actionable knowledge by analyizing the results into 350 or more performance and functional charts.
  • Transform Selenium tests into Java unit tests for additional features: looping, variables, conditionals
  • Run At User Levels Never Before Possible - Building a test lab used to be prohibitively costly for medium and large scale load tests. Cloud computing delivers bandwidth and computing power to achieve tests in the millions-of-users levels at commodity prices.

Watch the Screencast Now

The Open Source Alternative To HP QuickTest Professional(tm) (QTP)

Many testers, developers and IT managers ask PushToTest to compare HP QuickTest Professional (QTP) to PushToTest TestMaker with Selenium IDE. PushToTest provides open source test automation solutions for organizations needing to improve the reliability and reduce service interruptions in their Web applications, Rich Internet Applications (RIA, using Ajax, Flex, Flash,) Web services, and Business Process Management services. PushToTest is the Open Source Test (OST) expert for dozens of tools. This comparison document helps organizations looking for an inexpensive open source solution that works with their latest applications.

Download the full report: TestMaker_Selenium_QTP Comparison (528 K bytes, Adobe Acrobat PDF format)

Here is a high-level summary of the full report:

HP QTP 10 TestMaker 5.4 with Selenium 1.0
Technical experience required to be successful alt altaltalt
Web 1.0 Record/Playback alt alt
Rich Internet Application (RIA, Using Ajax) Support
Drill down to root cause of functional issues/crashes altaltalt alt
Record Tests MS IE 6, 7, 8 Firefox 2, 3
Playback Tests MS IE 6, 7, 8 MS IE 5, 6, 7, 8, Firefox 2, 3, Opera, Safari, Chrome
Data-driven Testing alt alt
Reusable Test Components alt
Agile software development lifecycle (SDLC) support
Add-ons available altaltalt alt
Language Support VBScript Selenese, Java, Ruby, Perl, PHP, Python, C#, Groovy
Functional Testing, Load Testing, Service Monitoring from one test script
Run tests in the Cloud, in your QA lab, or both
Price $6000 USD Per Seat, Plus $1500 Annual Maintenance Free (GPL 2, Apache 2)

Click here to request information