Squish/Waiting for Input from the Test Operator

From Qt Wiki
< Squish
Revision as of 08:41, 8 December 2018 by JKSH (talk | contribs) (Un-nominate for deletion: Page is no longer a category)
Jump to navigation Jump to search

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

In the cases where Squish cannot automate the whole test case, such as when a coin needs to be inserted into a slot machine or a physical button needs to be pressed which Squish cannot simulate, you need some way of notifying the test operator. As we have access to the whole Qt API from Squish, this can easily be done with a QMessageBox:

QMessageBox.information(0, "Input needed", "Please insert coin now!")<code>

As the call to information() won't return until the user clicks the OK button, the script will be paused until that happens.

We can also use Squish's powerful waitFor() command to continue the script immediately when the required action has occurred, without the user having to click a button, which can be useful in situations where an input cursor is not available for the test operator:

label = QLabel("Please insert coin now!")

label.show() waitFor("findObject(':CoinCounter_QLabel').text == '1'") label.close()