I'm working on the desktop firewall application that should be smart enough to prompt the user if he/she wants to allow some (other) apps to communicate with the remote clients. I testd the "Learn mode dialog box" (the one that prompts the user) and my SilkTest agent on the client machine can see/find it just fine if run as a separate test case. My problem is if I try to simulate user's interaction with the application itself and spawn one process which starts let's say ftp.exe. This brings up my "Learn mode dialog box". Since I use SYS_Execute to start ftp.exe, I have to spawn another process which then tries to find the Learn mode dialog box and click "Allow" or "Deny" depending on the test case itself. This is where the script hungs trying to find this dialog box. My code would be something like:
The problem with SYS_Execute() is that it waits for the completion of the activity prior to returning.
Two other approaches come to mind:
1. Drive the Start/Run dialog directly. That way the application is initiated and Silk won't wait for it to return.
2. Create declarations for each application you'd like to spawn. (You know what they're going to be, right?) Then call their Start() method to invoke them. After that you can use the app's directly and completely independently of each other.
Wow John is right Sys_Execute does not work for me the way I described in Silk 5.5 sp3 (I recently converted)! Will sp4 work as described? I cannot find that in Segue's downloads. (I saw this as potential fix for this in the forum)
Is this an issue in Silk 6.0 as well or did they fix it? Anyway I did note that the dll I posted here for Sys_execute (for win 95) which is a simple and somewhat less efficient wrap of C's system could be a workaround.
Jeez that Sys_Execute("start yada ...") has been working for me for ever! You would think Segue would get on that! You would also think they might QA it as well.
I noted that the post in downloads does not appear active any more.
"Smoke me a kipper, I'll be back for breakfast!"
Sr. QA Engineer