<description/><language>en-US</language><copyright>(C) Copyright 2006-2024 Inflectra Corporation.</copyright><managingEditor>support@inflectra.com</managingEditor><category domain="http://www.dmoz.org">/Computers/Software/Project_Management/</category><category domain="http://www.dmoz.org">/Computers/Software/Quality_Assurance/</category><generator>KronoDesk</generator><a10:contributor><a10:email>support@inflectra.com</a10:email></a10:contributor><ttl>120</ttl><item><guid isPermaLink="false">KB765</guid><author>Max K (denis.markovtsev@inflectra.com)</author><category domain="http://www.inflectra.com/kronodesk/article/tag">rapise8</category><category domain="http://www.inflectra.com/kronodesk/article/tag">docs</category><category domain="http://www.inflectra.com/kronodesk/article/tag">academy</category><title>Rapise 8.0: how to use Page Objects/Modules 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. Fri, 23 Jun 2023 08:48:31 -04002023-06-23T13:56:36-04:00/Support/KnowledgeBase/KB765.aspxKB746David J (support1@inflectra.com)dynamic uiautomation desktopDynamically Clicking on a Desktop App Button Sample (MS-Word) 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 . Tue, 18 Apr 2023 15:11:05 -04002023-04-18T15:54:31-04:00/Support/KnowledgeBase/KB746.aspxKB724Alex G (alexey.grinevich@inflectra.com)Check if File is in the Downloads Folder 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. Mon, 30 Jan 2023 16:14:11 -05002023-01-30T16:14:56-05:00/Support/KnowledgeBase/KB724.aspxKB722Alex G (alexey.grinevich@inflectra.com) Play All Sheets in RVL Use many sheets in RVL? Want to execute them all at once without calling one-by-one. Here is a simple solution. Mon, 30 Jan 2023 13:12:51 -05002023-01-30T13:12:51-05:00/Support/KnowledgeBase/KB722.aspxKB681Victoria D (nino.diasamidze@inflectra.com)How to disable browser notifications for Selenium Chrome Some of the Web resources used for automated tests have a browsers push notifications active. However, push notifications creating unnecessary records in RVL table. Tue, 04 Oct 2022 15:45:23 -04002022-10-04T15:53:40-04:00/Support/KnowledgeBase/KB681.aspxKB644Alex G (alexey.grinevich@inflectra.com)Reading DOM element runtime property 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. Wed, 06 Apr 2022 07:45:57 -04002022-04-06T07:45:57-04:00/Support/KnowledgeBase/KB644.aspxKB622Alex G (alexey.grinevich@inflectra.com)RapiseGet DOM element visible color 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. Fri, 26 Nov 2021 11:34:41 -05002021-11-26T11:34:41-05:00/Support/KnowledgeBase/KB622.aspxKB621Alex G (alexey.grinevich@inflectra.com)RapiseGet DOM element visible color 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. Fri, 26 Nov 2021 11:34:31 -05002021-11-26T11:34:31-05:00/Support/KnowledgeBase/KB621.aspxKB598Alex G (alexey.grinevich@inflectra.com)Using RVL Merge Utility 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. Thu, 03 Jun 2021 11:58:14 -04002023-08-18T08:01:11-04:00/Support/KnowledgeBase/KB598.aspxKB596Alex G (alexey.grinevich@inflectra.com)SoftAssert in Rapise 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. Tue, 27 Apr 2021 09:47:05 -04002023-08-18T06:22:30-04:00/Support/KnowledgeBase/KB596.aspxKB594Alex G (alexey.grinevich@inflectra.com)Returning Values from RVL sheets Sometimes you need to return a value or a set of values from RVL.DoPlaySheet or RVL.DoPlayScript calls. This sample shows you how. Wed, 24 Mar 2021 14:25:18 -04002021-03-24T14:25:41-04:00/Support/KnowledgeBase/KB594.aspxKB570Alex G (alexey.grinevich@inflectra.com)Easy Way to Dump Sheet Variables We sometimes need to dump diagnostic information to the report. It may be values of some or all local variables. Thu, 15 Oct 2020 13:00:51 -04002020-10-15T13:00:51-04:00/Support/KnowledgeBase/KB570.aspxKB566Alex G (alexey.grinevich@inflectra.com)Merge Strings in RVL Here we show a few examples on how to combine strings in RVL. Thu, 01 Oct 2020 10:41:00 -04002020-10-01T10:41:00-04:00/Support/KnowledgeBase/KB566.aspxKB565Alex G (alexey.grinevich@inflectra.com)Customize Rapise Report Messages Sometimes we need to override the message written to the report when some action is performed. Thu, 01 Oct 2020 10:18:05 -04002021-04-01T13:42:38-04:00/Support/KnowledgeBase/KB565.aspxKB537Alex G (alexey.grinevich@inflectra.com)Using Extra Columns in RVL to control screenshots 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. Wed, 13 May 2020 09:09:17 -04002023-08-17T12:21:52-04:00/Support/KnowledgeBase/KB537.aspxKB531Alex G (alexey.grinevich@inflectra.com)RapiseHandling Grouped Data in Rapise 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. Mon, 20 Apr 2020 08:43:53 -04002023-02-02T10:50:18-05:00/Support/KnowledgeBase/KB531.aspxKB519Alex G (alexey.grinevich@inflectra.com)Reading values from .properties files in Rapise .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. Fri, 06 Mar 2020 09:06:56 -05002020-03-06T09:11:31-05:00/Support/KnowledgeBase/KB519.aspxKB515Alex G (alexey.grinevich@inflectra.com)Checking String Length in RVL If you need to get the size of the string, then here is a couple of possible ways for doing it. Fri, 21 Feb 2020 14:45:06 -05002020-02-21T14:47:15-05:00/Support/KnowledgeBase/KB515.aspxKB504Alex G (alexey.grinevich@inflectra.com)Referring Repository Objects from Maps 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. Thu, 02 Jan 2020 14:53:55 -05002020-01-02T14:53:55-05:00/Support/KnowledgeBase/KB504.aspxKB502Alex G (alexey.grinevich@inflectra.com)RapisePassing Map as a Parameter into RVL Sheet This topic covers more detailed description on how to pass map from one Sheet to another in RVL Mon, 23 Dec 2019 11:57:48 -05002020-01-16T13:55:25-05:00/Support/KnowledgeBase/KB502.aspxKB501Alex G (alexey.grinevich@inflectra.com)Passing Sub-Test Parameters Here we will cover several ways of passing parameters and returning values from Sub-Tests. Thu, 12 Dec 2019 19:23:06 -05002023-08-17T08:57:48-04:00/Support/KnowledgeBase/KB501.aspxKB487Alex G (alexey.grinevich@inflectra.com)How to Do Mouse Wheel Scroll in Rapise Some controls require mouse wheel input. Here is how to do it. Fri, 11 Oct 2019 15:33:14 -04002019-10-11T15:33:14-04:00/Support/KnowledgeBase/KB487.aspxKB484Alex G (alexey.grinevich@inflectra.com)Comparing Parts of Images Sometimes compared images partially differ due to some dynamic part. Here we show how to do partial comparison in this case. Wed, 09 Oct 2019 16:06:40 -04002023-08-17T08:36:15-04:00/Support/KnowledgeBase/KB484.aspxKB483Alex G (alexey.grinevich@inflectra.com)Renaming Objects in Rapise 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. Fri, 27 Sep 2019 12:16:17 -04002019-09-27T13:33:23-04:00/Support/KnowledgeBase/KB483.aspxKB475Alex G (alexey.grinevich@inflectra.com)How to Get All Links on the Page with Rapise Sometimes you need to go through all links to check something. Here are two ways: JS and RVL of doing it with Rapise. Tue, 27 Aug 2019 11:59:35 -04002023-08-16T16:22:31-04:00/Support/KnowledgeBase/KB475.aspxKB433Alex G (alexey.grinevich@inflectra.com)Using Extra Columns in RVL to add Report Attributes 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. Mon, 18 Mar 2019 19:03:40 -04002019-03-18T19:05:41-04:00/Support/KnowledgeBase/KB433.aspxKB432Max K (denis.markovtsev@inflectra.com)excelspreadsheetwrite dataWriting data to an Excel spreadsheet In this article we describe how to write data to an external Excel spreadsheet during test playback. Both RVL and JavaScript examples are given. Fri, 15 Mar 2019 07:17:41 -04002019-03-15T07:17:41-04:00/Support/KnowledgeBase/KB432.aspxKB393Alex G (alexey.grinevich@inflectra.com)RapiseDoClick() vs DoClick(x,y) 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 Thu, 11 Oct 2018 08:02:23 -04002023-08-16T11:53:39-04:00/Support/KnowledgeBase/KB393.aspxKB371Alex G (alexey.grinevich@inflectra.com)Sample Spira-Friendly Framework with Multiple RVLs and Common Library Working example of test framework designed to maximize flexibility and get the most from Rapise productivity features. Wed, 15 Aug 2018 10:56:39 -04002018-08-15T10:56:39-04:00/Support/KnowledgeBase/KB371.aspxKB367Alex G (alexey.grinevich@inflectra.com)Rapise RVL GlobalStoring Values Across Test Cases and Sessions in Rapise 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. Thu, 02 Aug 2018 12:18:57 -04002023-08-16T09:20:17-04:00/Support/KnowledgeBase/KB367.aspxKB357Max K (denis.markovtsev@inflectra.com)spreadsheetexceldata-drivenddtData-driven testing with spreadsheets and RVL 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. Mon, 02 Jul 2018 14:09:11 -04002023-08-15T18:16:34-04:00/Support/KnowledgeBase/KB357.aspxKB352David J (support1@inflectra.com)rapise user functions scenariodConverting Recorded Steps into Functions/Scenarios 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. Tue, 26 Jun 2018 03:21:02 -04002023-08-15T17:47:04-04:00/Support/KnowledgeBase/KB352.aspxKB340David J (support1@inflectra.com)rapise scriptless rvl visual language loopsHow to Do a Nested Loop with Rapise Visual Language (RVL) 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. Wed, 02 May 2018 15:17:46 -04002018-05-02T15:19:17-04:00/Support/KnowledgeBase/KB340.aspxKB330Alex G (alexey.grinevich@inflectra.com)Compare two SpreadSheets in Rapise Sometimes you need to compare two tables. Here we introduce a function to compare two spreadsheets. Wed, 07 Mar 2018 13:57:10 -05002023-08-15T13:42:01-04:00/Support/KnowledgeBase/KB330.aspxKB326David J (support1@inflectra.com)rapise excel rvl windows scripting host windows 10Windows Scripting Host Crashes When Playing Back Rapise RVL Script after Windows 10 Update 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. Thu, 15 Feb 2018 22:11:41 -05002018-02-15T22:11:41-05:00/Support/KnowledgeBase/KB326.aspxKB324Alex G (alexey.grinevich@inflectra.com)Rapise RVL Loops Data Generation ArrayList Files from Folder in RVL 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. Thu, 08 Feb 2018 06:17:26 -05002018-02-08T06:17:26-05:00/Support/KnowledgeBase/KB324.aspxKB320Alex G (alexey.grinevich@inflectra.com)Rapise RVL Loops Data GenerationUsing RVL Loop to generate sequence of file names 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. Fri, 26 Jan 2018 12:49:23 -05002018-01-26T12:49:51-05:00/Support/KnowledgeBase/KB320.aspxKB317Alex G (alexey.grinevich@inflectra.com)Read external Excel spreadsheet in RVL Attaching to external .XLS spreadsheet in RVL may be easily done in RVL by use of Range type of the Map . Thu, 18 Jan 2018 11:04:55 -05002018-09-03T06:22:16-04:00/Support/KnowledgeBase/KB317.aspxKB312Alex G (alexey.grinevich@inflectra.com)rvl react dom attributesAccessing DOM elements by Attributes in RVL It is possible to access such objects form RVL using one of the methods shown in this article. Mon, 08 Jan 2018 12:40:15 -05002023-08-18T10:33:01-04:00/Support/KnowledgeBase/KB312.aspxKB270Alex G (alexey.grinevich@inflectra.com)Using Object ID as RVL ParamValue 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. Wed, 02 Aug 2017 10:04:13 -04002023-08-15T08:40:04-04:00/Support/KnowledgeBase/KB270.aspxKB257David J (support1@inflectra.com)rapise rvl visual language scriptlessUsing Rapise Visual Language (RVL) 5.1 with Multiple Sheets 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: I see that I can create multiple sheets. How does Rapise handle multiple sheets? Does it run each in order or can they be run separately? Is it possible to call a test in RVL from another test in RVL? In other worlds, how can I create subtests and scenarios using RVL? Fri, 02 Jun 2017 15:37:30 -04002023-08-15T07:53:09-04:00/Support/KnowledgeBase/KB257.aspx