0

The title says it all, really.

On a Sun OS 5.1, can I automate some operations on a legacy Progress (ported to v.10, but still running as a character based UI, launched by Procedure Editor) using Expect?

Anyone had any real experience with this setup? Is it known to work? Or not to work at all? Any caveats?

Tom Bascom
  • 13,405
  • 2
  • 27
  • 33
p.marino
  • 6,244
  • 3
  • 25
  • 36
  • If the UI is build with ansi-escape code, you can automate it, although it is not easy. – Johannes Kuhn Mar 27 '13 at 13:08
  • If you're using the procedure editor, then I presume you've got the code, in which case it'd be possible to setup a batch program to do what you want to do. – Tim Kuehn Mar 27 '13 at 13:19
  • Yes, we have access to the code, lots of code where business logic is buried inside on-screen controls, specifically, so while we plan to rewrite that part I want to evaluate short-term workarounds. – p.marino Mar 27 '13 at 15:50
  • @TimKuehn - that's what I am trying to find out: what does Progress use (on Solaris) to manage character-based interfaces? Curses? Something else? Can it be managed by TCL? – p.marino Mar 27 '13 at 16:13
  • @Charles - ABL (Advaced Business Language - formerly 4GL) is the language used for writing Progress applications (sorta like you would say PL-SQL was used for Oracle SQL*Forms apps). Removing it is no big deal, anyway. – p.marino Mar 27 '13 at 17:53
  • Aha! There's already a tag for that language. Tada! – Charles Mar 27 '13 at 18:06

1 Answers1

1

Yes. I've done it.

It was quite a while ago but it is certainly possible.

No special caveats specifically due to Progress. It was challenging to automatically navigate through a complex application -- but you would expect that (pun intended...)

As I recall the hardest part was coming up with distinct "anchor" strings for each screen.

It was also useful to build in a bit of wait time here and there.

Tom Bascom
  • 13,405
  • 2
  • 27
  • 33
  • Yep, we already use "macros" i.e. keypresses sent directly to the terminal emulator, and we can add waits there, but we can't test for specific output, so if something goes amiss, we keep sending stuff with the risk of making blind moves. I'd like to use expect to limit the risk. Thanks... – p.marino Mar 27 '13 at 20:24