I am trying to create an open-source vs-code extension that makes it easier to write UiPath code (too much mouse required in studio; prefer everything using keyboard without pressing tab like 56 times to get to the field I want, or navigating through the clunky UI of WPF).
I’m still working through how all the different pieces will work, but a key component would be the ability to use the UiExplorer.exe application in order to collect selectors OR I guess to recreate the functionality outside of UiExplorer.exe.
I think it’s ideal to use the UiExplorer.exe as that would remove any potential issues with compatibility and there would be less effort involved with updates.
The question: Is this sort of functionality available via the current UiExplorer.exe? How does Studio currently communicate with the UiExplorer in order to collect selectors and can it be extended into other applications? Does it work for both web and desktop applications?
It’s necessary to interact with the UI when doing UI automation. UI Explorer isn’t as much about getting selectors as it is about allowing you to see the entier UI object properties and hierarchy, so you can adjust to get the selectors correct.
Sorry, the OP might have been confusing, let me expand.
I understand how and why UiExplorer works; I’m looking to leverage it within a separate application.
I’m assuming that since Studio and UiExplorer are separate executables, there is some command line argument or a call to a local service that helps communicate the result between Studio and UiExplorer. For example, when you click ‘Open in UiExplorer’, it launches the UiExplorer with a predefined element and upon changing and clicking save/okay, it returns to Studio and updates the selector.
I want to do this exact thing, but without Studio. I want to have a button or hotkey in VS Code that opens a specific selector in UiExplorer and then upon clicking okay/save, pushes the updated selector back to VS Code.
Taking this idea into the backlog. As of today, the way Studio <-> UIExplorer integration is done, doesn’t permit this scenario.