Hi,
Initial note: it is my guess that there is no exception, but just the 'Object not found' error. Am I correct?
> Could it be the length of the PropertyName and PropertyValue?
Not the length, but parameters themselves.
Basically, your code is like this:
a.b.c.WaitProperty(a.b.c, a.b.c.Exists, -1);
which in human language means: for object a.b.c get its property a.b.c and infinitely wait until this property will get value of a.b.c.Exists.
Notes:
a) In order for .WaitProperty to be callable, all its parent objects (a, b and c) must exist. If any of them does not exist one will get the 'Object not found' error in test log with the specification what object did not exist;
b) a.b.c resolves to object, but you are trying to use it as a string parameter that specifies the name of the property you are waiting for;
c) a.b.c.Exists resolves to either True or False, but you are trying to use it as a value parameter. So, depending of whether or not object c exists, your code will wait for the property to become equal to either True or False.
Technically, this piece of code might look like this:
a.b.c.WaitProperty('Exists', true, -1) // wait infinitely until for the object c the value of Exists property becomes equal to true
but note that this code will work only if object a and object b and object c, all of them do exist. Otherwise this code will fail with the 'Object not found' error.