Hei,


> if (abc1 = fgd)
>   click link1
>   enter value1
>   enter value2
>   click ok
> end
> if (abc2 = fge)
>   click link2
>   select a check box1
>   enter value1
>   click ok
> end

Still, i don't understand what's going on :) 
One quick and dirty (REALLY dirty) fix might be to check, before the
abc2 == (mind the ==, NOT = ) fge condition evaluation, if the system is
in a suitable state for the operation to be run and, if not, wait a
little until it's ready. Something like:


if (abc1 == fgd)
  click link1
  enter value1
  enter value2
  click ok
end

while !operation_over?
  sleep(1)
end

if (abc2 = fge)
 click link2 
 select a check box1
 enter value1
 click ok
end

where operation_over? is a method that you will have to write that
checks for the system to be in a proper state: it should return true if
the operation run after the first condition is over, false otherwise.
But really, think twice before doing this: the problem you're
experiencing derives from some global value you're changing, and
global's bad :-) i suggest you check for what's going on deep under and
fix the underlying problem instead of writing this hack.

-- 
Andrea Dallera
http://github.com/bolthar/freightrain
http://usingimho.wordpress.com