Jump to content

Java UDF


seangriffin
 Share

Recommended Posts

Dear seangriffin ,

Thanks a lot for your Java UDF .Great effort !

Now I facing a problem with table identification in Java Docking frame window. I cannot select a table and get the cell values .

Can I know how develope a dll as done by you

Thanks

biju.issac@gmail.com

Link to comment
Share on other sites

Dear seangriffin ,

Thanks a lot for your Java UDF .Great effort !

Now I facing a problem with table identification in Java Docking frame window. I cannot select a table and get the cell values

Can i know how to develope a dll as done by you

my mail id :bijukissac@gmail.com

Link to comment
Share on other sites

  • 4 weeks later...

Hi Sean -

You've done a great service building this library for AutoIT. I was originally trying to put together a simple VB app to utilize the Java Access Bridge, but this UDF and DLL may do the job. My scenario is that my company uses an outsourced Exchange Service that provides a java admin GUI (abridean provisor) to add/change/remove exchange accounts. I want to automate some of our processes and the only way to do it is through that dang java gui.

I'll give your library a try and report back.

Thanks!

Link to comment
Share on other sites

@jlundqui : tesseract is a free OCR which has to be installed for the tesseract UDF to work.

see : http://www.autoitscript.com/forum/index.ph...mp;hl=tesseract

@seangriffin : great work !

I am trying to use this for automating an Oracle forms webbased application (running on an Oracle application server)

The application runs on the Sun java plugin version 6U13.

The Java Ferret works fine.

Your _JavaObjPropertyGet UDF also does the job.

But there is a problem when I try to push buttons with the _JavaObjSelect UDF.

This syntax does not seem to have any effect on the button that I want to be pushed in the application:

$java_obj1 = _JavaObjSelect("[TEXT:Verlaten]", "", "push button")

This syntax "crashes" the application:

$java_obj1 =_JavaObjSelect("", "Verlaten", "push button")

I get an FRM-92100 in the form and the connection with the application server is lost.

The java error in the Sun java console looks like this :

java.lang.SecurityException: this KeyboardFocusManager is not installed in the current thread's context

at java.awt.KeyboardFocusManager.getGlobalFocusOwner(Unknown Source)

at java.awt.KeyboardFocusManager.processSynchronousLightweightTransfer(Unknown Source)

at sun.awt.windows.WComponentPeer.processSynchronousLightweightTransfer(Native Method)

at sun.awt.windows.WComponentPeer.requestFocus(Unknown Source)

...

Any suggestion is welcome.

Did you ever figure this out? Crazy thing: This actually worked for me for a couple days. Just today, I started getting the exact problem you described. This is on an Oracle Applications interface and as far as I know there have been no configuration changes. It just stopped working like it was before, but _JavaObjSelect and _JavaObjValueSet stopped working. Select gives me the server disconnect error and Set just doesnt get focus, but spits out the value and returns error level 1.

I am very confused as to why the behavior changed.

Link to comment
Share on other sites

  • 2 months later...

Hello,

I have an application which I am trying to automate the GUI. I have tried using the Au3Info tool, however it provides me with no control information what so ever. The Au3Info tool only provides the window name and the class name (SunAwtFrame). I then found out that it is a Java application and found this thread after some digging around. I then installed the Java access bridge and tried using the Java Ferret. This didn't provide me with anything either. After trying some of the examples I was able to confirm that the Java Ferret does work.

Does anyone know of another way to obtain window controls or have any suggestions for me?

Link to comment
Share on other sites

  • 1 month later...

Did any one get the Access Bridge to install & work on 64-bit Windows 7? I tried following the instructions @ http://java.sun.com/javase/technologies/accessibility/accessbridge/2.0.1/docs/setup.html but I couldn't get Ferret to recognize any Java events.

Link to comment
Share on other sites

  • 2 months later...

Did any one get the Access Bridge to install & work on 64-bit Windows 7? I tried following the instructions @ http://java.sun.com/javase/technologies/accessibility/accessbridge/2.0.1/docs/setup.html but I couldn't get Ferret to recognize any Java events.

works for me on windows 7. Did you copy accessibility.properties to your jre/lib directory, change the path to include wnidows\syswow64. If there are multiple jre folders, just manually install jab to all of them...
Link to comment
Share on other sites

  • 2 weeks later...

Anyone else getting a popup "OK4" when using _JavaObjValuesGet with a JavaFerret obj?

Can repro with a modified of the sample _JavaObjValuesGet.au3 (testing with PiFace.jar)

#include <Java.au3>

WinActivate("Piface Application Selector")

_JavaAttachAndWait("Piface Application Selector")

$obj = _JavaObjValuesGet("","","combo box")

WinXP sp3

java version "1.6.0_17"

Java SE Runtime Environment (build 1.6.0_17-b04)

Java HotSpot Client VM (build 14.3-b01, mixed mode, sharing)

The dll's are from the links in this forum (AutoITJavaAccess.dll v0.7)

Link to comment
Share on other sites

  • 2 weeks later...

Hi,

I would like to automate Java with a button click.

My sample code is shown as below

##############################################################################################

$java_obj1 = _JavaObjValuesGet("[CLASS:Button; Instance:1]", "", "push button", 1)

MsgBox(262144, "Text.au3", "Push button = " & $java_obj1 & "" & @CRLF)

ControlClick("[Class: SunAwtFrame]","", $java_obj1)

##############################################################################################

However, the message box shows "Push button = ", that mean nothing can be matched.

Then I tried to select the Java object as below

##############################################################################################

$java_obj1 = _JavaObjSelect("[CLASS:Button; Instance:2]", "", "push button")

MsgBox(262144, "Text.au3", "Push button = " & $java_obj1 & "" & @CRLF)

ControlClick("[Class: SunAwtFrame]","", $java_obj1)

##############################################################################################

The message box can show "Push button = 1", but the button cannot be clicked.

Do you have any idea to solve it? Thanks.

Link to comment
Share on other sites

  • 1 month later...

Hi,

This may be a bit off-topic. I'll post this anyway, as I haven't found any group as active as this on the topic of Java automation.

I'm working on a light solution to get a value from an applet. AutoIt is too "heavy" a solution for my problem.

The thing is, I'm writing my little app in C#, but I'm unable to call getAccessibleContextFromHWND from WinAccessBridge.dll.

I have version 2.01 of AccessBridge installed. Any ideas, anyone? This is my last attempt on the subject. If I don't get an answer I'll leave it to rest.

Thanks in advance.

Link to comment
Share on other sites

  • 1 month later...

Is AutoITJavaAccess.dll supposed to work on 64-bit systems? I was able to get Java Access Bridge to install and Java Ferret works correctly on Windows 7, but when I do a DllOpen("AutoITJavaAccess.dll"), I get a -1 returned that there was an error. I have been using the Access Bridge with AutoIt successfully on Windows XP systems for quite a while now, but just now moving to Win7.

Thanks

Link to comment
Share on other sites

  • 4 weeks later...

Hello,

I'm trying to download the "piface.zip" file. When I try this, I get the error message "[#10170] We could not find the attachment you were attempting to view". Why am I getting this message? Will somebody please post a working link to the "piface.zip" file?

Link to comment
Share on other sites

  • 3 months later...

I followed this java UDF link to install the program few days ago, but not able to run JavaFerret.exe (could not get any error output, either command outpur or system event).

I havd one question about steps from the UDF link that the downloaded Java Access Bridge only have three jaccess-1_x.jar files. There are for java 1.2, 1.3 and 1.4. My java version is v1.6. I am not sure if the failure of JavaFerret.exe running is due to this.

It is much appreciated if someone could help me.

Link to comment
Share on other sites

Hi All,

I tried following this java UDF instruction to install the program few days ago, but not able to run JavaFerret.exe (could not get any error output, either command output or system event).

I havd one question about steps to manually check and update the Java Access Bridge that the downloaded Java Access Bridge only have three jaccess-1_x.jar files. There are for java 1.2, 1.3 and 1.4. My java version is v1.6. I am not sure the failure of JavaFerret.exe running is due to this.

Your help is very much appreciated.

-Slu

Link to comment
Share on other sites

  • 3 months later...

I don't mean to revive a dead thread to spam, but I really had to express my appreciation for your UDF. It worked exactly as I needed it to and helped me automate some MUCH needed testing at my job. I appreciate it very very much!

Thanks again,

Fett

[sub]My UDF[/sub][sub] - Basics and Time extensions. Great for those new at AutoIt, also contains some powerful time extensions for pros.[/sub][sub]ScrabbleIt[/sub][sub] - Scrabble done in pure AutoIt. (In Progress)[/sub][sub]Nerd Party Extreme | My Portfolio | [email="fett8802@gmail.com"]Contact Me[/email][/sub]
Link to comment
Share on other sites

  • 4 weeks later...

Thanks toakhilesh,

Yes I was at the point you are now only a few months ago. This has been a big piece of work for me, considering I'm not a developer / programmer by trade, but I had worked alot with Ansi C and some Borland C++ a long time ago. I saw this as an opportunity to brush up on my C skills, and get familiar with Microsoft's Visual C++.

Initailly it took me about a week to install and integrate the Java Access Bridge into Visual C++, and about another week to understand how to write a DLL. Then the rest of the time I've been creating and modifying the functions in the DLL to work with AutoIT.

I'm noticing that not all Java apps are the same. This makes things hard. Just when I think I have a control properly automated, along comes another Java app. that's a little different. So the UDF is contantly changing and there will be cases where my functions won't work.

The best thing you can do for me right now is to try it with a Java app. of your own. I think you'll find a few things that need to be added or fixed in the UDF. If I get overwhelmed with the workload then please get involved. The size of the "AutoITJavaAccess.dll" project is too big to post and maintain in these forums (I think the full project is over 80Mb in filesize), which is why I haven't shared the source code so far. Would be good if I could make the DLL some kind of open source project that others can contribute to or comment on. I have no experience with managing an open source project though. Is this something I could setup in SourceForge?

need help!

use windows 7 64bit, installed the files, but run _JavaObjPropertyGet.au3 return empty strings, I need to check "AutoITJavaAccess.dll" source code,

and the size of the "AutoITJavaAccess.dll" project can't be too big, if you exclude the .obj, .pch etc.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...