askui Blog

Follow the askui blog for product news, feature announcements and technical posts about automation.

Run AskUI Studio's Workflow on Your Local Windows Machine with Self-Hosted Runner

In this guide, we will walk you through the steps that you need for running an AskUI self-hosted runner on your local Windows machine. The AskUI self-hosted runner is a self-hosted component that downloads your workflows from AskUI Studio and runs them on the device it is hosted at. So this guide presumes that you already have an account for the AskUI Studio as well as know how to create a workflow in it.

Haram Choi
March 4, 2024

Upload PDF and Send E-Mail with AskUI Studio

In this part of the guide, we will use AskUI Studio to send an email with a PDF file attached. We will start with the condition where we already have a PDF file to send via email. In the example, we will use a gmail accout for the demonstration, but it would also work with any other email service.

Haram Choi
February 20, 2024
laptop, smartphone and newspaper, notes on the table

Download a Generated Printable PDF with AskUI Studio

This guide is designed to assist you to leverage our web-based automation environment, AskUI Studio. In particular, we will be focusing on generating a printable calendar, and downloading it in PDF from a dedicated website. By the end of this tutorial, you will be equipped with the basic knowledge to utilize AskUI Studio to interact with a website and handle pop-up dialogs for printing and downloading files.

Haram Choi
February 20, 2024

Canvas test automation, a comprehensive example

An example, how AskUI can help automate canvas based test environments, with tutorials, flows and more!

Ron van Cann
December 29, 2023
Simple Website with top navbar, one big tile with a logo consisting of a green square and a black T in it and right next to it a text tile. Below three smaller tiles with the same logo beneath each other. same

Automate Highlighting in WYSIWYG Editors with AskUI

Working in What-You-See-Is-What-You-Get editors (WYSIWYG) can be very tiring and also taxing on your wrists. Things like highlighting the same thing over and over again can often not be done with search-and-replace, because there is just no button for it 😤 In this tutorial I will show you how I automated this task with AskUI and also how to work around some kinks of WYSIWIG-Editors like microanimations and strange behaviour.

Johannes Dienst
February 13, 2024

Automate Your WebGL Application in 7 Easy Steps

Embrace Immersive and Interactive User Experiences: A Guide to Automating WebGL Websites with AskUI As web developers increasingly seek to captivate users with immersive experiences, WebGL-based websites have gained popularity. By harnessing the power of canvas to draw graphics and animations directly, they offer unparalleled creative control and dynamism in crafting user interfaces. The result? A more flexible and engaging platform for stunning graphical compositions, delivering real-time interactions that captivate visitors.

Ron van Cann
October 10, 2023
Scarves in multiple color hanging down as presentation.

Visual Regression Testing with AskUI and Jest

Visual Regression Testing (VRT) is a useful method to guard yourself against unwanted layout and visual changes that can occur with new version of a Graphical User Interface (GUI).AskUI is not a testing tool in the original sense but an automation tool for all GUIs that is platform-independent. Wouldn't it be nice to combine VRT with AskUI, so you do not have to maintain two different projects.Luckily you can do this because Jest - AskUIs favourite runner - can be extended to provide VRT, while AskUI delivers the screenshots to test on.

Johannes Dienst
February 13, 2024
Wind direction indicator as arrow with celestial direction signs underneath.

Enhancing Text Selection and Relational Selectors with Optional Parameters

In the past, you had to write `text.withText(<your text>)` for text selection. This was tedious to write and additionally hard to read, too. Now, we've implemented optional parameters, allowing you to simply use `text(<your text here>)` with your preferred parameter. This makes it easier to select text and improves readability.

Johannes Dienst
August 17, 2023
Display showing eight tiles with financial metrics visualizations.

Integrating Video Recording and Custom Reporters into AskUI Runs

Debugging UI-Automations can be a real pain especially when you run them inside a Pipeline with no chance to observe what is actually happening during execution.Wouldn't it be nice to get a report of failed automation steps that include screenshot before and after an execution and also a video?We've recently added video recording support to our UI controller, enabling you to record a video for each step you execute and add it to a report of your AskUI runs. We also provide an interface you can implement so you can integrate it into your favorite reporting tool like for example Allure.

Johannes Dienst
February 13, 2024
Orange glowing lightbulb in a raw socket with blurry background.

Use the Power Of TypeScript in AskUI

In the past, we've discussed using if and else statements, try and catch blocks, and for loops in TypeScript for building UI automations. However, to avoid repeating code and add real UI interactivity to your AskUI workflows, it's essential to harness the power of functions.Functions can help create reusable and efficient code for checking if elements are present and reacting accordingly.

Johannes Dienst
July 24, 2023
Smartphone, printed out paper and laptop display showing a dashboard with a bunch of random graphs and charts.

Integrating Test Data from APIs, CSV Files, and Databases into AskUI Workflows

Are you struggling to integrate test data into your AskUI workflows effectively? Do you find yourself juggling APIs, CSV files, and databases without a clear approach? Integrating test data from various sources can be a daunting task. By the end of this post, you'll have a foundation for integrating test data into your AskUI workflows using APIs, CSV files, and databases.

Johannes Dienst
July 24, 2023
a magnifying glass on a color table

Automating WebGL-/Canvas-based Website

WebGL-based websites are becoming increasingly popular among web developers looking to create immersive and interactive user experiences. By drawing graphics and animations directly on the canvas, they offer developers a high degree of creative control over the user interface, providing a more flexible and dynamic platform for graphical compositions. They also offer a more interactive user experience, allowing users to interact with graphics and animations in real-time.

Johannes Dienst
August 4, 2023
Camera pointing diagonalto the upper right corner of image. Collage of images in the background.

Take a Screenshot with askui - Also on Fail!

When you develop UI-Automations you often run into the problem that they fail inexplicably 😥. This leads to frustration and oftentimes stops the effort entirely! We will show you how can level up your debugging skills by teaching you a way to take screenshots during an askui execution and when on fail of an execution. With this knowledge you can lower your frustration and become faster when developing UI-Workflows because you see what askui sees.

Johannes Dienst
February 13, 2024
Testing coffee roast visually.

How to Do Assertions in askui

Real interactivity is what characterizes what an end-user is doing on a User Interface (UI). This is why it is important to extract data from your UI into your tool and use it later, for assertions for example 🔧.We will show two ways to use askui for real interactivity by extracting text out of your UI and use it for assertions.

Johannes Dienst
February 13, 2024
A smartphone next to a number of lego parts

How askui Works

askui is built on top of a number of components. We will cover what these components are and how they work together to provide a flexible and reliable way to automate interactions with UI elements of any operating system or platform.

Johannes Dienst
April 13, 2023
Man holding his hand palms up with Gitpod and askui Logos floating above them.

Try askui in Your Browser With Gitpod

askui controls your operating system (OS) through mouse movement, mouseclicks, keypresses and screencapture.Thus it can be a pain to install it on your local machine. Not everything might work out of the box or there are simply permissions missing (looking at you macOS 🫣).But we have a solution we will show you in this blog post!Our GitHub repository has a ready-to-go Gitpod configuration inside where you can try out askui for free in your browser without any installation issues.All you need is a GitHub account and a Gitpod account 🦄

Johannes Dienst
February 21, 2023

How to Use Custom Elements in askui

Custom Element Selection is a feature in askui that enables you to create custom selectors for elements on the screen, instead of relying on the standard selectors provided such as Button, Textfield, etc. .Here we will demonstrate how to use a custom element to explore Google Street View.

Johannes Dienst
February 13, 2024
Hand holding an Android phone in front of laptop.

Automate Github 2-Factor Authentication with Android Device

Today, we're building a two-factor authentication GitHub workflow automation with a browser we have on our Personal Computer (PC) and a physical Android device.

Johannes Dienst
January 17, 2023
A hand holding a piece of report next to a laptop

Using Reporter in Jest Framework

When using jest as the framework for your test, it's often desired to have a report that summarises the run result neatly. Although jest comes with a default test reporter, which prints out the report in the console directly, one could wish to have a discrete report, e.g as an XML or HTML, that can be stored and shared among team members.This article covers the usage of a test reporter within jest framework. Particularly, we will set up the jest-junit and jest-html-reporter.

Johannes Dienst
February 13, 2024
Strings of different colored lying around on the floor entangled.

Automate Multiple Devices

This tutorial shows how to automate multiple devices on the same network by using askui library.

Johannes Dienst
May 3, 2023
 Metal movable type

Understanding Text Filters in askui

This tutorial demonstrates different methods to handle text elements with askui. askui offers four different methods

Johannes Dienst
February 13, 2024
a set of wooden puzzle

AskUI Automation Example with Flutter

This tutorial shows how to use askui to automate an android app built with Flutter.

Johannes Dienst
February 13, 2024
Closely stacked amplifiers, cassettes, old TVs, CDs and records.

Relational Selectors in askui

In this tutorial, we will explain how all the different relational selectors work in askui, so you get a thorough understanding of them. Relational selectors can be difficult and sometimes confusing to work with at first. Sometimes it is even not clear why a specific element will not be selected or why the selector does not seem to work. After reading this tutorial you will know how to use the full power of all the relational selectors. Additionally, you learn what pitfalls you can fall into and how to avoid them in the future.

Johannes Dienst
February 13, 2024
an android device on a table

Automate Web Search on Android Devices with askui

In this tutorial, we will automate web browser searching on Android devices. This tutorial assumes that you have already set up your Android test device, alongside the Android Development Environment. If you haven't set it up yet, you can check out our previous tutorial.

Johannes Dienst
February 13, 2024
An Android device on the table

Setting up Android Devices for Testing Mobile Apps

In this tutorial, we will walk you through how to set up an Android device for developing and testing mobile apps running on Android devices. Depending on the testing environment, i.e. whether it is a real Android device or an emulator, the procedure might slightly differ. But the overall process of the setup will be more or less the same.

Johannes Dienst
January 3, 2023
Stacked tower of small multicolored wooden blocks. Beneath multicolored pens

How to Use the get() Command of AskUI

This tutorial will show you how you can utilize askuis get()-command to write more powerful automation. With the get()-command you can extract the information askui inferred. Many more automation possibilities become available 🔥.

Johannes Dienst
February 13, 2024
Laptop showing IDE with code in a dark setting

Zip Images and Upload Them to Google Drive On Windows With askui

This tutorial will show you how to zip files on your filesystem and then upload them to Google Drive on Windows OS. The goal is to show you a lot of the askui SDK methods in action. Using visual selectors and automation on OS level often feels confusing at first. This tutorial will give you many of the tools you need to automate your own workflows.

Johannes Dienst
February 13, 2024
Laptopdisplay displaying python source code in an IDE

Unit Testing in a Nutshell – JUnit

This post is part of our unit series, covering definitions and best practices. We cover JUnit, which is the most common unit testing framework in Java.

Dominik Klotz
March 29, 2023
Glasses lying in front of laptop display

Unit Testing in a Nutshell

Everything you need to know about Unit Tests: Definitions, FIRST-Principle, Test Coverage, Code Examples, Naming Conventions, Test Doubles and Patterns.

Dominik Klotz
March 29, 2023
Flutter automation

Test Automation for Flutter

Automating Flutter app is quite a challenge due to its benefits of being cross-platform. We show how askui can be leveraged to automate an example flutter application.

Jonas Menesklou
February 13, 2024
getting started with askui

Getting Started With AskUI

askui is a platform-independent, selector-free UI automation framework. Instead of controlling elements via selectors such as XPath or CSS selectors and thus being limited to web applications, askui controls the UI at the operating system level.

Jonas Menesklou
February 13, 2024