Ⅰ.2.6.3.4 如何测试 QTableViews(QAbstractItemModels 和 QItemSelectionModels)中的 Items

原创 2015年11月17日 17:58:59

Table views,像其他的view 类一样,展示model中数据而不是自己保存数据。因此执行测试table展示的数据的关键是获取table view的model,对model的数据进行操作。下面举个例子展示如何操作,这个例子与list view的例子比较相似。

Example 6.10 The tst_tableview Test Script

def main():
    startApplication("itemviews")
    tableViewName ="{type='QTableView' unnamed='1' visible='1'}"
    tableView = waitForObject(tableViewName)
    model = tableView.model()
    selectionModel = tableView.selectionMode()
    for row in range(model.rowCount()):
        for column in range(model.columnCount()):
            index = model.index(row, column)
            text = model.data(index).toString()
            checked = selected = ""
            checkState = model.data(index, Qt.CheckStateRole).toInt()
            if checkState == Qt.Checked:
                checked = " +checked"
            if selectionModel.isSelected(index):
                selected = " +selected"
            test.log("(%d, %d) '%d'%s%s" % (row, column, text, checked, selected))
如果我们将上面的代码和等效的list view的代码做比较,很显然,唯一的区别是list models 只有一列(column 0),而table models有一个或多列。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Ⅰ.2.6.4 如何测试 Table Widgets,以及使用外部数据文件(Qt 4)

这个部分,我们将了解如何测试 csvtable 程序。这个程序使用了 QTableWidget 来展现一个 .csv(以逗号间隔开值)文件的内容,它提供了基本的处理数据的功能——插入行、删除行、编辑格...
  • dzh0622
  • dzh0622
  • 2015年11月18日 13:58
  • 307

Ⅰ.2.6.7 如何测试QListView (Qt 3)

这个部分介绍了如何验证一个Qt 3 list view widget(事实上是个tree widget)包含了我们所期望的items。 一种方法是遍历list view中的所有items,检查它们的每...
  • dzh0622
  • dzh0622
  • 2015年11月19日 09:41
  • 245

Ⅰ.18.3 如何在AUT中使用测试数据

到目前为止这个部分只讨论了在测试脚本中使用测试数据来创建数据驱动的测试。但是实践中出现了另外两个用例。一个用例是AUT读取测试数据文件。例如,假设我们正在使用addressbook AUT,想让它在测...
  • dzh0622
  • dzh0622
  • 2016年01月05日 15:53
  • 446

第Ⅰ部分 敏捷开发 第4章 测试

烈火验真金,逆境磨意志——卢修斯?塞尼加 编写单元测试是一种验证行为,更是设计行为,更是编写文档行为。避免了反馈循环。 ★4.1测试驱动的开发方法 设计程序先编写测试方案,单元测试是检验程序功能...
  • wzhwho
  • wzhwho
  • 2011年10月23日 17:45
  • 528

Ⅰ.19 如何实现自动化批量测试

这个部分将会阐释设置自动化测试运行的必要步骤,以及如何处理结果。 由创建一个处理Squish的测试结果的脚本开始(以XML格式输出),这个结果产生一个HTML文件,它包含的结果可以用web浏览区打开...
  • dzh0622
  • dzh0622
  • 2015年12月15日 13:35
  • 662

Ⅰ.16 如何编辑和调试测试脚本

除了记录和编辑测试脚本的工具,Squish也为调试测试脚本和检查AUT内部对象提供了支持。调试器不仅用于查找和修复测试脚本中的bug,而且还有助于检查一个运行中的AUT时使用断点功能。 Ⅰ.16.1...
  • dzh0622
  • dzh0622
  • 2015年11月25日 11:18
  • 355

Ⅰ.2.9.如何测试支持国际化的Qt AUT

Qt 支持创建国际化的应用程序。意思就是,举个例子,开发者可以创建一个Qt应用程序,在使用英语语言的地方(如U.S)该程序可以在menu选项和对话框标签上展示English文本,在用德语的地方显示Ge...
  • dzh0622
  • dzh0622
  • 2015年11月20日 10:17
  • 372

Ⅰ.7 如何从一个测试脚本中测试多个AUT,使用ApplicationContext

通常,为每个测试套件指定单个被测试的应用程序。然后通过每个测试案例执行和访问这个AUT。所有的教程展示了单个测试套件方法或单个AUT方法,但是事实上,有可能开始多应用程序以及访问,以及在单个测试套件内...
  • dzh0622
  • dzh0622
  • 2015年11月21日 22:23
  • 503

iTudou_2.6.3.4_Release_Build

  • 2010年11月14日 10:59
  • 5.74MB
  • 下载

OCJP-TestReal[1]讲解.310-065.244.Items

  • 2013年12月25日 14:44
  • 4.61MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ⅰ.2.6.3.4 如何测试 QTableViews(QAbstractItemModels 和 QItemSelectionModels)中的 Items
举报原因:
原因补充:

(最多只允许输入30个字)