5 More Popular Questions about Codeless Automation
If you are a new user who is just getting to know automation, you probably will have many questions about it. In a previous post, we answered the Top 5 beginners’ questions about codeless automation. Here, we’ll explore another five popular questions from users.
I use login and password data in my script. How can I make sure it is secure?
There is a special component to store secure information in WorkFusion: Secrets Vault. This is where you can store login and password information and other data that needs to be kept private. This data is only available to the bot at the time of script execution and is not recorded or shown anywhere, be that in scripts, logs, execution results or other files.
This component is available both when you run bots locally on your laptop/PC (through WorkFusion Studio) and on a server (through Control Tower).
I need to automate several applications in my process. How can I choose the best approach for each of them?
There are several major factors that you need to consider when selecting the approach for codeless automation of the application:
- Is it a desktop or web-based application?
If it is a web application, go with the native Web actions first, as they are the fastest and most reliable for web automation. However, you’ll need to consider the technologies that were used for the website. For some websites (for example, Flash-based sites), you will need to resort to surface-based automation, like interaction with images and the keyboard.
If it is a desktop application, the universal approach for automating it will be mimicking the user actions in the application, or object-based approach. The bot will repeat user actions and interact with the application’s interface with the help of UI selectors that rarely change with software updates, which makes this approach to desktop automation very reliable. In cases where it is impossible to access these selectors (for example, when automating mainframe applications), you can use a surface-based approach.
A special case for desktop automation is Excel. When automating it, start with native Excel actions, and then try object-based and surface-based automation.
- Is this application accessible on the local machine (laptop, PC, server) or is it installed in a remote environment?
If it is a remote application installed in Citrix or a Virtual Machine, or a physical machine that the bot accesses through a Remote Desktop Connection, you need to use a surface-based approach to automating it. Try using key combinations, or use image-based actions when key combinations cannot be used.
Hint: You can use native actions from the Actions Library and the object-based approach if you install WorkFusion in the same remote environment where the automated application is installed.
How can I test and debug my scripts?
There are a couple of tricks to make your scripts easier to test and debug.
First, divide the task you’re automating into small logical parts and use the Sequences (Group) action to visualize it in the script. That will help to navigate the script faster when you test or edit it.
Second, when testing your scripts, you can disable the parts you don’t currently need to play by unchecking them in the UI. They then will be skipped when you run the script. Alternatively, you can select a specific action in the workflow and start executing the script from it, and all previous actions will be skipped.
Sometimes, the bot is too fast, and my scripts break. How can I prevent it?
If you work with old legacy systems that are slow, or if the internet connection in your network is slow sometimes, scripts may break because the bot is too fast and the applications it’s working with just doesn’t have enough time to load.
In this case, it is a good practice to use the special timeouts or explicit waits. A wait action will pause the bot for a specific period of time and then automatically resume it, giving the application or page more time to load fully. However, if you don’t always know in advance how long it will take for it to load, or if the time can vary by a lot, you can set Timeouts for some actions. During a timeout period, the bot will keep trying to execute the action until it is successful. After that, it will proceed to the next one. This is especially useful if you don’t want the bot to wait an unnecessary amount of time when the application loads faster than usual.
If I need to change some data in my recording, is there a better way to do it than looking through each action and changing it there?
To make it easier to maintain your script and update it when certain details change, you can store action parameters in recorder variables. If possible, try to avoid hardcoding such data as website URLs, locations of files and folders, and file names in the actions themselves. Instead, store them in String variables and use the variables in the actions. Thus, when you change the data in the string, it will be changed in all actions in which this string is used.