You are absolutely correct. As the script loads, global timeout kicks in and after that, sync step timeout initializes, which is 10 seconds. But, the total timeout is: global timeout + sync step timeout. In our scenario, as qtp initiates and waits for the object to load, it spends 10 seconds of global timeout and then, 10 seconds of sync step timeout. This is the total timeout instructed to qtp to wait for an object to load, therefore, when both timeouts “burn-out”, qtp fails the script as the object takes 25 seconds (5 seconds longer) to appear. Yes, what you said is correct. Qtp will wait for 10 seconds after the global timeout. But in all, it will wait for 20 seconds. This wait is also the amount of time qtp waits for synchronization to take place. Let me make use of the “insert done…” example from the flights application. If you insert a synchronization point of 10 seconds with a global timeout of 20 seconds, qtp will wait for a total of 30 seconds for “insert done…” to appear. However, it doesn’t take that long to load and appears before the total timeout (global+syncstep), so the script moves on. Now, try the same with a sync step timeout of 0. See how long qtp waits? it will wait if global timeout<>0. In other words, since sync step timeout is 0, qtp will only wait if global timeout>=1. If you use the default value of global timeout (20 seconds), with sync step timeout of 0 seconds, the total timeout will be 20 seconds. It will only wait for 20 seconds for any object to appear. In other words, qtp will only wait 20 seconds for synchronization to take place. I hope i didn’t go in circles. It’s a friday.
Please see the attachment. I don't know why the Editor won't format my stuff.
