Fuzzy string matching is a technique to search strings which are not a 100% match and match the specific pattern approximately, rather than exactly.
Let’s begin
Let’s say I want to create a selector which needs to be resilient to user typos or similar user input with a key work I expect to be entered a search field.
First, I have opened up a bing.com in my borwser and searched for ‘uipath certification‘ text:
Lucky for me, the new fuzziness options are available and I can add them into the selector to make the selector smarter and more resistant to these changes:
By decreasing the fuzziness level (closer to 0), I can tune my selector to match lower similarities, while values closer to 1 will match higher similarities. In the example below, my fuzzy selector matches similar text (e.g ‘uipath certification exam’ vs the one included in the selector’s title attribute (e.g. ‘uipath certification’):
Awesome … Thanks for sharing this new feature with us.
I have one issue. We automated one web application and used Test environment. And now we moved to production and using Production environment. Now we observed that many of the selectors got changed in production and some selectors remains same but some of the attribute values are in Capital letters in production application elements and where as small letters in Test environment elements. Because of this, BOT not able to identify elements and selectors becomes invalid. Is there any solution for this without changing selectors ?
we automated one of the client application using their application Test environment and it’s working fine and now client got satisfied with outcome of that project and planning to move the code to production. The application has two different environments like Test and production.
Both Test and production application looks same but selectors are changing from Test to production environment.
we are decided to change some selectors and got work to move it to production. But as we observed some of the selectors got failed because of case sensitive.
For Example,
In Test environment, selector of the element is like below:
Title='internet explorer'
Where as in Production environment, selector of the element is like below:
It looks like the perfect scenario for this new feature Unfortunately, I’m not sure how to solve it on an earlier version - it would indeed require you to redo the selectors.
@lakshman - case sensitiveness in the selectors is a feature that we are into. By then, you can use variables in the selectors and switch values at the beginning of your workflow, based on the execution environment
Hi! I have just watched one of the technical webinars and this feature was explained, but I was not able to understand exactly how does that work?
I mean, it is clear to me that now I’ll be able to match selectors with typos and some differences depending on the specified “fuzzy level”. What I still don’t get is: what is the criteria used to determine the fuzzy level? How do I know (besides testing it) if this typo requires a parameter of 0.8 or 0.6? And can I combine Wildcards and Fuzzy features within the same selector?
Fuzzy matching is based on the Levenshtein distance (Levenshtein distance - Wikipedia). Unless you are very familiar with this concept, the only option available now for finding the fuzzy level, is testing. For the future, we plan to implement a visual way of computing the fuzzy level, when writing the selector.
The ‘*’ char and fuzzy search cannot be combined.
Hello, I am new to UiPath, just completed foundation course and trying to understand more about selectors. I read the enhanced selectors topic but somehow it is not comprehensive to me. I think I got the concept but, not sure about real case scenario. In the example here, are you using “matching:title” for the text you input ? I got little confused because isn’t the search box going to search whatever you pass there?
Thanks in advance, for your help.