Sign in to follow this  
Followers 0
Akashrai

autoit info tool is not detecting GUI components

20 posts in this topic

I want to automate a client application but auto it info tool is not detecting the GUI components. I don't know what to do. please help me out. Screenshot  of first login page of application is in attachment 

 

visa.png

Share this post


Link to post
Share on other sites



Please help It is very important. Alternate of auto it is also welcome.  

Share this post


Link to post
Share on other sites

There are lots of alternative GUI inspection tools, many of them free. I use Ranorex myself, but that one is now proprietary.

1 person likes this

Share this post


Link to post
Share on other sites

Yes but what about auto it why it is not detecting the GUI components and what and way to achieve the solution i am attaching page after login it also has same problem.  

visa1.png

Share this post


Link to post
Share on other sites

The "AutoIt Window Info" tool generally only detects standard Windows controls implemented with the functions in ComCtl32.dll. These controls have existed since Windows XP. You can find a list of the controls in the Control Library.

Many modern controls including modern MicroSoft controls are not detected by the "AutoIt Window Info" tool. These controls can be detected with Inspect.exe in Windows SDK or the "Simple Spy Tool" in the UI Automation framework.

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

I have fetched info by Autoit info tool and attached please help. You can see it is not detecting any thing.

Please help

Login.png

Edited by Akashrai

Share this post


Link to post
Share on other sites

Where I will get simplespy.au3 file . I am new so please help. I have searched on google as well as in auto it setup but did not got .

Share this post


Link to post
Share on other sites

Yes, Gone through your given link and also searched on google but :sweating:. Could you provide link to download the same.

Share this post


Link to post
Share on other sites

#14 ·  Posted (edited)

I have tried it . It is also not detecting .

The VISA application which i am automating is a java (Applet ) application. I have searched for that and got "FEST" but do not know how to get id/class name of GUI component of the VISA application. Is there any spy tool in fest.

Other that FEST any other open source tool to automate applet desktop application?

Please help.

Edited by Akashrai

Share this post


Link to post
Share on other sites

#16 ·  Posted (edited)

Thanks for support.

Here it says ctrl+w. After pressing Ctrl+w  it gives me following code -

Mouse position is retrieved 133-54
  JAVA window found <> Java Window Title= Handle=0x00000000002A0740     res: 1
Result getAccessibleContextFromHWND is <> ubound: 4
  We have a VMid 789588 ac 369080852
Call version info: PASSED VMID found : 789588
  VMVersion: <1.8.0_65>
  bridgeJavaClassVersion: <1.8.0_65>
  bridgeJavaDLLVersion: <1.8.0_65>
  bridgeWinDLLVersion: <AccessBridge 2.0.4>
 *** getAccessibleContextAT result is <369081228>
 *** getAccessibleContextAT result is <369081228>
Paste

push button
push button
enabled,focusable,visible,showing
enabled,focusable,visible,showing
2
0
98
35
46
0
End of getAcceccibleContextAt info

 

How to use above info in my autoit script. By which Detail of button i cab use.

The application on which i am testing is bellow

 

 

applet.PNG

Edited by Akashrai

Share this post


Link to post
Share on other sites

For that you have to read a lot on java accessibility bridge and study source of jaws and other open source implementations of java accessibility bridge. It all starts with building a ui tree and traversing that to get the right item. And if its internally developed explain developers that they have to fill the accessibility properties.

1 person likes this

Share this post


Link to post
Share on other sites

Thanks for reply.

But the application i want to automate is on client side and and we do not know any thing except GUI. In the case it seems impossible by auto it.

I have searched for any other tool/spy(FREE) but did not get much. I went through Fest but do not know how to start. Any way thanks again.        

Share this post


Link to post
Share on other sites

search harder ;-)

 

https://github.com/ckundo/nvda/tree/master/source

http://www.oracle.com/technetwork/java/javase/downloads/downloads-jsp-138220.html    ferret and monkey

it is possible from AutoIT and the JAB Simplespy shows you the basics

1. Get an element : BOOL GetAccessibleContextAt(long vmID, AccessibleContext acParent, jint x, jint y, AccessibleContext *ac)

2. Get an info reference BOOL GetAccessibleContextInfo(long vmID, AccessibleContext ac, AccessibleContextInfo *info);

3. Get the text by using the reference you get in step 2 BOOL GetAccessibleTextInfo(long vmID, AccessibleText at, AccessibleTextInfo *textInfo, jint x, jint y);

 

 

Share this post


Link to post
Share on other sites

I searched a little further and played with JABSimpleSpy

Its all working with demo's as can be found in JDK ..\jdk-8u25-windows-i586-demos\jdk1.8.0_25\demo\jfc\SwingSet2

And as you have shown you get with JABSimpleSpy the text of your button the concept fully works

Combined with this where we iterate the tree from top to bottom

 

 

another AWT monitor found using same Java Access Bridge

https://docs.oracle.com/cd/E17802_01/j2se/javase/technologies/accessibility/docs/jaccess-1.3/doc/AWTMonitor.html

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • X_xkijux_x
      By X_xkijux_x
      Ok so im using this program. clarify for school. I would like to have a program that takes every word i type in microsoft word and searches on it in claryfi. is this possible. I would like to have the program not stopping me from typing more after that word. Like when i type a word it auto search it on clarify without making me stop typing and if i want to change i can do that and if im fine that word i can just keep typing and it will search after the next word. 
    • Miliardsto
      By Miliardsto
      Is this possible to make program works like in diagram? There is so much encryption methods and UDFs are they give security? If the $Address will be crypted with some encryption algorithm could be possible to get the value of $Address in easy way? Of course We know its easy too look into autoit code and get value of variable and so We dont want to anyone see $Address value - there are functions Could func1.au3, func2.au3.. be for example func1.php or other type of file? As we know .php files are unnable to see. For example func1 would be read by FileRead() and then Execute() Is this generally possible to do?
      Will it give secure?
      What do you think about? Maybe there is something wrong in this concept or missed.

    • JaredStroeb
      By JaredStroeb
      I need to open an application and send it keys in Session 0.  I have exe's working locally, I can see the application open in session 0 through interactive services, but my send commands do not go to the application.  The following article running-autoit-session-0, directs me to use ControlSend() however my application has no controls that can be identified by AutoIt v3 Window Info.  Get All Windows Controls also returned nothing for the application's handle.  
      What are my options?  
      Can this be done with AutoIt?
      Is there a different "relatively simple" library/tool to use? (I am familiar with C# if there is a viable library there )

       
    • nassausky
      By nassausky
      Hey all,
      Has anyone created any queries for youtube? I was thinking it might be something like this but can't quite figure it out:
      $oIE = _IECreateEmbedded() _IENavigate($oIE,"https://www.youtube.com") Local $oForms = _IETagNameGetCollection($oIE, "form") Local $sTxt = "" For $oForm In $oForms If $oForm.id = "masthead-search" Then $oInputs = _IETagNameGetCollection($oIE, "input") For $oInput In $oInputs If $oInput.id = "masthead-search-term" Then _IEFormElementSetValue($oInput, "cards") _IEFormSubmit($oForm) EndIf Next EndIf Next  
    • Skysnake
      By Skysnake
      Scite comes up occasional, almost incidentally, in some support topics.  I have not found a "Scite" topic in the forums, so this is where I will start.  I have recently been using Scite intensively, specifically with a large project and I have certain issues.  I know that Scite is not an AutoIt product, but it is so closely integrated to the core release that it makes sense to raise issues and request support here.  If this is not the right please refer me to the right forum.
      Thx
       
      Skysnake