steve_hall
12 years agoContributor
TestComplete with PowerBuilder problem
Hi All,
I'm rather new to TestComplete personally, but am picking up a project left by my predecessor to test a PowerBuilder project. For the most part things are going ok, but I've hit a couple of problems....
First Problem: Our AUT has a number of forms in a tabular format. Using "FindAllChildren", I can see something along the lines of
sys.process().client().client().client(field1_t)
sys.process().client().client().client(field2_t)
sys.process().client().client().client(field3_t)
sys.process().client().client().client(field1)
sys.process().client().client().client(field2)
sys.process().client().client().client(field3)
sys.process().client().client().client(field1,2)
sys.process().client().client().client(field2,2)
sys.process().client().client().client(field3,2)
And so on... The form also has buttons to add / delete rows to / from the table. However, when I click "Add", a new row appears in the app, but doing a "FindAllChildren" again at that point produces the same list of children as BEFORE I had clicked add - seemingly the controls for the new row are not recognised by TC, despite being on screen?
Second Problem: The list of controls as pasted above isn't quite accurate. What we ACTUALLY get when we go into the form is more like:
sys.process().client().client().client(field1_t)
sys.process().client().client().client(field2_t)
sys.process().client().client().client(field3_t)
sys.process().client().client().client(field1)
sys.process().client().client().edit(field2)
sys.process().client().client().client(field3)
sys.process().client().client().client(field1,2)
sys.process().client().client().client(field2)
sys.process().client().client().client(field3,2)
sys.process().client().client().client(field1,3)
sys.process().client().client().client(field2,2)
sys.process().client().client().client(field3,3)
sys.process().client().client().client(field1,4)
sys.process().client().client().client(field2,3)
sys.process().client().client().client(field3,4)
Where the first row, "field2" is the field that the cursor is active in when entering the form - thus "throwing out of line" the indexing for the remaining rows.
If anyone can shed any light on these issues (particularly the first!) we'd be very grateful!
Thanks,
Steve
I'm rather new to TestComplete personally, but am picking up a project left by my predecessor to test a PowerBuilder project. For the most part things are going ok, but I've hit a couple of problems....
First Problem: Our AUT has a number of forms in a tabular format. Using "FindAllChildren", I can see something along the lines of
sys.process().client().client().client(field1_t)
sys.process().client().client().client(field2_t)
sys.process().client().client().client(field3_t)
sys.process().client().client().client(field1)
sys.process().client().client().client(field2)
sys.process().client().client().client(field3)
sys.process().client().client().client(field1,2)
sys.process().client().client().client(field2,2)
sys.process().client().client().client(field3,2)
And so on... The form also has buttons to add / delete rows to / from the table. However, when I click "Add", a new row appears in the app, but doing a "FindAllChildren" again at that point produces the same list of children as BEFORE I had clicked add - seemingly the controls for the new row are not recognised by TC, despite being on screen?
Second Problem: The list of controls as pasted above isn't quite accurate. What we ACTUALLY get when we go into the form is more like:
sys.process().client().client().client(field1_t)
sys.process().client().client().client(field2_t)
sys.process().client().client().client(field3_t)
sys.process().client().client().client(field1)
sys.process().client().client().edit(field2)
sys.process().client().client().client(field3)
sys.process().client().client().client(field1,2)
sys.process().client().client().client(field2)
sys.process().client().client().client(field3,2)
sys.process().client().client().client(field1,3)
sys.process().client().client().client(field2,2)
sys.process().client().client().client(field3,3)
sys.process().client().client().client(field1,4)
sys.process().client().client().client(field2,3)
sys.process().client().client().client(field3,4)
Where the first row, "field2" is the field that the cursor is active in when entering the form - thus "throwing out of line" the indexing for the remaining rows.
If anyone can shed any light on these issues (particularly the first!) we'd be very grateful!
Thanks,
Steve