Leave a comment

Data Driven Testing – Separating Automation Code from Test Data

By Paul Cooper, Senior Performance Test Engineer

Test automation can be a costly time consuming endeavor. Often automation code and test data become entangled, leading to both fragile tests and fragile automation code. Once that happens, new tests will require programming to implement them. This helps us understand why testers now need coding skills. Design changes to the application, such as changing where or how a value is input, will also require updating the automation code and in turn may disrupt the test data.

Continue reading


Leave a comment

Locating DOM Elements for Functional E2E Tests Using Custom Attributes

Larry Van Sickleby Larry Van Sickle, Senior Software Engineer

Protractor and Selenium are widely used tools for building functional end-to-end (e2e) automated tests. These tests execute a web-based application under test through a browser interface. The automated tests need to examine web page elements to determine whether their contents match expected results. They also need to operate on a webpage’s elements to drive the application. The tests need to click buttons, select from menus, and enter text in fields as part of the automated tests. A key problem and design decision is how the automated tests will locate elements in the DOM.

Continue reading


Leave a comment

Better Automated GUI Testing via Virtual Frame Buffers

troy-rudolphby Troy Rudolph, Senior Software Engineer

We’ve been assisting one of our clients in the development of a large web application facing many large customers and working with several types of devices for data gathering. As a result, we’ve built a lot of automated tests at all levels: acceptance, functional, integration and unit.

Continue reading


Leave a comment

Writing Better Protractor Tests with Panel Objects

Larry Van Sickleby Larry Van Sickle, Senior Software Engineer

Protractor is a useful tool for end-to-end tests for AngularJS applications using nodejs and Jasmine. Any suite of end-to-end tests will have to be maintained and enhanced as the application being tested changes. The tests can require as much maintenance as the application itself. Best practices in structuring the test code can simplify test maintenance and reduce maintenance costs.  A key idea for structuring end-to-end tests is the page object.

Continue reading


3 Comments

Improving Protractor Tests Using Shared Functions and Promises

Larry Van Sickleby Larry Van Sickle, Senior Software Engineer

Protractor is used to write end-to-end tests for AngularJS applications. Protractor is a nodejs application that runs an application in a browser and interacts with the application using Selenium and WebDriverJS. Protractor is easily installed.

Continue reading


Leave a comment

Codeception: A Clean and Simple Solution for Web Test Automation

by Troy Rudolph, Senior Software Engineer

troy-rudolphThe market certainly offers many test automation tools for testing in a variety of environments, but there is a relatively new one I particularly like for automated testing in web applications. While Codeception is intended primarily for testing PHP applications, the UI testing tools may also be used to easily create automated tests for web applications, as well.

In Codeception, these tests are referred to as acceptance tests. These tests are based on the notion of Behavior Driven Development (BDD). Essentially, BDD states that tests should be specified in terms of desired behavior. In the case of BDD, the behavior described is that of a user (or tester). To learn more about BDD, I would encourage reading the inventor’s article at http://dannorth.net/introducing-bdd.

A simple test might look like… Continue reading


1 Comment

Automated Testing in an Agile Environment

By Nadine Parmelee, Senior Quality Assurance Engineer

Nadine-Parmelee1-bWhen it comes to software quality and reliability, there are many benefits to be gained from a switch to an agile development environment. Agile helps teams stay focused; it helps them deliver a quality product more quickly. It drives efficiency and leads to improved results throughout the software production process.

Automated Testing: A Must-Have in an Agile Environment

An agile environment requires automated testing. And with more and more development teams moving to agile processes, the need for automated testing has grown exponentially. Agile test cycles tend to limit the amount of testing that can be accomplished, so getting a good regression set of tests automated is more crucial than ever for you to reach your goals of increasing product quality and reducing costs associated with product defects. Continue reading