如何使用qtestlib测试完整的Qt5 GUI?

时间:2016-07-17 13:54:42

标签: c++ user-interface testing qt5 qtestlib

在我的 Qt5 C ++小部件应用程序中使用qtestlib,如何测试完整的GUI

qtestlib QWidget中,我解释了如何通过模拟按键等来测试单个ui_XXX.h,但是对于完整的UI来说这似乎是不可能的,因为个人我的UI的小部件隐藏在自动生成的 {{1}}文件中。

那我该怎么做呢?

1 个答案:

答案 0 :(得分:3)

在您的ui文件中,您可以为小部件指定名称。然后,您可以从顶级窗口小部件中搜索子项。

例如,要测试Label是否反映了输入LineEdit的字符,您可以使用:

MainWindow win;

QLineEdit *edit = win.findChild<QLineEdit *>("myLineEdit");
QTest::sendKeys(edit, "Example");

QLabel *label = win.findChild<QLabel *>("myLabel");
QCOMPARE(label->text(), "Example");