Tag Archives: automation

The Little Tester – Stories in Testing #27

These are the made up stories of a team working in an Agile environment. Their daily struggles and successes are presented in a comic/parody/satirical way. Click on the image to see it in full size.

The team members are:

  • Little, the main character. The team’s tester.
  • Coffee, the team’s Java developer.
  • Mr. Fancy, the team’s UI developer.
  • Senor, the Senior Developer of the team.
  • Kitty, the Scrum Master.
  • Glasses, the Business Analyst.
  • And the manager.

Disclaimer

This is a work of fiction. Names, characters, businesses, places, events, situations presented are either the products of the author’s imagination or used in a fictitious manner. Any resemblance to actual persons or events is purely coincidental.

The sole purpose of this comic strip is to be humorous.

The drawings are made by hand on paper, by means of pencils and fine liners, except for the outline, by the author. Hence their imperfection.

thewaiter: wait for WebElement attribute. To equal, contain a String, with variations.

An attribute of an HTML tag (or WebElement as you might know it from Selenium) stores valuable information about the state of that element. If we are thinking of checkboxes, a “checked” attribute will signal whether the checkbox is selected or not. For a link, the “href” attribute will tell us what location on the web it points to.

There will be times when your Selenium tests will need for an attribute of a WebElement to have an expected value. This signals that the state you expect your product to be in is correct. Before any other steps will be performed, you will need to make sure that the value of the attribute is correct, and for this process asserts are quite frequent. Enter “thewaiter” library, which has methods for you to wait for the attributes, not only to equal a text, but to also contain it, or to equal/contain it ignoring whitespaces or the case. Continue reading thewaiter: wait for WebElement attribute. To equal, contain a String, with variations.

Better Test Code Principles: Use proper naming, for everything

Naming is one of those underrated things when it comes to test automation code. Many times, when you look at variable or even test method names, they are not very suggestive and you have a hard time figuring out what their purpose is. In this post you will find a few reasons why it is important to name things properly, and some tips about how to find the good names your code deserves. Continue reading Better Test Code Principles: Use proper naming, for everything

The Automated Regression Suite. Part 2 of 3. When to run the tests.

Once you have your automated regression suite in place, you can create a scheduler to run them periodically, without any manual intervention. Mostly you will use Jenkins jobs (or some similar CI tool) to trigger them and have them running on an environment of your choice. Just because they are called “regression tests” it does not mean they are only meant to be run once before a release. They are in place to help validate your system, so you can run them as often as you want. Continue reading The Automated Regression Suite. Part 2 of 3. When to run the tests.

The Automated Regression Suite. Part 1 of 3. When to create the tests for regression

What do I mean by “automated regression testing”? I am not one for debating for hours what this means, so let me give you my interpretation (not definition), so that we are on the same page: whenever you are performing a new release, you need to make sure the features you released some time ago still work properly. For that, you will need to run some kind of tests, to ensure the features are still working as expected. You could do that manually, but running the same manual test cases repeatedly, for each release, takes a lot of time and quite frankly, becomes boring or even frustrating at one point. Hence, the suite of automated tests comes in handy. Having these in place will allow to verify plenty of scenarios while you can do something more enjoyable during the test run. Continue reading The Automated Regression Suite. Part 1 of 3. When to create the tests for regression

Easily compare a list of Strings with the contents of a file

Context: you need to check that the values you have in a List of Strings are the same as the contents of a file. An element in the List will correspond to an entire line from the file. How can you achieve this easily? Continue reading Easily compare a list of Strings with the contents of a file

Better Test Code Principles: #6 Don’t create a new variable for a value you will only use once

If you are an automation tester, you will need to write a lot of code to cover the required test scenarios and test cases. Your code base will grow and grow, but some of the code will not be really needed and thorough code reviews should be done, to avoid unnecessary code.

Such unneeded code might include forgotten and unused imports, duplicate code that should have been extracted in a separate method or variables that are declared only to be used in one place. Continue reading Better Test Code Principles: #6 Don’t create a new variable for a value you will only use once