Converting iMacros to UIVision

Trying to convert our current .iim macros to UIVision but can’t find a suitable command for iMacros ONCERTIFICATEDIALOG
We have a website that prompts to select a certificate before we can log in, or the login page even loads.

It’s the first time I see this command, with ui vision you can use Xclick and image recognition to select the element you prefer. With desktop automation you can automate anything web and non-web


This is the correct answer :slight_smile:

UI.Vision as no built-in ONCERTIFICATEDIALOG command, but you can fully automate the certificate dialog by switching to desktop automation for this part of the macro and then use XCLICK and XTYPE. If needed, you can even read the text on the dialog with the integrated local OCR.

Example of such an dialog (for other readers of this post):

Thanks for that
To expand on our project a bit more, we also received the “End of Support” email (if you will) from Progress and are looking to replace it.
Evaluating is kind of difficult as we use it for credential management.
A VBS script pulls current username/password from the application, feeds that to the iMacros macro to log into the web GUI:
VBS dictionary
varDictionary.Add “username”, WScript.Arguments.Named(“username”)
varDictionary.Add “pmpass”, CurrentPassword
We need to feed these into iMacros
Is this something that is possible? I think it is, but can’t figure out the parameter conversion from iMacros to RPA


I have been using ui vision for about 4 years and I can confirm that it can perform all Imacros jobs and many others.

I had to study a lot (thousands of hours of study in the ui vision forum and documentation) but today I can confirm that Ui vision can automate anything, you got it right, anything, sites and even desktops.

Ui vision is more difficult to use than Imacros but once you learn it you can automate everything.

I thank the Ui vision staff for always updating and improving it over time.

1 Like


Converting this to Ui.Vision is easy, the only challenge is that the locators in UIV are different. iMacros uses its own special format ("TYPE=INPUT:TEXT FORM=NAME:NoFormName ") whereas UiV uses Selenium IDE-style standard Xpath and CSS locators.


  • I recommend that you re-record the click on the text box, then UiV creates the locator for you (just like iMacros did).

  • Variables work the same in iMacros and UiV, just the format is slightly different. iMacros uses {{username}} and in UiV it will be ${username}

In the end, the new line in UiV will look something like this:

TYPE | id=user | ${username}

or maybe

TYPE | xpath=//div[5]/input| ${username} (locator here is made up, since I dont know your website)

PS: For more hints, have a look at this imacros migration page.

Thanks Plankton, I was able to find the element, just couldn’t get the variable right.
Only issue is feeding the variable. Log file states:
Executing: | type | id=user | ${username} | 2023-02-02T18:11:42.467Z - [error] variable “USERNAME” is not defined
Username is set in the varDictionary
varDictionary.Add “username”, WScript.Arguments.Named(“username”)
Do I need to put the varDictionary inside the PlayAndWait function?