ACCELQ's Logic Recorder is an intuitive, revolutionary capability that simplifies the process of automation logic development in Actions and Scenarios. Logic Recorder is at the core of the logic development in Actions and Scenario Workbench, allowing users to easily capture, record, and playback automation simply and efficiently.
This feature combines the convenience of traditional Record & Playback with the added benefit of improved maintainability, addressing one of the core challenges associated with traditional Record & Playback. Creating sustainable automation is easy and intuitive, without the need for programming, or advanced design skills.
This capability is currently supported for Web automation and non-UI (backend, middleware, etc.) automation. Support for Mobile and other application platform types is expected in future Releases.
The Logic Recorder comprises a native browser embedded in the Scenario Workbench page and Action page which can be used to record statements for automation.
Logic Recorder requires an ACCELQ Local Agent to be running on your desktop. If you don't already have this installed, refer to this article for installation instructions.
When the Recorder is turned on, the browser enters the hover state, allowing the user to hover over elements on the screen and access options by right-clicking. The context menu presents a list of commands and Actions relevant to the hovered element or page. In the "Actions" tab, all available Actions in the Project are listed, with the most relevant ones for the field or screen highlighted at the top, indicated by a purple dot.
When a command or Action is selected from the context menu, the corresponding statement is automatically added to the logic editor on the left.
Note: The recorded statement is inserted at the end of the currently existing statements in the logic editor by default. However, if you wish to insert the statement at a specific location in the middle of the existing statements, you can select an existing statement in the editor before recording from the Recorder. This will insert the recorded statement immediately after the selected statement.
When the Recorder is turned off, the browser operates in its native state, allowing the user to directly interact and navigate the page. This feature can be useful for situations where manual navigation is necessary to reach a desired initial state, such as setting up the application page in a specific state before starting to record.
It is important to remember to turn the Recorder back on when ready to start recording statements again.
Typing URL in the Recorder
When you enter a URL in the Recorder, the system automatically determines whether or not to record the corresponding statement to invoke the browser. A browser-invoke statement is recorded only when the URL is loaded as part of creating a new Scenario in the Workbench. In all other cases, a notification is displayed, clarifying that the statement was not recorded. If relevant, you can still add this as a statement by clicking on the "Add Statement" link in the notification.
For example, if the URL was entered to start the application page after returning to the Workbench from a previous session, you may not want to record another browser invocation statement. However, if you are entering the URL as part of a multi-application flow in the Scenario, you may want to record the browser invocation as a new statement.
It's important to note that browser-invoke statements will not be recorded when the Recorder is in the OFF state.
Configuring device type
The Logic Recorder feature in ACCELQ allows you to emulate different devices while recording and playing back your automation scripts. By default, the Recorder browser is rendered at a resolution of 1366x768, but you have the option to define your own custom device by providing information on the width, height, device pixel ratio, and user agent string. This allows you to render your web application at different resolutions, emulating different devices. This feature not only allows you to record from a custom-defined device type but also playback on it to verify functionality across different devices.
When creating a new custom device, you can use the standard devices defined in the chrome browser as a starting point, and also copy one of your existing custom-defined devices to create others.
Please note that this feature requires a subscription to the Enterprise edition of ACCELQ. To use this feature, click on the "Devices" icon in the Recorder browser. Here you can define your custom device and make use of it while recording and playing back your automation scripts.
It's worth noting that the custom devices you create and manage in the Recorder Device Emulation will be available as Device options when running or scheduling automation from the Run modal.
Switching between browser tabs and windows
As you record statements or navigate through your application in the Logic Recorder, additional browser tabs or windows may be created, depending on the functionality of the application. To continue recording logic across these tabs, you can switch between them by clicking on the "Browser Instances" icon. When you select one of the tabs to load on the Recorder browser, a corresponding statement will be automatically recorded in the logic editor.
It's important to note that tab switch statements will not be recorded when the Recorder is in the OFF state.
It's important to note that the Recorder browser is managed at a global level within the Project, meaning that the same browser state will be reflected regardless of which Scenario Workbench or Action you are currently working on.
The Playback feature in the Logic Recorder is an essential tool for testing and validating your automation scripts in real time. With this feature, you can select any set of statements in your logic and run them to receive instant feedback on the results.
To use the Playback feature, simply select the statements you want to execute, and click on the Playback button. You can also choose to execute statements up to a specific line or starting from a specific line until the end of the statements. This feature can be accessed from the "Playback" menu in the toolbar or by right-clicking on the selected statements and selecting the appropriate context menu item.
It is important to make sure that the browser in the Recorder is in the correct state for the selected statements to execute. For example, if the selected statements are about signing in to QBank, then the Recorder must be on the Login page where such statements are relevant.
The Playback feature is supported for all web app automation logic and non-UI statements such as Database, API, etc, making it a versatile tool for testing and validating your automation scripts.
As the statements are played back, the console log in the bottom panel provides access to detailed execution information.
It's important to note that while playback of non-browser statements is not affected by the state of the Recorder, playback of statements that involve browser interactions will only be executed when the Recorder is open and visible on the screen.
Auto Playback is a convenient feature that automatically executes statements in real-time as you create them, whether you are recording them from the Recorder browser or typing them directly into the logic editor. By default, this feature is turned on.
It's important to note that Auto Playback is not supported when you are recording statements from a View. Also, for statements typed directly into the logic editor, Auto Playback is supported only for web and non-UI automation.
You can turn this flag on/off from the Playback menu in the toolbar.
As you record Automation logic, Playback requests for the statements are centrally queued. Manual playback of selected statements also enters this queue. When a statement is picked for execution, an icon in the statement editor margin area changes from pending to in-progress to success/fail. Hovering over the "pending" icon shows the reason for the pending status.
You can stop playback by clicking the notification displayed in the lower right corner of the screen. This notification is always present when there is active Playback in progress. Note that stopping Playback removes all pending statements from the queue immediately, but the currently running statement may take some time to complete depending on its activity.
manual playback also reconciles and calibrates internal structures
Playback configuration controls parameters such as the wait time for Browser Elements to load, which application environment to use for Global Properties etc. These settings can be accessed and modified from the "Playback" menu in the toolbar.
- Application Environment is used to find the values of Global Properties used in the statements.
- Web Driver Profile controls the behavior of the Recorder browser during startup.
- Auto Playback Element Timeout refers to the amount of time a statement will wait before timing out if the desired element is not found. Since Auto Playback occurs in real-time as statements are typed, this value can be kept relatively short, as the application would have already been set in the right state.
- Element/Page synch timeout is used when you are selecting a set of statements and manually performing playback. This value is generally higher than auto playback timeout as application navigation may be part of the playback execution.
- Execution Parameters, if being used in the Action logic will use the values provided here.
Playback vs. Independent Job Executions
Playback is a valuable execution tool primarily meant for validating test logic as you build, troubleshoot issues, perform dry-run of Scenarios, etc on your local desktop. It is a quick and efficient way to obtain results for these use cases. The console log of the Playback job is cleared each time you log in or switch projects.
Any test executions that are required for formal testing of the application should be run as independent jobs. When it comes to executing Actions standalone, running as an independent job allows you to configure the run extensively, including the selection of a remote Agent, etc.
Element ID Warnings
As you record statements in the Logic Recorder, the system automatically captures and stores element descriptors in the Repository. These element descriptors are used to uniquely identify the element during subsequent test runs.
At times, automatically composing the optimal selector for an element can be challenging. In such cases, the system will notify an alert. It is recommended to open the Element and review the selector to ensure that the element is being identified correctly during the test run.
Other Playback Warnings
When running browser automation statements in Playback, you may notice that some elements are highlighted in red when interacting with them. This could indicate an alert that requires your attention. For example, if you are trying to click on a button based on its label and the system finds multiple occurrences of that label, review the console log for further details and take corrective action.
Note about Views
As you record statements in Logic Recorder, ACCELQ records Views necessary for the elements being interacted. These Views help with offline access to the application, in case of a future requirement for incrementally updating the logic in Actions. Learn more about Views.