Squish/Waiting for a Progress Bar: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Mark as not-a-category)

Revision as of 02:56, 25 November 2017

This article is nominated for deletion. Reason: Page not category. Include as single block in Squish: waiting for a progress bar or a progress dialog if relevant
Please raise your support/opposition to this nomination in the article's discussion page.

Waiting for a progress bar or progress dialog

When you have a calculation or some other work item in your AUT that takes an arbitrary amount of time to complete, it can be hard to get your test script to be stable by just using snooze() or waitForObject() calls to wait for the work item to finish. Instead, you can use the more powerful waitFor() method, that takes any code statement, executes it until it returns True, or until the optional timeout is reached before it continues the script playback.

Assuming the work item shows a progress bar or a progress dialog while it is running, you can easily use waitFor() to make sure your script does not continue playback until the work item has completed and the progress dialog has gone away:

clickButton(waitForObject(":Dialog.Calculate_QPushButton"))
waitFor("object.exists(':_QProgressDialog')", 20000)
waitFor("not object.exists(':_QProgressDialog')")