ExtentReports is a popular logger-style reporting library for automated tests. Since Rapise 8.2 there is a simple way of using it for custom reporting.
Sometimes you have to automate the uploading of files using an HTML file upload control. This article explains how to record and playback such a script.
Rapise connects to mobile devices (iOS and Android) using the standard Appium mobile device testing API (similar to Selenium WebDriver for web browsers). This articles describes how you can use Rapise to connect to a mobile device farm using the Appium mobile device profiles inside Rapise. We use Kobiton as an example.
Recommended approach is to use SpiraTest and RapiseLauncher designed for this task. In some cases it is not an option and we need to execute a test directly.
Note: this manual is out of date. Please refer to the new one for Jenkins 2.440 instead.
In order for Rapise to be able to test a thick-client desktop application written using Qt, it needs to support Microsoft Active Accessibility (MSAA), as described in this article - http://doc.qt.io/qt-5/accessible-qwidget.html
This article demonstrates how to check your application to see if it supports MSAA.
In rare cases Rapise installation fails. There may be different reasons for this including AV software, security configuration or corrupted Windows system. To help Rapise team to find out the root cause you may zip and share Rapise installation logs.
Sometimes when you are using Rapise, you see an error on the screen, or something doesn't work as expected. In that case, our support team will need a copy of the log file that is likely to contain the error message. This article explains how to get that log file.
When you execute Rapise tests via Rapise Launcher - test reports and logs are automatically uploaded to Spira. But verbose level is always set to Level 1 by Rapise Launcher. If you need more detailed log set verbose to 2 or 3 in test case properties.
Yes, in general, Rapise can automate most web applications using mobile Safari running on iOS (either on a real or simulated device). However there are some limitations.
This article is obsolete. The recommended way of testing Web applications is to record tests on a desktop browser via Selenium-based profile and then execute using Mobile profiles. See How to run a cross-browser test on a mobile device for more details.
We often get asked this question: "We have Rapise and want to automate a native iOS app that is available on the application store", can we do it?
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
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.
Sometimes you want to override certain Rapise settings (e.g. the Command Interval) from within SpiraTest. For example you might to run one test set more slowly than other test sets because the environment is slower. This article explains how you can easily pass settings values from SpiraTest to Rapise.
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.
When you try and do a substring on a value returned from a database, you may get an error about the object not supporting the property.
When you have a user defined function in Rapise, you sometimes want to jump to it.
In order for Rapise to be able to test a thick-client desktop application written using Delphi, it needs to support Microsoft Active Accessibility (MSAA), as described in this article - http://edn.embarcadero.com/article/33642
It is common to use UI tests with RDP connected to remote VM. By default this works only while RDP window is open and client is connected. On disconnect remote session gets locked and UI becomes unavailable for the test. This topic covers a workaround.
In some cases it is convenient to store tests in the same Git repository where source code of an application under test is located. For example, if you are using Visual Studio Team Services. From this article you will learn how to execute Rapise tests stored in a Git repository with SpiraTeam and leverage the power of SpiraTeam reporting and analysis features.
This article is obsolete. There is much simpler approach with use of RapiseLauncher Extension for Azure DevOps.
When performing web service testing using Rapise you may need to change the HTTP headers being sent with the request. This article provides suggestions on the different ways of doing this.
Sometimes you need to run a Windows batch file (.BAT) from Rapise. Unlike an executable, you cannot simply use Global.DoLaunch() to execute it since it's not actually an application. This article provides the code you need to use.
One of our users had a webpage with a form. When it was submitted partially filled, the page came back (after being processed on the backend) with some errors about incomplete form. If the user tried to navigate away from this page via a link (or close the page/browser tab) he was prompted with browser's standard "Are you sure you want to leave this page?" dialog. He needed a way for Rapise to handle this popup when recording and playing back the web test.
This topic describes how to read and write JSON data in Rapise.
We often get requests for ways to slow down the playback speed of Rapise so that the application under test (AUT) has time to respond. This article describes the different ways and provides suggestions as to when you should use each one.
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:
One of the most popular programming languages in the world is JavaScript. Initially conceived by Netscape as a web page scripting language, christened JavaScript to leverage the popularity of Java (which was fairly new and sexy at the time) and now used for servers (NodeJS), desktop apps (ReactNative) and for us at Inflectra, the core technology at the heart of our Rapise test automation system. This article provides some useful resources for those first learning the language.
It is a common situation that desktop applications written using Microsoft Windows Presentation Framework (WPF) will have complex layouts including tabs, splitters and panels having custom grids and tables inside. This article provides help in dealing with such situations, including how to dynamically find items.
Sometimes when testing local/desktop applications you need to access the Windows registry to verify that keys exist or that keys have specific values. For example you may be testing that a DLL was successfully registered. This article provides information on the 'UsingRegistry' sample that comes with Rapise.
We had some customers that were looking to record some tests against Microsoft Word 2010. When testing against MS-Word 2010 there are actually two parts to the application:
This article provides some strategies for dealing with both areas.
By default, the reports displayed within Rapise report back each test activity and assert statement as a line in the report with all of the activities and events being displayed in a single flat list regardless of whether they happen inside the main Test() function or a sub-function. This articles explains how you can extend the reporting.
When you have a multi-select list in a web application, you may need to check which items are selected, or to check whether or not a particular item is selected. This article illustrates how to do that.
When you use a DoX command in Rapise to perform a specific command (e.g. DoDOMChildrenCount() to get a number of object's DOM children), in the report an extra step -- assert -- is created during test execution. Sometimes you want to be able to call a function 'quietly' without it affecting the report.
By default Rapise records user actions with a line commented out for each action. This articles describes how you can disable this behavior if you just want the script lines recorded on their own.
A Flex application requires some instrumentation to be ready for testing. By default Flash player has security restrictions preventing Rapise from accessing the application contents. Please, check the this help topic to learn more about Adobe Flex testing.
This article is obsolete. Flex support was removed from Rapise.
When executing Rapise scripts from SpiraTest using RapiseLauncher there is a 10-minute inactivity timeout. If your scripts have periods of inactivity that last longer than 10 minutes, you may need to extend the default timeout. This article describes the steps for doing this.
This article is obsolete. Since Rapise 5 there is no default timeout anymore.
When using Rapise to record test scripts against Windows, Java, Flex, or other thick client applications that have windows or objects whose names may change in between test runs, you will usually need to make changes to either the test script or the learned objects so that they can match correctly. This article outlines some suggested techniques for recording/playing back scripts against such applications.
If you have your browser zoom set to a value that is not 100% when recording or playing back scripts it will affect the playback reliability. Specifically Rapise may click/move at/to false locations in the test browser. You need to set your browser zoom to 100% before doing any playback/recording activities.
We are in the process of adding a new testing server that we would like to be able to run automation scripts against.
I just wanted to see if there is a process documented for converting scripts and objects to point to a different web address?
If your team has only one or two test automation engineers, the best option for storing files of a testing framework is within SpiraTest. This approach is straightforward to implement and does not require specific configuration of test sets. However, if your testing framework is expected to grow significantly and you have multiple automation engineers, it is recommended to incorporate Git into your set of tools. Using Git offers several important benefits:
Improved file loading speed: By integrating Git with RapiseLauncher, the process of loading files from a repository is significantly faster. This can save valuable time, especially when dealing with larger frameworks or complex test suites.
Comprehensive source control features: Git provides a wide range of source control capabilities, including branching and merging. These features are essential for managing changes and collaborating effectively when multiple team members are working on the same codebase. It allows for better organization, tracking, and merging of code changes, ensuring a streamlined development process.
Enhanced teamwork: Git simplifies collaboration in a team environment. It allows team members to work on different branches or even different features concurrently, while providing mechanisms to merge and synchronize their work seamlessly. This enables better coordination and reduces the risk of conflicts when integrating changes made by multiple developers.
By incorporating Git into your testing workflow, you can optimize file loading speed, leverage powerful source control features, and foster a more efficient and collaborative team environment.
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.
When a test is executed by RapiseLauncher it may access key properties of the test run, custom test set properties and test case parameters.
Requires Rapise 6.4.19.16+
This article describes the syntax for passing parameters from the Windows 32-bit command-line to a Rapise script. Note that you need to make sure that you're using the 32-bit command line on a 64-bit machine. I.e. follow the instructions in this KB article - https://www.inflectra.com/Support/KnowledgeBase/KB17.aspx
The true strength of test automation lies in its capability to execute the same test cases with varying input parameters. In Rapise 8.0, you can achieve this by utilizing multiselect and datacolumn parameters. Let's now explore a specific example to illustrate this concept.
When working as part of a team of automation engineers, the principles mentioned in the Single User Mode still apply. However, there are additional considerations to keep in mind, particularly when using a SpiraTest-based file repository.
If you are the sole automation engineer working on test creation with Rapise, it is recommended to follow these basic principles when developing a test automation framework. These guidelines specifically apply to the new Framework mode introduced in Rapise 8.0.
There are various situations where duplicating a test automation framework and linking it with another product in SpiraTest becomes necessary. For instance, you may want to create a copy to test the next major version of your application or start fresh with a clean product in SpiraTest. Another common scenario is when you need to transfer the test repository from SpiraTest to Git.
Rapise 8.0 provides the simplified way of parameterizing test sets . With the ability to define parameters and create configurations, managing different test scenarios has never been easier. Each configuration automatically includes all the defined parameters, but you can override specific parameter values as needed. If a configuration does not explicitly assign a parameter value, the default value is utilized during test set execution.
The Framework mode was introduced in Rapise 8.0 to simplify test case and test set management, as well as the management of parameters, page objects/modules, object repositories, and shared code. The legacy Single Test mode required dealing with Sub-Tests and linking tests to SpiraTest on a per test case basis, whereas in the Framework mode, there is a single button labeled Sync with Spira that handles everything. When this button is pressed, test cases and test sets are automatically synchronized with SpiraTest, and files are uploaded/downloaded.
Framework
Sync with Spira
In the Framework mode, team collaboration is streamlined because changes made by team members are automatically merged. In addition, it is possible to view diffs and resolve conflicts in complex cases.
In this article, we will demonstrate how to configure multi-browser execution of test cases in Rapise to ensure compatibility of a web application across major web browsers. This method is specifically designed for the Framework mode, which was introduced in Rapise 8.0.
Rapise 8.0 has introduced a new feature called the Framework mode. In this mode a new framework is created with the Common.js file which contains event handlers such as SeSOnTestInit and SeSOnTestFinish that get executed for every test case.
Common.js
SeSOnTestInit
SeSOnTestFinish
In test automation projects, it is often necessary to parameterize test cases for various purposes. For instance, this could involve specifying different URLs for running tests in different environments (development, staging, production), or providing user credentials for logging into the system. Additionally, there might be a need to quickly modify playback speed, error handling, and screenshot settings for multiple test cases. In the Rapise 8.0 Framework mode, managing parameters is made simple and convenient, allowing easy creation and management of parameters, including the ability to run the same test case with different input data, such as filling a form with various values to create multiple records in a system database.
During the evaluation of Rapise 5.2 for Microsoft Dynamics AX testing, a customer collected the following tips and tricks from our support team (thanks Maxime!).
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.
Sometimes when you are testing an application written in Angular 4, the text box will not accept a value that is correct during playback (e.g. zip code is not in the right format) when you use DoSetText to set the value.
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.
By default, when you want to use Rapise to record and playback web tests using either Chrome or Firefox, you simply go to the appropriate web browser "store" and install the extension directly from the store. However sometimes you are testing web applications on a machine with no Internet Connectivity.
Normally you can install the add-ons for Chrome and Firefox directly from the browser's app store (just search for Rapise). This is the easiest option, and avoids the need to run the browsers in developer mode.
It is tricky do deal with WPF calendar control. Here we introduce a number of supplementary functions to copy in your project and use to modify and read Calendar and DatePicker data.
A customer asked us why Rapise uses Pascal Case names for the various operations, functions and properties, as well as the reason why operations are prefixed with a "Do" action name.
This topic covers more detailed description on how to pass map from one Sheet to another in RVL
With our Rapise cloud edition, you can take your automated software testing to the cloud. With Rapise cloud edition you can start testing immediately, no hardware or test lab needed, just sign up for Amazon Web Services (AWS) and rent our Rapise cloud AMIs on-demand, with no minimum usage and no annoying monthly or annual fees, just pay for what you use.
If you try and run a Rapise script from the command-line on a 64-bit machine you may get an error message. Learn how to fix it from the article.
Rapise supports testing of Java applications. In the case that application is launched using Java Web Start (JWS) additional steps are needed to successfully test an application.
Sometimes when you first install and open Rapise, the Start Page does not display correctly. This article explains the cause and solution to fix the issue.
Of the unique needs of a requirements and test management system when working in the Defense industry, specifically when designing, building, and testing mission systems, is the ability to link individual test steps to the requirements. Since v5 of SpiraTest, this has been possible inside the Spira user interface, however many customers have been looking for a way to map test steps to requirements in bulk using Excel.
Sometimes when you are using Rapise, you have to use external ActiveX or .NET objects to perform specific actions. You can get Rapise to display intellisense for those objects.
If you don't have some of the standard Window fonts installed (e.g. Courier New), when you try and launch Rapise, it will fail to open correctly. This article provides information on the problem and solution.
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.
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.
Sometimes when you try and install Rapise, you will see the error message "The Pipe is Being Closed", this article provides some solutions for this message.
Sometimes we need to disable screenshots for a while (during some long loop) or when doing some specific operations. Here we show how to do it.
Example of adding support for Java UI control in Rapise.
Sometimes it is convenient to store function names in strings and use those strings to call actual functions. The article describes two ways of how you can do this in Rapise.
This article enumerates the different skills you need to be self-certified at the training course: Rapise iRP-100 fundamentals. The article includes the list of skills in a readable format as well as a downloadable spreadsheet that you can fill out.
If you try and record a test script in Rapise using just the 'Infragistics' library you will get the following error message:
C:\Program Files (x86)\Inflectra\Rapise\Engine\Recorder.js(285, 3) Microsoft JScript runtime error: 'ManagedObjectSelectableBehavior_OnMouseEvent' is undefined