WEB开发网
开发学院软件开发Java 追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI... 阅读

追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 同样要注意,在 清单 2 中,追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试(6),我是如何通过将 “findWord” 名称传递给 TestNG-Abbot 的 ButtonFixture 对象而获得对按钮的引用,“单击&rdquo

同样要注意,在 清单 2 中,我是如何通过将 “findWord” 名称传递给 TestNG-Abbot 的 ButtonFixture 对象而获得对按钮的引用。“单击” 按钮(调用 click 方法)然后使用 TestNG-Abbot 的 LabelFixture 对象插入单词的释义,多么酷!不过不要就此满足。

测试意外场景

当然,如果我非常希望验证我的 Word Finder GUI,我必须确保在用户执行意外操作时 —— 程序能够正常工作,比如在输入单词之前按下 Find Word 按钮,或者情况更糟,比如他们输入了一个无效的单词。举例来说,如果用户没有向文本字段输入内容,GUI 应该显示特定的信息,如清单 4 所示:


图 4. 糟糕的极端例子
追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试

当然,使用 TestNG-Abbot 测试这种情况非常简单,不是吗?我所做的仅仅是将空值传送到 TextComponentFixture 中,按下按钮(通过对 ButtonFixture 使用 click 方法)并插入 “Please enter a valid word” 响应!


清单 4. 测试一个极端例子:如果有人没有输入单词就按下了按钮该怎么办?
@Test 
public void assertNoWordPresentInvalidText() { 
 TextComponentFixture text1 = new TextComponentFixture(this.fixture, 
  "wordValue"); 
 text1.enterText(""); 
 
 ButtonFixture bfix = new ButtonFixture(this.fixture, "findWord"); 
 bfix.click(); 
 
 LabelFixture fix = new LabelFixture(this.fixture, "definition"); 
 fix.shouldHaveThisText("Please enter a valid word"); 
} 

上一页  1 2 3 4 5 6 7  下一页

Tags:追求 代码 质量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接