Lire cet article en Français france-drapeau

Tableau Testing:
Selenium vs. Wiiisdom Ops

selenium-wiiisdom-ops-feature-img

Selenium Tableau Testing Overview

Selenium is an umbrella open-source project for a range of tools and libraries that enable and support the automation of web browser testing. It’s a suite of three products, Selenium IDE, Selenium Grid, and Selenium WebDriver. 

It provides extensions to emulate user interaction with browsers, a distribution server for scaling browser allocation, and the infrastructure for the W3C WebDriver specification that lets you write interchangeable code for all major web browsers. We will focus on its use to perform Tableau dashboard testing rather than its typical deployment to test the GUI of webpages.

 

What Is Selenium IDE?

Within the Selenium Tableau testing solution, most people start by utilizing Selenium IDE first. As its name implies, IDE (Integrated Development Environment) is the tool you use to develop your Selenium test cases exploiting a Chrome, Firefox, and Edge extension for recording the user’s interactions with the browser. 

After the Selenium IDE browser extension has been started and the test URL entered, a new URL window opens. User interactions are recorded for future replay.

selenium-ide-java-code-geeks

After recording, the test Commands, Targets, Values, and Comments can either be modified or replayed as is. A robust set of Commands are available to create more complex test scenarios:

selenium-ide-test-scenarios

This list is less complex when you realize that Verify automatically checks and logs an error, and Assert checks and stops the test after each error. The resulting tests produce text logs indicating whether there are any issues:

selenium-ide-log

Battle 1: Selenium IDE vs. Wiiisdom Ops 

Selenium IDE produces tests based on the webpage’s layout and the user recorded interaction, which is ideal for testing GUI-based webpages. The ability to integrate with higher-level Tableau logic, like a project directory tree and data values, is limited. Each step of Tableau item selection needs to be reproduced a step at a time.

Compared with Selenium IDE, Wiiisdom Ops Tableau menu navigation and item selection save time and effort. Wiiisdom Ops regression/cross-environment approach of snapshotting the whole workbook, including the worksheets, and metadata, provides a far less manual process with much higher resulting data confidence.

selenium-wiiisdom-ops-regression-test

The Tableau regression test includes eleven optional tests simplifying the whole process – no coding is required. It results in a very graphical and easy-to-understand report:

selenium-wiiisdom-ops-test-summary

And clear A/B visuals of any issues:

selenium-wiiisdom-ops-tableau-regression-test

Understanding Selenium Grid At A Glance

Testing from your client’s computer environment has severe limits on the scale and environmental characteristics of the tests. To test differing operating system environments needs VMs or discrete servers for each of them. The Selenium Grid operates from a single node to hundreds or thousands of nodes supporting diverse user browser/device testing scenarios and large-scale load testing. The test JSON files are executed either locally or remotely in an appropriate environment at the required scale, large, in most cases.

selenium-grid-components

https://www.selenium.dev/documentation/grid/components/

 

Depending upon your scale, you can use the Selenium Grid in Standalone, Hub/Node, Distributed, or Docker modes. Each includes all of the above components integrated appropriately to provide easy execution for any deployment. Standalone Grids run all of their components on the same server. Hub/Nodes Grids, with their nodes separated, work well for medium-sized deployments. Distributed Grids frequently have all of their components on different servers to maximize performance.

Today numerous people ask why it’s necessary to test on so many browsers when many of them are now based on the Chromium open-source project and are pretty much identical, except for their GUI style? The emerging best practice is heavy testing on Chrome and smoke testing of Edge and other browsers.

The compute clouds are a popular ecosystem to operate Selenium Grids in. Providing that the Grids don’t operate continuously at their full capacity for more than half the time, the computing clouds are less expensive than owning the hardware.

The Selenium Tableau testing solution has many Grid testing ecosystem partners with all kinds of browsers, operating systems, and mobile devices, an easy way to get mobile device testing done expeditiously. However, since they are mostly off-shore, there are potential compliance issues for many companies testing their data analytics. Many types of financial, customer, and medical data now need to remain in-country or continent.

 

Battle 2: Selenium Grid vs. Wiiisdom Ops 

Wiiisdom Ops isn’t a cloud solution, but it can execute in the computing clouds. Wiiisdom Performance Testing not only loads the Tableau ecosystem but also identifies the potential root causes of any issues.

performance-test-wiiisdom-ops

It identifies the tardy dashboard rendering root causes.

example-latency-scatterplot

The latency scatterplot communicates any problems like a tardy start-up, memory exhaustion over time, data latency, etc.

 

What Is The Function Of Selenium Webdriver?

Selenium Webdriver is a comprehensive GUI test environment that utilizes several programming languages to produce the test scripts. Java is likely the most popular and fully-supported development language. Selenium IDE works well for extended integration testing and regression testing. It can’t design the tests before the completed Tableau dashboard (test-driven development style) because it’s playback-centric.

 

Postage stamp summary of Selenium 4 is:

  • A very GUI-focused versus data tool
  • At the test session level, you have access and the ability to request parameters like:
    • Browser name, platform (OS), state (min, max, normal, full screen), etc.
  • Within the browser, you can read and sometimes set things like:
    • Back/Forward, Alerts, Cookies, Windows/Tabs
  • Within a Window/Tab you can locate/find elements like buttons using:
    • Class name, CSS selector, ID, Name, Link Text, Tag name, XPath, relative location, …
  • Having indexed an element, you can apply an action to it:
    • Keyboard – Send keys, Key up, Key down, Clear, …
    • Mouse – Click and hold, Click, Double click, Move to element, Drag and drop, …
  • Apply timing control to allow the content to be served:
    • Implicit timing – Alert is present, Element exists, Element is visible, Title is, …
    • Explicit timing – X sec timeout and poll an element every Y secs
    • Java – Threadguard to aid debugging larger deployments
  • Exploit the APIs:
    • Authentication, Logs, Exceptions, Geolocation, Colors, …

 

All in all, not a drag and drop analytics GUI test tool. A typical Java test to move the mouse to the middle of a display window element would look like this:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;

public class moveToElement {
  public static void main(String[] args) {
    WebDriver driver = new ChromeDriver();
    try {
      // Navigate to Url
      driver.get(“https://google.com”);

      // Store ‘Gmail’ anchor web element
      WebElement gmailLink = driver.findElement(By.linkText(“Gmail”));
      Actions actionProvider = new Actions(driver);
      // Performs mouse move action onto the element
      actionProvider.moveToElement(gmailLink).build().perform();
    } finally {
      driver.quit();
    }
  }
}

https://www.selenium.dev/documentation/webdriver/actions_api/mouse/

 

Battle 3: Selenium Webdriver vs. Wiiisdom Ops 

Selenium Webdriver Tableau test development needs two prerequisite skills, the ability to program in one of the many supported languages and to navigate the Tableau test application browser GUI object indexing.

In contrast, setting a Tableau filter to a min of 10 and a max of 30 in Wiiisdom Ops utilizes a simple dialog box with search navigation for the specific worksheet and filter names – no programming experience is necessary. Almost anyone can do this Wiiisdom Ops Tableau test creation.

task-list-wiiisdom-ops

Will It Be Wiiisdom Ops Or Selenium For Your Tableau Testing?

Selenium is a powerful suite of webpage testing tools ranging from a straightforward user interaction replay to a cloud for load or differing browser testing to a detailed webpage test programming tool using any popular programming language. When used to test Tableau deployments, Selenium needs significant development effort to navigate the Tableau-specific attributes versus tailor-made Tableau testing tools like Wiiisdom Ops.

It’s rumored that Selenium takes about 3-times the effort of Wiiisdom Ops to generate Tableau tests. An important factor if you’re working with many dashboards.

Learn more about Wiiisdom Ops here or request a customized demonstration here.

selenium-vs-wiiisdom-ops-tableau-testing

Leave a comment

📢 Decisive 2022 is coming and you’re invited ⏳

Register for Free

X