Please suggest if there is any way to automate the testing of Javafx application using UFT 12.02 as UFT is unable to identify the objects in JavaFx application.
Thanks in advance.
After a quick Google search, you would find out that UFT has no direct support for JavaFX applications.
This link talks about it:
https://community.hpe.com/t5/Unified-Functional-Testing/QTP-not-recognizing-JavaFX-controls/td-p/5793877
A brief summary on the answers:
QTP does not have any separate add-in specifically for those controls,
QTP has only the standard Java add-in that would work if the mentioned
controls are Java standard controls and if they belongs to the
standard Java Swing classes or Java AWT clases, only standard no any
kind of customized nor third party control. Otherwise, the recognition
will be basic because QTP will not support the controls.
You can find more information about the technologies that support the
Java add-in in the next link at page 4:
HP QuickTest Professional 11.00 Product Availability Matrix
http://support.openview.hp.com/selfsolve/document/KM1210389
Actually we have an Enhancement Request to evaluate the prosiblitiy to
bring support to JavaFX objects:
Support for JavaFX 2.0.2.
https://support.openview.hp.com/selfsolve/document/FID/DOCUMENTUM_QCCR1J26625
For the moment as a workaround we recomend work with these kind of
controls as third-party controls.
How to work with unsupported or third-party controls
http://support.openview.hp.com/selfsolve/document/KM186906
I don't have further knowledge about it as I've never worked with JavaFX before, but I belive here you will find enough content to help you out
Please check out UFT 14.01, it is supported natively now.
UFT now supports testing applications built with JavaFX, natively using the Java Add-in.
Prior to 14.01, JavaFX was supported by Microsoft UI Automation for
purely JavaFX widgets.
You can find the documentation here: https://admhelp.microfocus.com/uft/en/latest/UFT_Help/Content/Landing_Pages/Whats_New_Landing_Page.htm#hp-minitoc-item-2
Related
My solution is using a special way to open a web page: we embedded chrome browser into outlook app.
Now I have to write automation test for it using robotframework.
I tried but selenium cannot detect that browser.
Any ideas are appreciated.
Thanks!
Because Selenium uses the Webdriver to start the browser, automating a browser that is not started using webdriver won't be supported.
Alternatives are to use AutoIT library, that automates your keyboard and mouse actions and focuses on windows. ImageHorizon Library and Sikuli Library use image pattern recognition and support both Windows and Linux.
If your target OS is Windows 10, then Microsoft WinAppDriver maybe of interest. This follows a similar approach as AutoIT, but from Microsoft. Does require the Python Appium application to be installed as well.
All approaches have the pro's and con's and in my view beyond the scope of this question.
Xamarin
Write the model in C#
Write the views for each OS in their own native way
Xamarin promises that the new functionality in libraries is added the same day
Telerik Native script
Write in javascript and call native script's api that then calls the separate OS javascript apis?
Write the view in html5 and css which is re-usable for all OSs as they now all support html5 and css front ends?
Telerik simply states... and I paraphrase 'it does not have this problem'
If the above is so, how is Telerik any better than Xamarin as it states on its website:
"When using NativeScript the new additions to the native platform are
available immediately. This is not the case in neither Xamarin or
Appcelerator, where there are technical limitations and wrappers needs
to be created when new native platform features are added."
I am confused at how Telerik is being penned as being better than Xamarin when Xamarin comes with strong type language without using TypeScript's slightly loose thing going on. And also that Xamarin does in fact sit in exactly the same boat as Xamarin apart form the view part... which is actually supposed to be a benefit?
Question:
- What's the difference between them apart from the two I have denoted?
- Why would Telerik claim such a thing?
[Disclaimer: I work for Telerik.]
Telerik NativeScript and Xamarin are solving similar problems in different ways. Both frameworks are focused on enabling developers to create cross-platform mobile applications with native UI and shared, common code across all platforms.
For NativeScript, we're focused heavily on the web developer skill set. We want anyone that is comfortable today writing HTML/CSS/JavaScript to feel instantly at home creating native apps using NativeScript.
The only thing that is a little different is that views are defined in an XML-based markup. This markup is parsed by NativeScript and rendered as native UI on all target platforms. (NativeScript modules encapsulate the platform-specific renderings.)
The capability you highlight is also something unique to NativeScript's approach for exposing underlying native platform APIs. NativeScript effectively uses (build-time) reflection to make ANY native API available to the JavaScript proxy. That includes 3rd party native libraries. You do not depend on Telerik (or the open source community) to update NativeScript to take advantage of these new APIs. You simply execute a command and auto-discover the new APIs.
Of course, we don't expect a lot of people to write against the raw native APIs using JavaScript, so that's where modules again help encapsulate the different native APIs and expose a single, clean, cross-platform JavaScript API. Anyone can create NativeScript modules.
There's a great post that explains how all of this works in much more detail on the Telerik Developer Network (TDN):
http://developer.telerik.com/featured/nativescript-works/
NativeScript's public beta will be available this week, and v1 will ship in May.
UPDATE [Feb 2016]
Since this was originally posted, NativeScript has shipped and is now in v1.6. It is also now integrating heavily with Angular 2. You can track the project progress on GitHub: https://github.com/NativeScript/NativeScript
UPDATE [June 2016]
There are now performance metrics comparing NativeScript and Xamarin. Please find them here:
https://github.com/NativeScript/sample-iOS-Profiling/tree/performance-tests
Telerik is a UI component and it has some beautiful control for designing in xamarin forms,MVC. Net and etc, but xamarin forms is a technology that helps deveopers to make mobile application using c#
I need to add some multi-touch gestures to google earth plugin, and I want your opinion on witch way I can do that.
I work with a Dell XPS 18, running on Windows 8.1.
I found a way, using the RawInput API (here), but it's a very low level solution, so do you have another idea?
Thanks!
This is not an easy problem. The good/bad news is that you have found the correct API to use. The problem is that you can't simply "add multi-touch" to the plugin. The plugin runs in a web browser. The web browser doesn't have a concept of pinch-zoom or pan-tilt.
What you have to do is embed the plugin in your own custom program, and then intercept the raw inputs in that program. From there you will have to all the translations, and manipulate the GE camera appropriately (or, in some cases, just pass the events directly to the plugin.)
Again, this problem is not easy to solve.
A reasonable starting point (using WinForms / C#) is:
https://code.google.com/p/winforms-geplugin-control-library/
I would suggest trying to rewrite this library using WPF (maybe this already exists?) .NET 4.5 has gesture support built into WPF. (.NET 4.0 might have some stuff as well, not sure.)
I would like to ask the SO community for the following information:
- Is it possible to compile WebKit for Windows8-Metro Environment, either in the form of a WinRT component or just as a linked library in a C++/XAML application?
- Which are the main steps to achieve this goal?
- Which are the possible things that would make this not possible or very difficult?
- Is it an endeavour someone is working on just now?
- Is it possible to gather interested people so they work on this?
I think you will not be able to just "compile" Webkit for WinRT/Metro Style. Metro Style applications are restricted in the kind of API calls they can make, for example there is no GDI/GDI+/MFC for WinRT. WebKit has several building modes that you can use, you can either build it using QT as rendering engine, or using GTK, or plain GDI, but on all those cases, when you create new builds for Windows OSes you will be using GDI at the very end.
Nevertheless, you could modify Webkit source code and add a new rendering engine that uses WinRT new APIs. You could probably become famous if you do.
As a side note, even when there is a "Windows Store" version of Chrome, by looking at the source code of Chromium it seems to me that this version is just a simple app launcher that communicates with the "normal" desktop version using an IPC channel. It does not appear to be a real Windows Store build of the whole source code.
I am not sure if the WinRT environment will allow this, but there is a project called Awesomium that is a wrapper around Google Chrome and Google Chrome is based on WebKit I think. It also has a .NET wrapper, so you can embedd it onto your .NET app.
I never tried using it, neither I know about if this library is applicable with WinRT, but at least it is a start.
Awesomium
Awesomium .NET samples
DownMakerWPF, an application embedding it to display markdown.
WinRT is a combination of managed and native code, so, you have a chance to port WebKit, but remember - native code have some sandbox restrictions.
Also you can choose XNA instead.
My goal is to control an application from VB.NET. There is no API, and I do not have the source, only the compiled EXE file. Is there a way to find the opened application, find a button within the application, click a button and know it was clicked? Is there a way to read the contents of a textbox within the application?
Yes, with Windows Vista (or Windows 7, or Windows Server 2003 and later) there are "UI Automation" APIs.
There are managed options; System.Windows.Automation is one, shipped with .NET 3.0, as part of WPF... Though System.Windows.Automation was shipped as part of WPF, it does not require that the target application uses WPF.
You can read more:
the UI Automation blog.
the MSDN Magazine article - talks about using PowerShell with System.Management.Automation.dll (an alternative to System.Windows.Automation).
Blog post by Samuel Jack - describes using System.Windows.Automation to automate the Paint.NET program (C#).
CodeProject article #1 shows using UI Automation to test an installer
CodeProject article #2 provides a basic introduction to using System.Windows.Automation
Yes, you can, but first it might be easier to use 'AutoIt' as a prototyping script first to find the application. Look for the handle of the window of that application, enumerate through that window's child controls, look for that text box specifically and the button...once AutoIt prototype works, then dive into the real coding and it would be possible to use P/Invoke's to enumerate and find the windows, get the handles of it and perform the automation on it...
Have a look at the sample in C# from Stack Overflow posting Calling SendMessage (P/Invoke) keeps crashing. The OP was trying to access a third party window application, to extract texts and to use that texts within their program...notice how in that given link, 'FindWindow' was used to iterate through the child windows of the main process's window.
Yes, but you will have to resort to using native API calls such as EnumWindows and EnumChildWindows for example. Take a look at How To Enumerate Windows Using the Win32 API. It is for Visual Basic 6.0, but the concept is the same.