Challenge Page Tutorial: Front Office
Bot Wars challenge pages are a great opportunity to learn RPA development. Were you able to complete the Front Office Challenge? If so, great! If not, that's okay too! We're going to show you one of the approaches to solve this challenge page and discuss some other approaches that can help further improve your times. Take a look at the video above for the full challenge walk-through. We'll outline a couple of pointers below as well as some additional times for maximizing your speed if you want to see how fast you can complete the challenge. Front Office Challenge Page
Steps Package
If looking at an entire end-to-end process feels overwhelming, consider thinking through the major steps required to complete the task, then work on each step one at a time. In the video above, we break the entire bot down into 4 steps. Using steps can help developers to create logical groupings/separations in their code, as well as provide a basic "skeleton" of logic so they know exactly what actions need to be added to each section. Steps also improve the readability of your code in the case that you're working alongside other developers, or are showing the bot to business users who may not need to see every detail of the bot's operations.
Reading the CSV
This exercise required your bot to read a file of comma-separated values (CSV). While technically there are a couple of different ways to approach reading such a file, the approach taken in the video was to read the file to a Data Table variable type, then iterate through that variable to enter the missing customers into the form. Alternative approaches could have included opening the CSV and looping using the "For each row in CSV/TXT" iterator, or even opening the file using the Excel Advanced package and looping through using the "For each row in worksheet" iterator. Any of the three would accomplish a similar end result, however, we specifically chose to demonstrate looping through the Data Table because it gives the opportunity to demonstrate how Data Table variables can be used, and also doesn't require an Excel installation like the use of the Excel Advanced package.
Entering Form Data
The Recorder package is the go-to weapon of choice when automating the user interface (UI) of an application. It works great for browser-based applications as well as traditional thick-client apps. In the video tutorial above, we used the "Recorder" functionality of Automation Anywhere (not to be confused with the Recorder Package itself) to quickly record manually filling each field. The Recorder functionality then created ~9 Recorder actions that were added to the bottom of our bot. This is a quick way to quickly create multiple recorder actions all at once, where you have the ability to go back and fix them each with the dynamic data you want to be entered in each field.
Optimization
The tutorial above shows the most straightforward way to complete this challenge - especially for those without extensive programming/scripting backgrounds. Should you want to optimize your solution to make it perform more quickly, there are several modifications you could try:
- Re-arrange the order of certain steps to see how that impacts the total processing time of your bot.
- At the end of the video, we talked about using the Browser package to download the file instead of clicking the link. This approach would enable you to download the file before actually launching the browser, and possibly saving you some time
- Consider using different packages/configurations to speed things up.
- In the tutorial, we used the Recorder package, with one action per field on the form. Alternatively, you could consider using the Simulate Keystrokes package to tab between fields when entering data instead of relying on Recorder.
- For those comfortable with JavaScript, consider using the Browser: Run JavaScript action to automate the entry of data into the form. This approach can go considerably faster than the recorder, but also runs the risk of going too fast - and possibly trying to enter data before the page has even loaded.
- Use a Bot Store package
- There are several helpful packages in Bot Store that enable developers to automate processes more quickly. One, in particular, that may be of valuable use to this exercise is the Web Automation Package. This package uses Selenium to automate web interfaces and enables developers to quickly read/modify objects on a webpage.
Conclusion
Hopefully, you had fun with this challenge. It's always interesting to think about how long filling out a similar form would take if it was done completely manually - either by typing or by using copying/pasting. What would that mean for the total processing time? What would that mean for the accuracy? Bots are extremely valuable to tasks like this where the work is repetitive, the data is accessible, and the task requires moving data from one application to another. If you enjoyed this session, be sure to come back to Bot Wars Week 2, where our challenge will be in the Supply Chain Management space.