Sometimes you need to check if string is matching specific pattern (i.e. has variable part like date, time etc). This topic covers the way to compare it in RVL.
When writing automated tests, it is often necessary to create shared modules that can be used by multiple test cases. These modules serve various purposes, such as handling authentication for applications with a login page, performing necessary actions after test case completion, or working with custom controls within the application, such as dropdown menus, form fields, or grid/table controls.
In Rapise 8.0, you have the ability to address all these requirements. Rapise supports two types of modules: RVL (Rapise Visual Language) and JavaScript-based modules. These modules provide a flexible and powerful approach to handle common functionalities across your test cases.
By using RVL modules, you can visually create reusable components that encapsulate specific actions or sequences of steps. For example, you can create an RVL module that handles the authentication process by entering credentials and clicking the login button. This module can then be easily reused across multiple test cases that require login functionality.
Alternatively, you can leverage JavaScript-based modules in Rapise 8.0. JavaScript is a versatile programming language that allows you to create custom functions and logic to handle complex scenarios. With JavaScript-based modules, you can implement specific interactions with custom controls or perform actions that are not easily achievable through the visual interface of Rapise.
Both RVL and JavaScript-based modules in Rapise provide a seamless way to organize and reuse common functionalities within your automated tests. They help improve maintainability, reduce duplication of code, and enhance overall test efficiency.
We had a customer request for a sample that demonstrates how to click on buttons in a desktop application (in this case a plugin for Microsoft Word) where instead of having to learn each of the buttons individually, you can learn the button container and then loop through the buttons using a Rapise RVL Map.
When you test scenario has some sort of download we may need to wait/verify for download to be done. Here we provide some functions designed to help in such cases.
Use many sheets in RVL? Want to execute them all at once without calling one-by-one. Here is a simple solution.
Some of the Web resources used for automated tests have a browser's push notifications active.However, push notifications creating unnecessary records in RVL table.
Sometimes we need to get runtime property for the element. For example, we need to get a background color to know that element is highlighted for a user. Anything configured via stylesheet is usually a property: color, font, margins, dimensions, visibility etc.
Sometimes we need to get runtime property for the element. For example, we need to get a background color to know that element is highlighted for a user. You may do it with help of Navigator.ExecJs.
Sometimes we need to do Diff and Merge operations when working with external Source Control systems (git, svn, etc). This utility (ExcelMerge) will enable this functionality.
Sometimes you need more control on whether to stop execution when an assertion fails. Assertion that does not stop execution is Soft Assertion. With soft assertions you may force it to fail later when all expected errors are collected or keep running until the very end.
Sometimes you need to return a value or a set of values from RVL.DoPlaySheet or RVL.DoPlayScript calls. This sample shows you how.
We sometimes need to dump diagnostic information to the report. It may be values of some or all local variables.
Here we show a few examples on how to combine strings in RVL.
Sometimes we need to override the message written to the report when some action is performed.
Sometimes we need more fine-grained control over screenshots. Here we describe the way of using H column for defining which actions will have what kind of screenshot captured.
Sometimes we need to process data in groups or even in hierarchical way. Here we will show how to make it using plain table and loop in RVL.
.properties is a file format mainly used in Java related technologies to store the configurable values. Here we show how to work with it in Rapise.
If you need to get the size of the string, then here is a couple of possible ways for doing it.
Sometimes you need to specify object and data for it in the map. Here we will show how to make it using Rapise built in maps and available APIs.
This topic covers more detailed description on how to pass map from one Sheet to another in RVL
Here we will cover several ways of passing parameters and returning values from Sub-Tests.
Some controls require mouse wheel input. Here is how to do it.
Sometimes compared images partially differ due to some dynamic part. Here we show how to do partial comparison in this case.
Good object naming is important for test script clarity and readability. Default names are detected during record/learn session and results sometimes are cumbersome, obscure or irrelevant. Here we show how to give proper names to objects.
Sometimes you need to go through all links to check something. Here are two ways: JS and RVL of doing it with Rapise.
You may use extra RVL columns for your own purposes. In the simple case for storing additional information (notes, links). In more advanced cases extra columns may affect script behavior: add report attributes, control screenshots, control custom actions, assign variable values etc. Here we provide live example of one of such use-cases.
In this article we describe how to write data to an external Excel spreadsheet during test playback. Both RVL and JavaScript examples are given.
When doing mouse click from Rapise it is sometimes need to use offset coordinates. You will learn:
1. When explicit coordinates are needed
2. How to determine them
Working example of test framework designed to maximize flexibility and get the most from Rapise productivity features.
Sometimes test set requires a value passing through the sequence of test cases. Good example is User ID assigned during sign-in and then used in subsequent test cases.
Another use case is when test case requires some input value that should always be unique.
Many test automation scenarios require performing same steps with different data. For example, login into application with different user credentials, or enter several lines of a sales order into a table. This is data-driven testing. From this article you will learn how to do this in Rapise Visual Language (RVL) and JavaScript modes. You will also learn how to define data within a test and in external spreadsheet.
You have recorded some basic test scripts in Rapise, and now you want to easily extract the steps into a reusable function that can be called from the main test script. This article explains how you can do this for both RVL and JavaScript based tests.
Sometimes you want to have multiple nested loops to test a set of test data (for example loop over a list of users, and for each user, loop over a list of browsers). In JavaScript you can use standard nested loops, this article explains how you can do the same using RVL.
Sometimes you need to compare two tables. Here we introduce a function to compare two spreadsheets.
Unfortunately, Windows10 has a nasty habit of frequently updating itself and then breaking existing applications. We found that the February 14th, 2018 Windows10 update corrupted the Excel device driver that Rapise uses to access the RVL test script spreadsheet during playback.
Sometimes it is required to have list of files from some folder. Here we demonstrate how to get this list and how to iterate through it in RVL.
We show how to do data generation for test scenario using RVL Variable loop in Rapise. This sample shows how to produce a sequence of filenames: FILE1.txt, FILE2.txt, FILE3.txt and so on.
Attaching to external .XLS spreadsheet in RVL may be easily done in RVL by use of Range type of the Map.
Range
It is possible to access such objects form RVL using one of the methods shown in this article.
Sometimes Object ID used as a parameter to the function or object Action (such as Global.DoWaitFor(objId) ). RVL contains special feature intended to make pick-up of object from the list easier.
With the release of the new Rapise Visual Language (RVL), there have been some questions about how to use it to organize tests, subtests and multiple sheets. For example: