Blog

12 features that every UI testing automation tool must have

What software do you use for UI testing automation? For that matter, how did you come to choose the solution that you’re currently using? Making lists is always handy, so let’s do exactly that. Below, you will find a list of requirements that we deem must-have for every modern tool used for automated user interface testing. When working on it, we’ve used the feedback from our customers — and from our competitors as well. Besides, the checklist below pretty much mirrors our roadmap for Screenster, our very own platform for UI testing automation. Without further ado, read on. 1. Speed Higher speed equals higher ROI. This is why it’s paramount that the solution you’re using for UI testing automation allows you to quickly create, edit and debug your suites. So if creating a basic test suite takes more than 30 minutes, you should probably start looking for another tool. 2. Codeless UI tests Don’t get me wrong, coding is fun — but we think the real fun is to code features, not tests. And let’s face it, there’s really no such thing as a robust suite of hand-coded UI tests that covers the whole user interface, not just its separate... More

Let’s talk about Selenium competitors for UI regression testing

With so many UI testing tools posing themselves as direct competitors to Selenium, which one do you choose? And why opt for a Selenium competitor in the first place? Don’t get me wrong, Selenium is awesome. Well, sort of... Even today, 13 years since its launch, Selenium remains the number-one choice for testing in the browser. It supports the widest range of programming languages, it works with every major browser, and it runs on every major OS. No other testing automation tool can rival the flexibility and the functional scope of Selenium. Besides, none of the competitors is as popular as Selenium. The above doesn’t mean, however, that Selenium is the best solution for every use case that its functionality covers. Namely, you wouldn’t want Selenium for end-to-end regression testing of complex UIs — or, at least, that’s the conclusion we’ve arrived at when testing own product, AjaxSwing. In fact, our scepticism about Selenium grew to a point where we abandoned the tried-and-true framework and started looking at Selenium competitors in search of an alternative. Eventually, this led us to building our own tool for visual regression testing, but that’s a different story. When working with Selenium, we’ve faced three... More

The Rise of Automated Testing Platforms

It’s 2017, and software testing is as important as ever — so is choosing the right automated testing platform. So how do you make the right choice given the number of available automated software testing tools? In a sense, testing software features is like shipping goods. Your clients don’t care about what means of transportation you used to ship the product — as long as it gets there in time. You, however, will definitely want to make sure you’re using a vehicle that delivers goods in time, in pristine condition, and at the right cost. Just for fun, let’s stick with the shipment analogy and examine both paid and open source automation testing tools for web applications. apps.. Horse (Manual Testing) If you’re shipping something small and time isn’t a priority, you can hand your package to a guy on a horse. This sort of logistics is as reliable as the delivery guy, but it’s simple to implement. Need to ship more? Hire a couple more horsemen. Just like horse transportation, manual testing works fine as long as your product is small. But once things get bigger, testing manually becomes costly and time-consuming, so it’s not sustainable in the long... More

How to run tests from Selenium IDE in Chrome

Ever wondered if you could use Selenium IDE for Chrome? You've probably heard that the IDE only runs in Firefox, which means Google’s much-famed browser is out of reach. Actually, there’s a neat little feature that lets you run Selenium IDE in Chrome. The feature is called WebDriver Playback. Here's how you can use it: Launch Selenium IDE. Go to ‘Options’ and select “Options...” in the drop-down menu. In the Options menu, select the “WebDriver” tab. Check the “Enable WebDriver playback” checkbox. Find the “Browser choices” input field right below the checkbox. Below the input field, you will see browser options. These include “android, chrome, firefox, htmlunit, internet explorer, iPhone, iPad”. Substitute “firefox” with “chrome”. Note that both variants are lowercase. Download the Selenium standalone JAR file and ChromeDriver. Add both files to the same folder on your local computer. Use Terminal to navigate to the folder with the downloaded files. Start Selenium server and ChromeDriver server via Terminal: java -jar selenium-server-standalone-2.43.1.jar -Dwebdriver.chrome.driver=chromedriver.exe Open Selenium IDE and run the test script. Note that the script will run in one of the more or less recent versions of Chrome. So if you wanted to find out how to run Selenium tests... More

Cloud-based regression testing platform

My colleague once told me that regression testing is the single best reason why QA automation exists. According to the same person, doing regression testing the right way is a major challenge for most web development projects. So what is so challenging about it? And more importantly, why taking regression testing to the cloud is a good idea? Why do web teams have problems automating regression testing? Two words, “UI testing”. It’s common knowledge that the ROI of automated UI regression testing is low. I’m sure you’re familiar with the culprits of this problem: Even with skilled professionals onboard, most teams struggle with the maintenance of coded UI regression tests. QA automation frameworks often lack efficient collaboration tools. In fact, few solutions will even feature shared integrated portals displaying test statuses. Existing testing environments require manual setup and maintenance. Specifically, frameworks often make you code the fundamentals of the framework itself before you can actually start writing your tests. Take another look at this list, and you’ll see that most of the problems stem from the inherent shortcomings of the tools, not the process. So maybe it’s time we moved on to something different? Taking regression testing to the cloud:... More

Selenium IDE alternatives for UI regression testing

Most of the QAs I know consider Selenium the number-one choice for UI test automation. I guess this is why Selenium IDE is the first thing that comes to mind when they start looking for a record-playback tool to automate UI regression testing. After all, if Selenium is so great for writing UI tests, it’s bound to have an equally great IDE, right? Well, not quite… If you have any experience with Selenium IDE, you’ll agree that it’s far from perfect. In fact, many testers will argue that Selenium IDE is doing you more harm than good. Reasons? Pick one! Selenium IDE doesn't always record what you expect, and it still requires programming skills (at the very least, the knowledge of HTML and CSS). In a nutshell, the tests produced by Selenium IDE are poorly implemented WebDriver code which ends up being brittle and hard to maintain. Selenium IDE makes you handle timeouts manually which is a major inconvenience. Selenium IDE is no good for projects involving UI elements that change their IDs, location, and/or content dynamically. This means you can’t regression-test the UI of a web app with Selenium IDE. Selenium IDE only works with Firefox and may not work... More

Why is manual regression testing still happening in 2017?

Where does manual regression testing fit in the software testing process? In fact, does it even make sense to test software manually, given the sheer number of automated regression testing tools available? I bet you’ve seen people ask similar questions on StackOverflow — as well as a good dozen of articles exploring the topic. So why would you need another post on the same topic? Well, here’s a reason to put my two cents into this same ole discussion. The choice between automation and manual regression testing looks simple on paper. Most manual regression testing tutorials will tell you that the complexity of manual testing grows exponentially as your project scales. Automated tests, on the other hand, help you move faster than manual tests, they reduce the chance of human error, and they are more cost-efficient in the long run. So, on paper, you should always strive to automate everything you can, right? After all, you can always have your developers write unit and API tests, and hire a QA team for everything else... In theory, yes, that’s how things are supposed to work. In real life, however, things get more complicated. The more so if we are talking about... More

Use Invoke Script to optimize your automated testing tool

I’m sure most people reading this blog have at least some experience with automation testing tools for web UIs. And I guess most of us can agree that no matter what testing solution we use, we all follow similar algorithms when doing automated regression testing. These algorithms are, in fact, pretty simple. In most cases, they will include roughly the same series of repeated steps for different test cases. Here’s an example: Open a starting URL (in 99% of cases, this will be the homepage) Log in Navigate to a different page (e.g. a shopping cart page, or blog post) Do something on that page(e.g. click on a button or scroll) Click to check out. Looks familiar, doesn’t it? Now, the exact steps might differ, but you’ll still find yourself repeating the same routine across different test suites. So doesn’t this seem boring and time-consuming? Having dealt with all this boring stuff, nearly any person would either search for some shortcuts or drop UI testing altogether. Sadly, many choose the latter — and this is the reason why relatively few companies do regression testing automation. But there’s actually a way to optimize this process, provided that you have the right... More

CI-friendly UI testing automation tools: what are your options?

UI testing automation is all the fuss today. In a way, this is due to an advent of new solutions that promise to outperform the “tried-and-true” tools of the past years. But how many of these automated testing tools (both new and old) are CI-friendly? Besides, how many of them are good at handling visual testing of websites and web apps? Let’s see what the market of UI automation testing has to offer in the way of CI support. But first, let’s answer the following question. Does solid CI support really matter for UI testing automation solutions? The short answer is yes. After all, continuous integration solutions are the first line of defense against bugs and errors. Let’s recall what a typical CI process looks like: one job creates a build, and another one launches unit tests on it. This setup allows for early spotting of most easy-to-find problems. If the build passes this stage successfully, testers can step in with their usual routine. They’ll take a quick look at the UI and, if everything is fine, proceed with functional testing. Now, this process seems to have room for improvement, doesn’t it? Wouldn’t it be super awesome to automate this... More

A better way to do visual regression testing

The concept of visual regression testing isn’t new, but it’s been in the spotlight lately. There are two factors causing this growth of attention. First, the advent of rich UIs and responsive design has made it next to impossible to efficiently test web applications and websites without focusing on CSS and visual layout. Second, the ever-increasing competition among internet businesses forces companies to search for faster ways to create and run automated software tests. Can manual testing do the job? Given these two trends, manual regression testing doesn’t seem like a viable option — it’s just too slow and inefficient. In fact, very few software development teams can afford to run visual regression tests manually after each UI revamp. Besides, humans aren’t that good at spotting visual differences in the first place due a thing called change blindness. Basically, if we don’t expect to see a minor change, we’re subconsciously bound to overlook it. Now, the problem here is that tweaking CSS is all about unexpected changes. Once you add a new class or CSS rule on one age, it will almost certainly override something on a completely different page. As a result, your users are more likely to spot... More
WordPress Image Lightbox Plugin