Control Oracle Forms with outside program
I work at a company that uses the Forms based Oracle 11i. A lot of employees complain of the redundancy of data entry and I want to write a program that will ease some of that pain since all attempts to ask IT to do it have fail开发者_StackOverflowed.
The problem is, since Oracle Forms are Java based there are no "controls" as there would be on say a windows application or an HTML based form. Does anyone know of a way to tell the PC to (example only) click edit field 3 on the RMA creation form and then enter the data? The only way I can programmatically navigate Oracle is with hotkeys and it's very unreliable.
I'm not concerned about the language or learning a new application to resolve this issue. I currently know (elementary to Intermediate levels) Java, VB.NET and will be taking C++ in school. Is there a tool, bridge, element spy of some sort that will allow me to send commands to elements on the forms?
edit
APC sez: Oracle Forms over the web run as a Java applet. I mention this because it may be relevant to your responses.
I would think that it would be easier to modify the Oracle Forms screens themselves. You can add PL/SQL to triggers that should be able to accomplish most anything you should need for data entry.
I'm not familiar whether Oracle Forms is a thick-client installed application, a web application in pure HTML or a web application running withing a Java applet. Here are some thoughts:
For thick-client windows apps, WinBatch does a great job simulating user interaction. I have never used it for controlling web apps though but it seems like it would be able to do it, just with a bit less fine control.
For testing web apps, Selenium and HTMLUnit are two popular frameworks for simulating user input.
I think that you should actually be able to do this with the integration techniques described in this doc Integrating Oracle Forms into Oracle ADF Faces. Oracle Forms 11g contains a new JavaScript API to allow calls into it from the containing webpage. Through this you could create some automated task flows in JS and allow the end user to select them based on criteria, etc.
精彩评论