I would appreciate an activity that delays the robot until a given condition becomes True (or it times out). As an example, say we’re waiting for a report to download into a directory, and we wish to read this report into memory once it becomes available. In this case we could do something along the lines of:
int fileCountBefore = Directory.GetFiles( myDir ).Count();
downloadReport();
WaitUntilTrue( Directory.GetFiles(myDir).Count>fileCountBefore );
FileInfo mostRecentReport = DirectoryInfo.GetMostRecent();
RetryScope( ) { FileStream reportStream = mostRecentReport.Open(FileMode.Open, FileAccess.Read) }
readReport();
This could be achieved combining a while-loop and a Stopwatch (for timeout), but it’s messy. The same argument could be made for the “Wait attribute”, “Wait Element/Image Vanish” and “On Element Appear”, but I’m sure a lot of people find these activities handy - I know I do.