| By Hovhannes Avoyan | Article Rating: |
|
| December 6, 2012 12:30 PM EST | Reads: |
2,187 |
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,187
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
- Cloud Expo New York: Cloud Is Changing the Economics of Business
- Windows Azure IaaS Reaches General Availability
- Cloudant to Exhibit at Cloud Expo & Big Data Expo New York
- Learn How To Use Google Apps Script
- Cloud Expo New York: Basics of SSD Technology and Its Use in Cloud
- Cloud Computing Is Simplifying Things
- CollabNet And UC4 Announce General Availability Of Joint Enterprise DevOps Platform
- Session Topics: 12th Cloud Expo / Cloud Expo New York
- Cloud Expo New York: The Big Challenge of Big Data & Hadoop Integration
- Overview of the OpenStack Cloud
- The Flexible Cloud
- Cloud People: A Who's Who of Cloud Computing
- Cloud Expo New York: Cloud Is Changing the Economics of Business
- Cloud Expo New York: How to Use Google Apps Script
- Windows Azure IaaS Reaches General Availability
- Rackspace Hosting Named “Platinum Plus Sponsor” of Cloud Expo New York
- Portable Experimenter’s Platform, Powered by Raspberry Pi
- Small Cancers, Big Data, and a Life Examined
- SUSE Receives Common Criteria Security Certifications
- Cloudant to Exhibit at Cloud Expo & Big Data Expo New York
- Basho Announces Open Source Riak CS and General Availability of Riak CS Enterprise v1.3
- Learn How To Use Google Apps Script
- Cloud Expo New York: Basics of SSD Technology and Its Use in Cloud
- After Ubuntu, Windows Looks Increasingly Bad, Increasingly Archaic, Increasingly Unfriendly
- SCO CEO Posts Open Letter to the Open Source Community
- Simula Labs Launches Hosted Delivery Platform To Enable Enterprise Open Source Adoption
- Where Are RIA Technologies Headed in 2008?
- Source Claims SCO Will Sue Google
- How Open Is "Open"? – Industry Luminaries Join the Debate
- Latest SCO News is Plain Weird
- SCO Claims Linux Lifted ELF
- IBM Tells SCO Court It Can't Find AIX-on-Power Code
- Developing an Application Using the Eclipse BIRT Report Engine API
- Should RIM BlackBerries Be Rented?
- Flashback: Investing in 'Professional Open Source' - Exclusive 2004 Interview with David Skok, Matrix Partners





















