How to migrate your workflows for IE to Chrome/Edge/Firefox – planning and selector migration aspects

Following the Microsoft announcement of the IE11 end of support starting in 2021, you might want to migrate your automation processed from IE to Chrome, Edge or Firefox.

Below are a few important aspects to help you plan and implement the migration.

Planning aspects

  1. The UiPath automation for Chrome, Edge or Firefox uses browser extensions. These are offered as part of Studio and SetupExceptions tool, so please consider their installation on the test/production environments. The documentation provides instructions on how to install them based on your scenarios. Here are few helpful links:

    https://docs.uipath.com/studio/docs/about-extensions
    https://docs.uipath.com/studio/docs/about-the-setupextensions-tool

  2. If you plan to use Edge (Chromium) UIA support, you should know that this is available starting with:

  3. If you currently run on 18.4.x and plan to stay on 18.4.x, the Edge Chromium support is unavailable to 18.4 Robots. However, Chrome support is there.

  4. If you plan to run under Edge Chromium → IE Mode, the support was added in UIAutomation 20.10.+.Activities

Workflow migration aspects

  1. For all the OpenBrowser/AttachBrowser activities, you need to change the BrowserType property from IE to Chrome/Edge/Firefox.

  2. Selector migration

    • You can regenerate all the selectors using the target browser + the extension.

    • Alternatively, you can update all the top level selectors with the proper “app” tag. Note, most of the IE selectors, do not contain an “app” tag.

    Example:

    IE selector:

     <html title='SomeTitle' />
     <webctrl aaname='SOMENAME' parentid='main' tag='A' />
    

    Or

    <html app='iexplore.exe' title='SomeTitle' />
    <webctrl aaname='SOMENAME' parentid='main' tag='A' />
    

    Chrome selector:

     <html **app='chrome.exe'** title=SomeTitle' />
     <webctrl aaname='NAME' parentid='main' tag='A' />
    

    Use:

    • app=‘msedge.exe’ for the Edge selectors
    • app=‘chrome.exe’ for the Chrome selectors
    • app=‘firefox.exe’ for the Firefox selectors

    Mind the variables and reusable libraries.

  3. If the source process has selectors starting with “<wnd …,” tag, you need to regenerate those via Studio->activity->indicate function. These selectors identify windows like pop-ups or alerts, which are rendered differently by IE vs Chrome/Edge/Firefox.

    Example:

    Selector identifying an IE alert window:

    <wnd app='iexplore.exe' cls='#32770' title='Message from webpage' />
    

    Selector identifying and Edge window:

     <wnd app='msedge.exe' cls='Chrome_WidgetWin_1' title='SomeTitle- *' />
     <ctrl name='SomeName' role='dialog' />
    

    Last but not least: test, test, test – thoroughly test everything.

Hope this helps.

Gheorghe Stan

17 Likes

This Documentation is Absolutely awesome … Thank You for sharing.

:point_right: I followed the steps One by one and I was successfully able to migrate an Automation from IE To Edge -

➤➤➤
The same is recorded in the Video shared. So, What I Did ?

  1. We had an automation using the IE Browser
  2. We Ran the Automation and Saved the Output.
  3. Some Browser related #activities Process was Using - Open Browser , Attach Browser , Clicks , Type Into , Data Scrapping , Killing of Browser .
  4. We Followed the step provided in #UipathForum.
  5. Updated the Code.
  6. Re Ran the Process
  7. Validate the Outputs from Both Browser.

Thanks,
Mukesh

6 Likes

hi @mukeshkala

Thanks for sharing this piece!

1 Like

Thanks for this. Just want to comment - not all of the selectors will be converted by changing the app. If selectors are refined at lower levels the conversion is not as clean. My organization is already on a roadmap to convert all automations from IE to Chrome. Also, quick note, Edge is a little less consistent. We found Chrome to be more reliable.

1 Like

To anyone having selectors issues when using EDGE with IE Mode, you have to manually tweak the selectors. UiPath detects the browser as IE so it doesn’t add “<html app=‘msedge.exe’” to the selector’s path so they are immediately invalid. Add it manually then they work.

1 Like

@adrian.vilaseco can you give an example of such selector (original and modified) ? It will help us improve the tool. thank you, gheorghe

Hi gheorghestan,

This is a selector retrieved when using “Indicate Element” from any activity.

<html title='Inf* [*]' />
<wnd cls='SunAwtFrame' />
<java role='page tab list' idx='5' />
<java name='Invoicing' role='page tab' />
<java name='Invoicing' role='swing component' />
<java role='page tab list' />
<java name='Billable Lines' role='page tab' />
<java role='page tab list' />
<java name='Billable Lines' role='page tab' />
<java cls='UnderlinedTextField' role='text' idx='155' />

And this is how it must be to be valid:

<html app='msedge.exe' title='Inf* [*]' />
<wnd cls='SunAwtFrame' />
<java role='page tab list' idx='5' />
<java name='Invoicing' role='page tab' />
<java name='Invoicing' role='swing component' />
<java role='page tab list' />
<java name='Billable Lines' role='page tab' />
<java role='page tab list' />
<java name='Billable Lines' role='page tab' />
<java cls='UnderlinedTextField' role='text' idx='155' />

Please notice I just added “app=‘msedge.exe’” because the actual browser used is EDGE.

The selector wizards detects wrongly IE because EDGE is running under IE Compatibility Mode 11.

This issue makes the selector immediately invalid.

Hope this helps. Anything else you need I’m happy to help.

Kind regards,
Adrian Vilaseco

Thank You very much, this was very helpful. Just 2 questions, Once the dependencies are updated, can it be back rev to older version if needed. And is UIAutomation.Activities the only depedencies to be updated, and not Excel, Mail, and System activities.

Thank You Gheorghe Stan for sharing. This is indeed very helpful.

The dependencies can be reverted anytime , However reverting dependencies would not revert the selectors that you would have updated .

You can always take a back up of existing solution and then proceed the Activity.

Other activities pack would not have any impact.

2 Likes

This was really useful information, thanks for sharing!

1 Like