Python Authors: Pat Romanski, AppDynamics Blog, Donald Meyer, Liz McMillan, Elizabeth White

Related Topics: Microservices Expo

Microservices Expo: Blog Feed Post

Web Browser Automation Tools

There are many Web Browser Automation Tools, both paid and free / open source

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.

Aside from their variation in functionality, these tools have another essential difference. Some of them are headless, which means that they simulate browser behavior. For example, the CasperJS tool uses WebKit engine capabilities to simulate certain test cases. On one hand, headless tools are more productive, but on the other hand, the simulation may generate different results than those of the real browser.
Different tools have their specific advantages. Some of them work with different browsers without significant deviation or trouble; others provide higher performance, etc. There are many articles/posts comparing the pros and cons of web automation tools, but it would also be interesting to compare their performance. We have tested 3 different tools: Selenium, Watij and Casperjs on the same host with the following parameters: Windows 7 32 bit, 4 Gb RAM and the Intel i5 CPU. From these 3 tools, Selenium may currently be the most popular and richly featured, and it offers several products such as IDE, API, Remote Control server (to accept HTTP requests for the browser), Grid server (to test different browser instances running on remote machines), etc. Casperjs is a headless Phantomjs based tool and the Watij is Watir’s java version based on JXbrowser (a rich web browser component to integrate to Java).

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...

More Stories By Hovhannes Avoyan

Hovhannes Avoyan is the CEO of PicsArt, Inc.,

@ThingsExpo Stories
If you had a chance to enter on the ground level of the largest e-commerce market in the world – would you? China is the world’s most populated country with the second largest economy and the world’s fastest growing market. It is estimated that by 2018 the Chinese market will be reaching over $30 billion in gaming revenue alone. Admittedly for a foreign company, doing business in China can be challenging. Often changing laws, administrative regulations and the often inscrutable Chinese Interne...
DevOps is being widely accepted (if not fully adopted) as essential in enterprise IT. But as Enterprise DevOps gains maturity, expands scope, and increases velocity, the need for data-driven decisions across teams becomes more acute. DevOps teams in any modern business must wrangle the ‘digital exhaust’ from the delivery toolchain, "pervasive" and "cognitive" computing, APIs and services, mobile devices and applications, the Internet of Things, and now even blockchain. In this power panel at @...
Enterprise IT has been in the era of Hybrid Cloud for some time now. But it seems most conversations about Hybrid are focused on integrating AWS, Microsoft Azure, or Google ECM into existing on-premises systems. Where is all the Private Cloud? What do technology providers need to do to make their offerings more compelling? How should enterprise IT executives and buyers define their focus, needs, and roadmap, and communicate that clearly to the providers?
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
SYS-CON Events announced today that Streamlyzer will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Streamlyzer is a powerful analytics for video streaming service that enables video streaming providers to monitor and analyze QoE (Quality-of-Experience) from end-user devices in real time.
SYS-CON Events announced today that Pulzze Systems will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Pulzze Systems, Inc. provides infrastructure products for the Internet of Things to enable any connected device and system to carry out matched operations without programming. For more information, visit http://www.pulzzesystems.com.
One of biggest questions about Big Data is “How do we harness all that information for business use quickly and effectively?” Geographic Information Systems (GIS) or spatial technology is about more than making maps, but adding critical context and meaning to data of all types, coming from all different channels – even sensors. In his session at @ThingsExpo, William (Bill) Meehan, director of utility solutions for Esri, will take a closer look at the current state of spatial technology and ar...
Cloud based infrastructure deployment is becoming more and more appealing to customers, from Fortune 500 companies to SMEs due to its pay-as-you-go model. Enterprise storage vendors are able to reach out to these customers by integrating in cloud based deployments; this needs adaptability and interoperability of the products confirming to cloud standards such as OpenStack, CloudStack, or Azure. As compared to off the shelf commodity storage, enterprise storages by its reliability, high-availabil...
The IoT industry is now at a crossroads, between the fast-paced innovation of technologies and the pending mass adoption by global enterprises. The complexity of combining rapidly evolving technologies and the need to establish practices for market acceleration pose a strong challenge to global enterprises as well as IoT vendors. In his session at @ThingsExpo, Clark Smith, senior product manager for Numerex, will discuss how Numerex, as an experienced, established IoT provider, has embraced a ...
In past @ThingsExpo presentations, Joseph di Paolantonio has explored how various Internet of Things (IoT) and data management and analytics (DMA) solution spaces will come together as sensor analytics ecosystems. This year, in his session at @ThingsExpo, Joseph di Paolantonio from DataArchon, will be adding the numerous Transportation areas, from autonomous vehicles to “Uber for containers.” While IoT data in any one area of Transportation will have a huge impact in that area, combining sensor...
In the next forty months – just over three years – businesses will undergo extraordinary changes. The exponential growth of digitization and machine learning will see a step function change in how businesses create value, satisfy customers, and outperform their competition. In the next forty months companies will take the actions that will see them get to the next level of the game called Capitalism. Or they won’t – game over. The winners of today and tomorrow think differently, follow different...
“Media Sponsor” of SYS-CON's 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. CloudBerry Backup is a leading cross-platform cloud backup and disaster recovery solution integrated with major public cloud services, such as Amazon Web Services, Microsoft Azure and Google Cloud Platform.
The Internet of Things (IoT), in all its myriad manifestations, has great potential. Much of that potential comes from the evolving data management and analytic (DMA) technologies and processes that allow us to gain insight from all of the IoT data that can be generated and gathered. This potential may never be met as those data sets are tied to specific industry verticals and single markets, with no clear way to use IoT data and sensor analytics to fulfill the hype being given the IoT today.
Ask someone to architect an Internet of Things (IoT) solution and you are guaranteed to see a reference to the cloud. This would lead you to believe that IoT requires the cloud to exist. However, there are many IoT use cases where the cloud is not feasible or desirable. In his session at @ThingsExpo, Dave McCarthy, Director of Products at Bsquare Corporation, will discuss the strategies that exist to extend intelligence directly to IoT devices and sensors, freeing them from the constraints of ...
SYS-CON Events announced today that SoftNet Solutions will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. SoftNet Solutions specializes in Enterprise Solutions for Hadoop and Big Data. It offers customers the most open, robust, and value-conscious portfolio of solutions, services, and tools for the shortest route to success with Big Data. The unique differentiator is the ability to architect and ...
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, will demonstrate how to move beyond today's coding paradigm ...
Fifty billion connected devices and still no winning protocols standards. HTTP, WebSockets, MQTT, and CoAP seem to be leading in the IoT protocol race at the moment but many more protocols are getting introduced on a regular basis. Each protocol has its pros and cons depending on the nature of the communications. Does there really need to be only one protocol to rule them all? Of course not. In his session at @ThingsExpo, Chris Matthieu, co-founder and CTO of Octoblu, walk you through how Oct...
A completely new computing platform is on the horizon. They’re called Microservers by some, ARM Servers by others, and sometimes even ARM-based Servers. No matter what you call them, Microservers will have a huge impact on the data center and on server computing in general. Although few people are familiar with Microservers today, their impact will be felt very soon. This is a new category of computing platform that is available today and is predicted to have triple-digit growth rates for some ...
Everyone knows that truly innovative companies learn as they go along, pushing boundaries in response to market changes and demands. What's more of a mystery is how to balance innovation on a fresh platform built from scratch with the legacy tech stack, product suite and customers that continue to serve as the business' foundation. In his General Session at 19th Cloud Expo, Michael Chambliss, Head of Engineering at ReadyTalk, will discuss why and how ReadyTalk diverted from healthy revenue an...
For basic one-to-one voice or video calling solutions, WebRTC has proven to be a very powerful technology. Although WebRTC’s core functionality is to provide secure, real-time p2p media streaming, leveraging native platform features and server-side components brings up new communication capabilities for web and native mobile applications, allowing for advanced multi-user use cases such as video broadcasting, conferencing, and media recording.