Skip to main content

 

In the first two weeks of Bot Wars, we mainly focused on working with Web applications and now it's time to step up and automate a combination of multiple application types. In this challenge, we need to work with a web application, legacy thick client application and an API.

Were you able to get a working solution? 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 tips for maximizing your speed if you want to see how fast you can complete the challenge.

Human Resources Challenge Page

Steps Package

While building a bot, it's very important to keep the code organized, so that it's easier to understand what it is doing and to debug if the bot fails. Use this package generously to keep it easier for maintenance. The Steps package helps you to logically separate different blocks of code and will act as a placeholder for building individual components while working on larger bots. It's also a great way to “force” some level of commenting (something we all admit we aren't great at from time to time).

Browser Package

To launch web applications, you can use the Browser package. The Browser package is also great for downloading files that are made available as links on web applications. You can use ‘Download file’ action to download files without even having to even open the browser UI!

Recorder Package

With this package, you can interact with both browsers and windows applications. This package can work with multiple browsers in the same bot and can differentiate between multiple web applications based on the window titles.

For the windows thick client app from this challenge, consider using the option ‘Get all children values’ in the dropdown for the parameter ‘Action to take on object’. Note that you would need to select the entire application (instead of an individual field) so that this value shows up in the dropdown.

 

JSON Object Manager Package

This package enables developers to retrieve data from the JSON response of a REST web service call, read JSON config files, get the length of an array object within a JSON, or update JSON values based on the corresponding key.

Check out this video/article on how to use JSON object manager package in detail.

Here are the alternate solutions you can explore to improve the bot speed.

Web Automation Package

This package enables developers to automate web interfaces by leveraging Selenium. It supports Chrome and Edge browser and uses the Open Source ChromeDriver and EdgeDriver under the hood. This package could be used as an alternative to the Recorder package. Using the Web Automation Package, you can use JavaScript to interact with various objects in the web interface. Web Automation – JavaScript action can be used to write multiple lines of code along with passing variables in a single script block.

Check out this video/article on how to use Web Automation Package in detail.

String – Extract Text

The Extract text action enables you to extract text from a source string. You can extract text before, after, or between two strings. Kindly note, that the order of the key-value pairs in the JSON response does vary and you have to choose before and after strings appropriately to get the desired results. This works for extracting data from JSON files, but would not be an ideal solution if packages like the JSON Object Manager or JSON Parser package are available.

Simulate Keystrokes Package

The Simulate Keystrokes package can be used to navigate across different objects in the web and windows applications and can be a good option to enter data into multiple fields without having to use separate Recorder – Capture action for each field. Just be careful using it in some real production use cases – as it may go more quickly than underlying applications are able to keep up with.

Conclusion

Part of the fun of building bots is learning about all the different ways the same problem can be solved. And while this challenge was a bit more complex than other challenges we’ve created – but we hope you still had a good time completing it. Explore how you may use different packages/actions to complete the challenge – noting what impact those changes have on the processing time, accuracy, and overall stability of your bot. Because all these challenge pages are hosted in the Automation Anywhere developer portal – use these as a “playground” to try out new packages, approaches, and techniques that you can perfect, and take back to the bots you may build for your work or personal life. Finally – Bot Games week 4 is just around the corner – be sure to check back to the Bot Games page of the developer portal to see the challenge page released for 8/23!

Be the first to reply!

Reply