Unified Service Desk 3.3 was running in IE browser and pywinauto was helpful to test automation. However after the upgrade of USD to 4.1 version it is running in Chrome browser and the pywinauto scripts were not working.
Is there any good test automation API's for USD 4.1
@timheuer @jonstoneman @cmaneu Help please
Following this
I found an article titled "Automating Hybrid Apps" from Appium docs. The link is given below. Maybe this could be helpful for you.
Could you please guide me thru if there are examples, I couldn't find one that would help me to automate Unified Service Desk 4.1 using appium
I've checked in detail and I'm afraid this is not supported as mentioned in the issue linked below:
Is it possible to switch from a windows desktop application, to an internet explorer webview?
Yes, I went thru many automation API's and articles related to that, but I do not see that there is a right tool for the automation of Unified Service Desk, since that contains Win32 and Browser.
There was a software called Rapise, which claims to be the tool for USD automation but I see that is not really doing as expected
What about tools designed for GUI Web testing like Selenium? Can't they
handle your scenarios?
We tried, but clicking the USD components are not working
We would like to use Python / Java to develop the testing code, so if you have any realtime proof of concept on clicking windows native components(menu items) and also interact with web view (browser rendered) components, let know...
The solution for your problems is described here:
https://docs.microsoft.com/en-us/dynamics365/unified-service-desk/chrome-process?view=dynamics-usd-4.1
You have to turn on accessibility support:
"When you use Chrome Process to host web application in Unified Service Desk, to enable accessibility support for the webpages, the ChromeAccessibilityRenderer is introduced. By default, the accessibility support for chrome process is disabled. Add the UII option and set the value as True to enable and ensure that screen reader applications read the webpage."
After doing that, all web controls will be visible for windows automation tools.
Closing issue as it's not relevant to WinAppDriver.
Thank you @pm90pl ! Your solution works great!
Did somebody have success with switching to USD webview and working with it as romote sesssion?
I enabled chrome remote debuggin in USD, then
connected to chrome webview session but remote page is empty.
Is it possible to configure USD to use Edge instead of Chrome? If yes then maybe WinAppDriver could help.
@naeemakram
What do you mean use WinAppDriver?
I already use WinAppDriver , but for most WebView controls only text are available and need to use complex xpath that very very slow.
I want to use Selenium for web part that will be faster.
Using Selenium with a WebView is a different thing. I believe WinAppDriver an work with Edge for automating WebView.
Secondly, found this on Appium's website and thought maybe it will be helpful for you:
http://appium.io/docs/en/writing-running-appium/web/hybrid/
@naeemakram Thank you for your help.
Using Selenium with a WebView is a different thing. I believe WinAppDriver an work with Edge for automating WebView.
Using chromium is mandatory for our project, also I cannot findability to enable remote mode for Edge inside USD.
Secondly, found this on Appium's website and thought maybe it will be helpful for you:
http://appium.io/docs/en/writing-running-appium/web/hybrid/
It is applicable only for mobile, not supported by WinAppDriver
Most helpful comment
The solution for your problems is described here:
https://docs.microsoft.com/en-us/dynamics365/unified-service-desk/chrome-process?view=dynamics-usd-4.1
You have to turn on accessibility support:
"When you use Chrome Process to host web application in Unified Service Desk, to enable accessibility support for the webpages, the ChromeAccessibilityRenderer is introduced. By default, the accessibility support for chrome process is disabled. Add the UII option and set the value as True to enable and ensure that screen reader applications read the webpage."
After doing that, all web controls will be visible for windows automation tools.