对刚刚执行了type()的元素验证text()是否有意义?

时间:2011-05-31 19:48:20

标签: selenium phpunit

我很好奇以下功能测试是否可行。我在这里使用的是PHPUnit_Extensions_SeleniumTestCase和Selenium-RC,但原则(我认为)应该适用于所有地方。

假设我对特定的div执行以下命令:

function testInput() {
    $locator = $this->get_magic_locator(); // for the sake of abstraction
    $this->type( $locator, "Beatles" ); // Selenium API call
    $this->verifyText( $locator, "Beatles" ); // Selenium API call
}

从概念上讲,我觉得这个测试应该有效。我正在将数据输入特定字段,我只是想验证文本现在是已输入

但是,我的测试结果(verifyText断言失败)表明$locator元素的内容即使在输入后也是空的。

There was 1 failure:

1) test::testInput
Failed asserting that <string:> matches PCRE pattern "/Beatles/".`

有没有其他人尝试过这样的事情?应该有用吗?我犯了一个简单的错误吗?

2 个答案:

答案 0 :(得分:2)

您应该使用verifyValue(locator,texttoverify)而不是verifyText(locator,value)来验证文本框值

答案 1 :(得分:1)

回答你的初步问题(“它有意义......”),也许吧。你在那时测试的是浏览器响应击键的能力,这有点蹩脚。除非你有一些JavaScript代码连接到某些字段的属性,在这种情况下它可能有点重要。

  

标准程序员的回答 - “这取决于”。