| By Hovhannes Avoyan | Article Rating: |
|
| December 6, 2012 12:30 PM EST | Reads: |
2,203 |
Web Browser Automation is a process where certain steps in the web browser are performed repetitively to ensure the correct operation of the web application’s functionality. It may be applied for QA testing in the development process and for control over Information System accessibility and performance during implementation. The second becomes more and more important since current market trends indicate that just having a good service is not enough; the service should also be highly accessible and effective. With Web Browser Automation Tools it is possible to check accessibility and performance by periodically running some transaction scenarios for certain services.
There are many Web Browser Automation Tools, both paid and free / open source. The main purpose of these tools is to record a specific transaction scenario for a browser, play it back by injecting JavaScript into web pages and then to provide the corresponding results. The tools vary in many characteristics: OS platform support, supported programming languages, SSL support, whether it uses a real web browser or simulates the real browser’s behavior, etc. Below are presented a relative comparison of some popular free/open source tool’s characteristics.
| Tool | Simulation | Supported Browsers | Supported Languages | Test Recorder |
| Selenium | No | Firefox, IE(partially), Opera (partially), Chrome (partially)[1] | C#, Java, Perl, PHP, Python, Ruby | Yes |
| Watij | No | On Windows only IE, On Linux only Firefox, On Mac only Safari |
java | No |
| Windmill | No | Python and JavaScript | Python, JavaScript, Ruby | Yes |
| Watir | No | On Windows only IE, Watir Web Driver -IE/FF/Chrome/Safari | Ruby | Yes |
| Watin | No | IE, Chrome, Firefox | .net platform languages | Yes |
| Sahi | No | IE, Safari, Firefox, Chrome, Opera | Java, Javascript | Yes |
| Canoo WebTest | Yes | No need | Javascript, Python | Yes |
| CasperJS | Yes | No need | Javascript | Yes |
Selenium’s different products are compatible, at least partially, with a variety of different browsers, but all of them are fully compatible with Firefox.
To test the tools, we used 45 transaction instances with the same scenario of 7 steps (navigation, clicks, login, logout, etc.). A single transaction execution period was 5 minutes and the overall test duration was 20 minutes. Each tool was tested 2 times: first by running with 1 thread and then with 5 threads. The test results are shown below:
| Tool | Num. of tests | Browsers | App run duration | Num. of threads | Test frequency (min) | Transaction step count | Num. of tests running during 20 mins | Avg. exec time for 1 test (sec) |
| Watij | 45 | IE | 20 min | 5 | 5 | 7 | 34 | 29.7 |
| Watij | 45 | IE | 20 min | 1 | 5 | 7 | 32 | 33.2 |
| Selenium | 45 | IE | 20 min | 5 | 5 | 7 | - | - |
| Selenium | 45 | IE | 20 min | 1 | 5 | 7 | 68 | 17.6 |
| CasperJS | 45 | NA | 20 min | 5 | 5 | 7 | 204 | 17.1 |
| CasperJS | 45 | NA | 20 min | 1 | 5 | 7 | 68 | 17.2 |
As you can see, the test results for Selenium with IE browser are absent. The problem was that the Selenium couldn’t run several transaction tests at the same time. Instead of opening several browser instances, it mixes all of them in one browser instance. However, it doesn’t have this kind of problem when working with Firefox or Chrome. For example, running the Selenium with the same conditions but on the Firefox browser, the following results were obtained: average execution time of 1 test is 15.1 seconds, the number of tests run during 20 minutes is 50. The average running time of one transaction test for these tools is not greater than that of the others. The other 2 tools spent a substantial amount of overhead time communicating with the server, starting browser instances, etc.
Examining the performance of selected Web Automation Tools shows that they differ not only in terms of functionality, but that they also behave differently in different conditions (depending on OS, browser type, multithread or singlethread). The main limitation we noticed with Selenium is that it’s primarily designed for Firefox. All of its products support Firefox, and as we have already seen it has problems working with IE. On the other hand the Casperjs is headless and is Webkit based, so it will not work on IE only sites, for example. Meanwhile, Watij works with only one unique browser type per OS (IE on Windows, Firefox on Linux and Safari on Mac). Working with different transaction scenarios simultaneously is much more productive with the headless tools since they consume less time.
Read the original blog entry...
Published December 6, 2012 Reads 2,203
Copyright © 2012 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Hovhannes Avoyan
Hovhannes Avoyan is the CEO of Monitis, Inc., a provider of on-demand systems management and monitoring software to 50,000 users spanning small businesses and Fortune 500 companies.
Prior to Monitis, he served as General Manager and Director of Development at prominent web portal Lycos Europe, where he grew the Lycos Armenia group from 30 people to over 200, making it the company's largest development center. Prior to Lycos, Avoyan was VP of Technology at Brience, Inc. (based in San Francisco and acquired by Syniverse), which delivered mobile internet content solutions to companies like Cisco, Ingram Micro, Washington Mutual, Wyndham Hotels , T-Mobile , and CNN. Prior to that, he served as the founder and CEO of CEDIT ltd., which was acquired by Brience. A 24 year veteran of the software industry, he also runs Sourcio cjsc, an IT consulting company and startup incubator specializing in web 2.0 products and open-source technologies.
Hovhannes is a senior lecturer at the American Univeristy of Armenia and has been a visiting lecturer at San Francisco State University. He is a graduate of Bertelsmann University.
- Cloud People: A Who's Who of Cloud Computing
- Windows Azure IaaS Reaches General Availability
- Predixion Software Announces General Availability of the Latest Version of its Predictive Analytics Platform
- Cloud Expo New York: The Big Challenge of Big Data & Hadoop Integration
- Agile Solutions for Cloud, Big Data, Mobility Services
- MicroStrategy Announces General Availability of MicroStrategy 9.3.1
- Cloud Computing: Cutting Costs, Boosting Profits
- AMAX Launches StorMax(TM) CFS, powered by IBM(R) General Parallel File System(TM) (GPFS(TM))
- NIST to Sponsor FFRDC Widespread Adoption of Integrated CyberSecurity
- Big Data: Visualizing the Strategic Business Imperative
- MicroStrategy Announces General Availability of MicroStrategy 9.3.1
- Benefits of Cloud Computing
- Cloud People: A Who's Who of Cloud Computing
- Windows Azure IaaS Reaches General Availability
- Portable Experimenter’s Platform, Powered by Raspberry Pi
- Predixion Software Announces General Availability of the Latest Version of its Predictive Analytics Platform
- SUSE Receives Common Criteria Security Certifications
- Basho Announces Open Source Riak CS and General Availability of Riak CS Enterprise v1.3
- Cloud Expo New York: Big Time - Introducing Hadoop on Azure
- Cloud Expo New York: Real-Time Analytics Using an In-Memory Data Grid
- Cloud Expo New York: The Big Challenge of Big Data & Hadoop Integration
- Help Desk Solution Empowers Employees
- Public Cloud’s Got a Silver Lining: Gartner
- Granular Enforcement of Access to File Systems Featured in Latest Release of FoxT ServerControl
- The Top 250 Players in the Cloud Computing Ecosystem
- Web Services Using ColdFusion and Apache CXF
- Cloud People: A Who's Who of Cloud Computing
- Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
- Cloud Expo New York Call for Papers Now Open
- Eclipse "Pollinate" Project to Integrate with Apache Beehive
- An Introduction to Ant
- Cloud Expo 2011 East To Attract 10,000 Delegates and 200 Exhibitors
- Beehive Code Now Available in Apache
- 4th International Cloud Computing Conference & Expo Starts Today
- Apache's Tomcat 5.5 is First Release Ever to Use Eclipse JDT Java Compiler
- "Beehive" Now Officially an Open Source Project: Apache Beehive



























