蛙人 / 博客 / 一周提示 / 在QT GUI测试中迭代表格

在QT GUI测试中迭代表格

自动GUI测试工具柔软 可以使用a验证整个表 表验证点,但有时候测试案例的要求使得有必要在GUI测试中迭代表的项目。

例如,在您想要将数据中的数据与数据文件中的数据进行比较,或者需要验证一组行或一定的条件时。

迭代表项的方法可能有所不同,具体取决于AUT中的表是否基于QTableView或QtableWidget。 这是因为QTableWidget附带内置物品模型,并具有处理物品的便利方法。虽然QTableView实现了QABStractItemview类所定义的接口,以允许它显示由QABStractItemModel类派生的模型提供的数据。

让我们说我们希望桌面细胞中没有一个空。在这种情况下,我们将使用QtableWidget的ColumnCount和RowCount属性迭代:

迭代QTableWidget项目:

    table = waitForObject(":Address Book - MyAddresses.adr.File_QTableWidget")
columnCount = table.columnCount
rowCount = table.rowCount
for row in range(rowCount):
for col in range(columnCount):
item = table.item(row, col)
itemText = item.text()
test.log(str(itemText))
test.verify(itemText != "")

一种类似的方法还可用于迭代QtreeWidget,QlistWidget等其他Qt小部件的项目。

QTableView另一手实现了显示模型中项目的表视图。因此,我们可以使用Qt API直接访问模型。迭代QTableView项:

迭代QTableView项:

    table = waitForObject(":Item Views_QTableView")
model = table.model()
columnCount = model.columnCount()
rowCount = model.rowCount()
for row in range(model.rowCount()):
for column in range(model.columnCount()):
index = model.index(row, column)
text = model.data(index).toString()
test.verify(text != "")

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

复制链接