Browser Testing Using Wallaby

A Success Story


Faberwork enhanced the performance of high-speed browsers using Wallaby.

We show how browser testing applications like Wallaby allow user interfaces and overall functionality to be analyzed in real time.

Client

Faberwork’s client is a large energy firm that provides energy management services to improve energy efficiencies, reduce costs, and be compliant with federal and state regulations. The client is an important source of reliable data on energy consumption and use.

Challenge

The client sought to improve its web-based solutions by transitioning to a faster (low-latency), distributed and fault-tolerant design. The advanced web design framework, Phoenix, focused on high performance and productive programming without compromising speed. As a result, Phoenix was chosen as the web design model.

The demands for greater speed and broader coverage in web-based solutions introduced a new level of difficulty in testing. Testing needed to be robust and real-time.

Phoenix-based web applications introduced new challenges for user interface (UI) testing of applications. Previously used testing tools were not compatible with the Phoenix’s flexible high-speed framework. Ensuring seamless user experience across various devices and browsers was crucial.

Also, as the application scaled in functionality and size, the client required a testing tool that provided concurrent testing features for the timely execution of the test suites. Delays in testing meant delays in delivering new features and bug fixes.

The testing tool to be used also needed to provide instant feedback on the failures of the test cases. It also needed to give a description in detail of what led to the failure and which UI components caused it to occur.

Manual testing was generally not feasible given the complex, low-latency environment. And manual testing of the application couldn’t meet delivery times for new features and updates. Any testing tool needed to be flexible so that it could be used as the needs required.

Demands for a Phoenix-based browser testing tool

Solution

To address these challenges, Faberwork turned to Wallaby, a robust testing tool designed specifically for testing Phoenix applications. Wallaby allowed the user to write tests that closely mimicked real user behavior. Wallaby seamlessly integrated with the Phoenix ecosystem.

Testing Hierarchy

This Client’s large-scale Phoenix application required concurrent test execution. This allowed running multiple tests simultaneously, reducing overall testing time and accelerating the entire testing process. For concurrent testing, Wallaby created multiple browser sessions which ran in parallel.

Testing Sequence

To run tests asynchronously, the user needed to ensure the async: true flag is set in the test file. Then, the user could fine-tune the parallel execution setting to maximize the efficiency. For this, they needed to adjust the max_concurrency in the config file, depending on the system’s capabilities.

Sample Test Code

Results

Because of this work, Faberwork’s Client was able to greatly expand the reach and functionality of its new web-based solutions. Cross-browser testing allowed the client the confidence that all its website or web application functions operated correctly across different browsers.  The applications operated in real-time and were continuously tested and reviewed using the latest technologies.  

“Client requests for faster and cleaner web applications can only be met with the latest technologies. Our client benefited from Faberwork’s use of Wallaby to implement and automate the testing of its new web-based solutions.”

Sandeep Kumar, Software Engineer, Faberwork