QTest Class Reference
[QtTest module]
该QTEST命名空间包含所有相关的功能和声明QTestLib工具。More…
Types
enum KeyAction { Press, Release, Click }
enum MouseAction { MousePress, MouseRelease, MouseClick, MouseDClick, MouseMove }
Static Methods
keyClick (QWidget widget, Qt.Key key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
keyClick (QWidget widget, str key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
keyClicks (QWidget widget, QString sequence, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
keyEvent (KeyAction action, QWidget widget, Qt.Key key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
keyEvent (KeyAction action, QWidget widget, str ascii, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
keyPress (QWidget widget, Qt.Key key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
keyPress (QWidget widget, str key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
keyRelease (QWidget widget, Qt.Key key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
keyRelease (QWidget widget, str key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
mouseClick (QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1)
mouseDClick (QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1)
mouseEvent (MouseAction action, QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers stateKey, QPoint pos, int delay = -1)
mouseMove (QWidget widget, QPoint pos = QPoint(), int delay = -1)
mousePress (QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1)
mouseRelease (QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1)
qSleep (int ms)
qWait (int ms)
bool qWaitForWindowShown (QWidget window)
Detailed Description
该QTEST命名空间包含所有相关的功能和声明QTestLib工具。
请参阅QTestLib Manual文档以获取有关如何编写单元测试的信息。
Type Documentation
QTest.KeyAction
这个枚举变量描述了密钥处理可能的操作。
Constant | Value | Description |
---|---|---|
QTest.Press |
0 |
该键被按下。 |
QTest.Release |
1 |
键被释放。 |
QTest.Click |
2 |
关键是点击(按下并释放) 。 |
QTest.MouseAction
这个枚举变量描述了鼠标处理可能的操作。
Constant | Value | Description |
---|---|---|
QTest.MousePress |
0 |
鼠标按钮被按下。 |
QTest.MouseRelease |
1 |
释放鼠标按钮。 |
QTest.MouseClick |
2 |
单击鼠标按钮(按下并释放) 。 |
QTest.MouseDClick |
3 |
鼠标按钮双击时(按下并释放两次) 。 |
QTest.MouseMove |
4 |
将鼠标指针移动。 |
Method Documentation
QTest.keyClick (QWidget widget, Qt.Key key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
模拟点击的key具有可选modifier上一个widget。如果delay大于0 ,则测试将等待delay毫秒。
示例:
[QTest](qtest.html).keyClick(myWidget, [Qt](qt.html).Key_Escape);
[QTest](qtest.html).keyClick(myWidget, [Qt](qt.html).Key_Escape, [Qt](qt.html).ShiftModifier, 200);
上面第一个例子模拟点击escape
关键myWidget
没有任何键盘功能键和无延迟。第二个例子模拟点击shift-escape
上myWidget
用试验的以下200毫秒的延迟。
See also QTest.keyClicks( ) 。
QTest.keyClick (QWidget widget, str key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
这是一个重载函数。
模拟点击的key具有可选modifier上一个widget。如果delay大于0 ,则测试将等待delay毫秒。
例如:
[QTest](qtest.html).keyClick(myWidget, 'a');
上面的例子中模拟点击a
上myWidget
没有任何键盘功能键和没有测试的延迟。
See also QTest.keyClicks( ) 。
QTest.keyClicks (QWidget widget, QString sequence, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
模拟点击一个sequence上一个键widget。任选地,一个键盘modifier可以被指定,以及一个delay(以毫秒为单位)每个键击之前的测试。
例如:
[QTest](qtest.html).keyClicks(myWidget, "hello world");
上面的例子中模拟点击代表的“ Hello World”的键序列myWidget
没有任何键盘功能键和没有测试的延迟。
See also QTest.keyClick( ) 。
QTest.keyEvent (KeyAction action, QWidget widget, Qt.Key key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
发送一个Qt的关键事件widget用给定的key和一个相关的action。任选地,一个键盘modifier可以被指定,以及一个delay(以毫秒为单位)发送事件之前的测试。
QTest.keyEvent (KeyAction action, QWidget widget, str ascii, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
这是一个重载函数。
发送一个Qt的关键事件widget用给定的键ascii和一个相关的action。任选地,一个键盘modifier可以被指定,以及一个delay(以毫秒为单位)发送事件之前的测试。
QTest.keyPress (QWidget widget, Qt.Key key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
模拟按下一个key具有可选modifier上一个widget。如果delay大于0 ,则测试将等待delay毫秒。
Note:在某些时候,你应该使用松开按键keyRelease( ) 。
See also QTest.keyRelease()和QTest.keyClick( ) 。
QTest.keyPress (QWidget widget, str key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
这是一个重载函数。
模拟按下一个key具有可选modifier上一个widget。如果delay大于0 ,则测试将等待delay毫秒。
Note:在某些时候,你应该使用松开按键keyRelease( ) 。
See also QTest.keyRelease()和QTest.keyClick( ) 。
QTest.keyRelease (QWidget widget, Qt.Key key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
模拟释放key具有可选modifier上一个widget。如果delay大于0 ,则测试将等待delay毫秒。
See also QTest.keyPress()和QTest.keyClick( ) 。
QTest.keyRelease (QWidget widget, str key, Qt.KeyboardModifiers modifier = Qt.NoModifier, int delay = -1)
这是一个重载函数。
模拟释放key具有可选modifier上一个widget。如果delay大于0 ,则测试将等待delay毫秒。
See also QTest.keyClick( ) 。
QTest.mouseClick (QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1)
模拟点击鼠标button具有可选modifier上一个widget。点击的位置被定义为pos,默认位置是widget的中心。如果delay被指定,测试将等待指定的毫秒金额前按下并释放按钮之前。
See also QTest.mousePress()和QTest.mouseRelease( ) 。
QTest.mouseDClick (QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1)
模拟双击鼠标button具有可选modifier上一个widget。点击的位置被定义为pos,默认位置是widget的中心。如果delay被指定,测试将等待指定的毫秒数量每次按下和释放之前。
See also QTest.mouseClick( ) 。
QTest.mouseEvent (MouseAction action, QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers stateKey, QPoint pos, int delay = -1)
QTest.mouseMove (QWidget widget, QPoint pos = QPoint(), int delay = -1)
将鼠标指针移动到widget。如果pos没有指定,将鼠标指针移动到窗口小部件的中心。如果delay(以毫秒为单位)给出,测试将移动鼠标指针前等待。
QTest.mousePress (QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1)
模拟按下鼠标button具有可选modifier上一个widget。该位置被定义为pos,默认位置是widget的中心。如果delay被指定,测试将等待指定的毫秒金额按前。
See also QTest.mouseRelease()和QTest.mouseClick( ) 。
QTest.mouseRelease (QWidget widget, Qt.MouseButton button, Qt.KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1)
模拟松开鼠标button具有可选modifier上一个widget。释放的位置被定义为pos,默认位置是widget的中心。如果delay被指定,测试将等待指定的毫秒量释放按钮之前。
See also QTest.mousePress()和QTest.mouseClick( ) 。
QTest.qSleep (int ms)
休眠ms毫秒,阻止执行的测试。 qSleep ( )不会做任何事件处理,并留下您的测试反应迟钝。网络通信可能会超时而睡。使用qWait( )做非阻塞睡觉。
ms必须大于0 。
Note:该qSleep ( )函数调用任一nanosleep()
在UNIX或Sleep()
上的窗口,因此时间在qSleep使用了()的精度依赖于操作系统。
例如:
[QTest](qtest.html).qSleep(250);
See also qWait( ) 。
QTest.qWait (int ms)
等待ms毫秒。在等待时,事件将被处理,你的测试将保持响应用户界面事件或网络通信。
例如:
int i = 0;
while (myNetworkServerNotResponding() && i++ < 50)
[QTest](qtest.html).qWait(250);
上面的代码将等待,直到网络服务器响应最多约12.5秒。
See also QTest.qSleep( ) 。
bool QTest.qWaitForWindowShown (QWidget window)
等待,直到window显示在屏幕上。这主要是异步系统,如X11 ,其中一个窗口将被映射被要求出示自己在屏幕上后,屏幕一段时间非常有用。返回True。
例如:
[QWidget](qwidget.html) widget;
widget.show();
[QTest](qtest.html).qWaitForWindowShown(&widget);
此功能被引入Qt的4.6 。