Blog – Masonry Full

Automation Best Practices: Building To Get the Job Done

Visit this post for an index for our Blog Series – Best Practices for Achieving Automated Regression Testing Within the Enterprise Build: Building Automated Test Cases to Get the Job Done With maintenance on automated test cases taking up a good portion of our clients time we thought it would be a good idea to…

Read more

Automation Best Practices: Building To Stand the Test of Time

With maintenance on automated test cases taking up a good portion of our clients time we thought it would be a good idea to layout some best practices for building out rock solid automation that will be both easy to understand at a glance and maintain with minimal effort. This section is a continuance of…

Read more

Automation Best Practices: Building From Scratch

  Perhaps the most critical aspect of an effective test automation implementation, the Build phase is where it all begins. The decisions you make during the this phase of the implementation will impact you throughout your automation life-cycle. This means the initial building out phase of a proper test automation implementation requires decision making based on your…

Read more

Automation Best Practices: Achieving Automated Regression Testing Within the Enterprise

Awetest: Test Automation Implementation Best Practices 1. Introduction In the upcoming weeks we will be publishing a comprehensive blog series highlighting our professional experience and findings with the deployment of our test automation framework, Awetest, within a large enterprise implementation. This series will include our methodology for building out automation, code examples, best practices, and…

Read more

Sikuli Best Practices for Effective Test Automation with Sikuli IDE

  Sikuli Best Practices If you have been struggling to build complex interactive UI application tests with DOM based technologies like Watir or Selenium. You have come to the right blog, because project Sikuli is transforming the test case creation process by adding visual image verification to the arsenal of test automation. We have been…

Read more

New Feature: Smart Screenshot Support

As part of our continued effort and commitment to add new features and capabilities to Awetest, we recently announced Screenshot support.  “Actionable Reporting” has been been a big focus for us (and our customers) over the last several months.  Now with Smart Screenshots, users can get visual confirmation of specific point in the automation run…

Read more

Best Practices for Watir and Selenium Locators – The Locator Tree of Life

When choosing which element locator to use in your automation tests it is important to know which locators are better to use than others. This will help you cut down on your script maintenance and strengthen your confidence that your tests are actually testing the element you intended to. We made up this fun little diagram to…

Read more

Selenium with Sikuli Integration and Optional Logging

When working with Selenium, sometimes you will find yourself stuck trying to access a particular element of the page and unable to script any further (this can often be a problem when working with a page that has iframes or links that trigger JavaScript events). A fix for this is to call Sikuli from within…

Read more

Bulletproofing a Sikuli Script

As useful as Sikuli appeared at first glance, I quickly found it to be a real handful to implement and maintain. In both cases, implementation and maintenance, I’m not referring to difficulty in the actual scripting component itself, but in making sure that you are scripting with images that are usable by Sikuli for the…

Read more

Getting Watir Working Again Can Often Be A Simple Sleep Issue

In one of our clients current projects, there is a module of scripts that require each script to log in as multiple user/roles to complete certain parts of the work flow. The application is also a little quirky. It has no log out button!  So in order for our script to log out of one…

Read more

The In and Out’s of Awetest Reporting Module

One of the number one things our customers tell us they love about our test automation product Awetest is the expansive reporting module that includes not only high level data capturing and exporting but also how actionable the module becomes with the ability to drill down into the script level at any point and provide…

Read more

The In and Out’s of Awetest Reporting Module

One of the number one things our customers tell us they love about our test automation product Awetest is the expansive reporting module that includes not only high level data capturing and exporting but also how actionable the module becomes with the ability to drill down into the script level at any point and provide…

Read more

Countdown To The End of Windows XP

Depending on when you read this post will ultimately determine how long you have before the end of your beloved  Windows XP operating system. That’s right! With the Windows 7 entering puberty, according to Microsoft, its time to put that old work horse XP out to pasture. At the time of writing this post there…

Read more

Managing Test Case Variables and Utility Files with Awetest’s Assets Manager

Data management has been one of big trials we faced while deploying our test automation framework Awetest. The challenge was creating modular automated tests that can be reused across multiple script versions, multiple environments, and with different databases. Our answer was to integrate the concept of “Assets” into our test automation framework to address the…

Read more

Managing Test Case Variables and Utility Files with Awetest’s Assets Manager

Data management has been one of big trials we faced while deploying our test automation framework Awetest. The challenge was creating modular automated tests that can be reused across multiple script versions, multiple environments, and with different databases. Our answer was to integrate the concept of “Assets” into our test automation framework to address the…

Read more

How to convert a PDF file to text and parse it in Ruby

  Parsing .PDF’s with Ruby In our journey through the world of test automation with ruby we have found that sometimes the data we need to validate is locked up in some .pdf formatted file and can be difficult to get at. The 3Qi Labs team decided there had to be a way to automate…

Read more

New Image and Pixel Matching Visual Automation with Sikuli and Awetest

  Integrating sikuli Visual Automation with Awetest. Awetest now supports Visual Automation using sikuli Script, a revolutionary new technology from MIT’s Artificial Intelligence Research Labs. Visual Automation complements Awetest’s existing regression testing capabilities by allowing users to integrate complex interface scenarios – think Drag/Drop, Scroll, Swipe, and any other complex Browser-to-Desktop-to-Browser interactions. You may be…

Read more

When is a linked select list really ready? Watir::Wait

Population of select lists are often linked to the values of other entries on a page. Here is an example where the first field (text field) entry is used to do a search which populates the second field (select list) on hitting ‘Enter’. Selection of an option from that list populates the third field (also…

Read more

Automation: Sending Email Through Outlook Using Ruby

The web testing is not limited to just clicking few links and checking if the controls are working fine. In my job, we do a lot more than that. In one of the recent requirements I got on one of our projects, I had to setup an email notification based on an event. This blog…

Read more

Gartner Best Practices for Test Automation…

Gartner research, is often used by high-ranking CTOs and IT Execs as the barometer to gauge, define and re-calibrate their long (and short) term IT initiatives. So it isn’t surprising that start-ups like ours (and especially those who target the Enterprise IT customer) are constantly referring to Gartner research to ensure that we’re staying ahead…

Read more

How to edit word documents using Ruby…

This blog outlines how to do scripting for test cases that involve editing of word documents or verification of the contents of a word document. The script would need to have:

To open an MS word document:

The Range(x,y) specifies the place at which text will be inserted. “.Text” allows to insert text…

Read more

Parametrize Your Automation Scripts!

Our Customers typically have 4-7 “lower” environments where the underlying application is deployed and tested, multiple times by multiple teams before making it into “production”. One of the big benefits of using Awetest is the ability to create and test new environments on the fly using existing scripts. When an automation script is written, it…

Read more

New Feature: Selenium Support

Some good news for users who were already invested in Selenium. We now support Selenium scripts recorded directly through Selenium IDE. Simply upload your raw selenium script in Awetest and you can leverage all the other features (screenshots, version control, detailed reporting, analytics, etc. etc.) that Awetest users have grown to love. Selenium has already…

Read more

Attaching an IE window that isn’t ready

There are times, we hope rare, when we need to attach an Internet Explorer window where not all of the ready states are complete. Here is an example where the window contains several frames and one of the frames never gets beyond ready state ‘loading’. Watir‘s normal #attach method waits for the overall document to…

Read more

Attaching an IE window that isn't ready

There are times, we hope rare, when we need to attach an Internet Explorer window where not all of the ready states are complete. Here is an example where the window contains several frames and one of the frames never gets beyond ready state ‘loading’. Watir‘s normal #attach method waits for the overall document to…

Read more

Handling Ajax drop down within a table…

I have been working on Ruby and Watir technologies for a while now. While enjoying the versatility of Watir (as evident from Željko Filipin’s Watir solution for playing pacman, http://zeljkofilipin.com/2010/05/29/play-google-pacman-with-watir/) – I realized that there are certain scenarios in which we do not have direct method for accomplishing a task. For example, when we have…

Read more

Using Ruby’s each method with WATIR and Roo

Mentioned in an earlier post, roo is a great gem to use with watir to do excel validations. You can use roo to find values in specific cells or within a range of cells. Naturally, you would want to do your data analysis across a range of cells to avoid unnecessary work and lines of…

Read more

Using Ruby’s each method with WATIR and Roo

Mentioned in an earlier post, roo is a great gem to use with watir to do excel validations. You can use roo to find values in specific cells or within a range of cells. Naturally, you would want to do your data analysis across a range of cells to avoid unnecessary work and lines of…

Read more

testimonials_bg

Use of XPath in WATIR

WATIR allows you to access elements based on pre-defined attributes. But there are some cases where a simple watir method cannot be used. Cases such as below: Case 1 – > There is an element that cannot be accessed using pre-defined attributes Case 2 -> There is no API for a particular HTML element Case…

Read more

Using WATIR and Roo to read data from Spreadsheets

Roo is a gem that lets you access contents of , 1> Excel Spreadsheets(.xls), 2> Open office spread sheets(.ods), 3>Excel’s new format .xlsx and 4>Google spreadsheets. Consider the following spreadsheet:   The above spreadsheet can be accessed using the following code:

#Require the roo library in the script

# To parse an excel…

Read more

AutoIT and Basic Authentication on Locked Machines

When doing automated testing, it’s common to run into a basic authentication window before you can access the application. WATIR can’t handle these authentication windows very well because it’s basically a modal popup with no associated DOM. That’s where AutoIT can be used to handle these authentication windows. You can use AutoIT to send basic…

Read more

Drag and Drop using Watir and AutoIt – Part II: Using a handle

In Part I we moved a dragable element around in the client window. Often the element has a handle that is to be used to move it. Or the handle might be intended for resizing. Of course, we have to find the handle within the element we wish to move or resize. Using the IE…

Read more

Retrieving Text from a Modal Dialog

If your test case requires you to validate the text of a modal dialog, you can use the AutoIT function WinGetText.

However, this method only works for IE modal popups. When using Firefox, the WinGetText function will output a nil. One possible solution around this is to highlight the text, copy it, send it…

Read more

Modal Dialogs and AutoIT

Modal dialogs are pop-ups that need attention before the user can go back to their testing window. Modal dialogs are difficult to automate using only Ruby and Watir because you can’t access the html source code of a modal dialog. Since AutoIT does not require any source code to operate, it is a viable tool…

Read more

Validate if the Aria/Flash object is Enabled/Disbaled using xpath in WATIR

Here is a method to validate if an Aria element is enabled/disabled using xpath in WATIR. The attributes that Watir provides for identifying the HTML elements on the page such as flash/Aria objects are sometimes not sufficient enough to identify elements on the page. XPath is well established and powerful query language for XML documents….

Read more

Activating & Inputting Text into an Ajax Text Box using Watir

Dealing with AJAX text boxes using Watir is tricky. We recently encountered 1 which looks like a generic input box but needs to be activated in order to input data. After trying the various common input methods

we finally were able to identify the fix as a 2 step process: Step 1: Clicking the…

Read more

Activating & Inputting Text into an Ajax Text Box using Watir

Dealing with AJAX text boxes using Watir is tricky. We recently encountered 1 which looks like a generic input box but needs to be activated in order to input data. After trying the various common input methods

we finally were able to identify the fix as a 2 step process: Step 1: Clicking the…

Read more

Watir, AutoIT and File Downloads

AutoIT is a powerful tool to use in conjunction with Ruby/Watir because it allows you to manipulate windows and simulate actions without requiring the use of the source code. This is especially useful for pop-ups such as modal dialogs or file downloads.

Read more

Regression Run Page

This is where you kick off the tests. Its as simple as selecting the test cases you want to test, the environment on which you want to run the tests and you’re good to go…

Read more

300 Validations. 7 Minutes.

We just completed our first Proof of Concept! 300 Validations in 7 Minutes!! Built, tested and deployed (from scratch) in less than 2 weeks. We’re pretty proud of ourselves. And best of all – we found 7 Errors that had been missed by our customer. Now we wont get into quantifying the ROI – rest…

Read more

Welcome to 3QI Labs

Welcome to 3QI Labs. This is where we’ll be sharing updates about our flagship test automation product – 3QI’s Awetest. We look forward to hearing from you and please don’t hesitate to contact us with any questions you might have. We’re constantly updating our site so do come back and check it out.

Read more