How can I automate testing of a non-automation enabled desktop application - c#

How can I automate testing of a non-automation enabled desktop application using Appium, WinAppDriver, Visual Studio, and C#? The application is not showing any XPath or other identifying elements. Are there any techniques or methods that I can use to enable automation support for the application and allow me to perform automation testing?
I am using Appium version 1.17, WinAppDriver version 0.7, Visual Studio 2019 and C# to try to automate testing of a custom built non-automation enabled desktop application. The application is a accounting software with custom functionality.
I have tried to locate identifying elements or XPath of the application by using inspect.exe but it did not find any xpath or identifying elements. I also tried to enable the automation support but it was not successful and the application was not responding.
I am getting the error "element not found" when trying to interact with the application using Appium and WinAppDriver.
Any suggestions to automate this application using the above mentioned tools would be highly appreciated.

I personally use appium inspector that you can find going to this link.
https://github.com/appium/appium-inspector
You will need appium server running to get this working.

Related

Selenium headless browser testing using Triflejs

I am having some UI testcases, which are run using a Azure DevOps release pipeline. These testcases are working in Chrome and Firefox when I enable headless mode.
Now I want to enable a headless mode for Internet Explorer(IE11). When I searched on the web I found that this can be achieved using TrifleJs. How can implement TrifleJs in Visual Studio 2019? Can somebody provide the C# code?
Browser : IE11,
Server : Windows Server 2019 Datacenter
As far as I know, IE does not have support for a headless mode.
From the TrifleJs document, the TrifleJs is a kind of browser that can emulate some IE versions in a headless mode and execute JavaScript script, since its coded as a port of PhantomJS.
At present, it is an executable file, instead of a kind of SDK or API, so, we could not directly add it in C# application. I suggest you could check the document to use this tool, and you could also feedback this issue to trifleJS forum

Microsoft Outlook 2013 Interaction from Electron JS Desktop App

Have a requirement, where I need to connect to installed Microsoft Outlook Application and perform the following tasks:
Create/Read/Update/Delete Outlook Calendar Events
Create/Read/Update/Delete Outlook Contacts
Need to sync these entities with the Electron JS Desktop app.
What I have tried so far:
Tried electron-edge-js/edge-js, but this couldn't detect
Microsoft Office Interop assemblies.
Tried installing Visual Studio Code and starting Electron.Net application. This has too many issues to work with. No .Net C#
expertise, Client App does not reload on change, difficult to develop
the project. Don't want to merge Angular Electron project just to
sync those entities. maintenance would be difficult.
Need guidelines on how could this be achieved from the Electron JS Desktop app itself and without the .Net/C# environment. Looking for a solution that will work with windows installed Outlook application, and also with OSX installed Outlook application.
NOTE: Do not confuse this with Office 365 APIs. This is an old Outlook native application that adds emails from the system and works with Outlook Data files(.pst, .olm, .ost).
The solution with https://github.com/agracio/electron-edge-js works fine for me.
In order to make Microsoft.Office.Interop.Outlook available you need to specify path to microsoft.office.interop.outlook.dll in the references array.

I would like to connect my Iphone to a MAC mini and remotely run tests on it from my Windows machine using Xamarin UI test

I am getting the error saying "iOS tests are not supported on Windows" while trying to execute UI test script written against the Xamarin.UI.Test framework.
Is there any way to remotely run UI test on IOS app from Visual studio 2017 (windows machine)?
Appium has a remote server feature which enable us to connect to mac and run test script. Does Xamarin UI test has any feature like this?
Running iOS Xamarin.UITests from Windows using the Mac Agent is not supported.
Cause:
The UITest driver is using Apple's XCUITest to drive the UI automation
and that is not compatible with the way that Xamarin's iOS remoting
works (basically a UI "hack").
Solution:
You can instead run them directly on the Mac using Xamarin Studio.
Refer:How to run test using VS on iOS simulator(on mac)

Getting "ieframe.dll failed to register" while installing an application built using watin?

Recently I have developed an automation application using WatiN API, in .NET Framework 3.5, for automation of an AD posting process. But at the time of installation i get an error that states this,
"Module C:\Program Files\XYZ Solution\XYZ App\ieframe.dll Failed to register.
HRESULT -2147467263. Contact your support personnel."
I am using IE browser to automate the whole process. The project has been developed in Win XP, VS 2008, .NET Framework 3.5, using Watin API ver-2.1.0.1196, in C#.
The thing is that it works fine although it shows the error, but my client does not wants to get the error.
Can anybody please help me with this issue.
Thank You
It looks like the following MSDN post touches on your issue specifically.
http://social.msdn.microsoft.com/forums/en-US/vbgeneral/thread/c0b61b07-6255-4ede-b6b0-c7c6609b6a41/
Please let me know if that helps.
Thanks.

how to make webbrowser in .net use the latest internet explorer

Hi I am using Windows Presentation Foundation with .NET in MS Visual Studio 2010 Professional and I am embedding a web page into my application using a WebBrowser object, however it seems that the WebBrowser is using some old version of the Internet Explorer and I really need it to be using the latest Internet Explorer installed on the user's computer.
How to make .NET use the latest Explorer?
You can set the rendering mode by setting a registry key value for your app.
This may be of some help...
WebBrowser Control rendering modes

Categories