测试输入字段是否聚焦

时间:2013-06-15 21:01:15

标签: selenium-webdriver bdd behat mink

我正在使用Behat和Selenium2,我想写一个测试来检查一个字段是否有焦点。这是我的实验:

/**
 * @Then /^I could see username focused$/
 */
public function iCouldSeeUsernameFocused()
{
    $this->getSession()->wait(1000, "$('#username').is(':focus') == true");
}

这是绿色的。还有这个:

/**
 * @Then /^I could see username focused$/
 */
public function iCouldSeeUsernameFocused()
{
    $this->getSession()->wait(1000, "false");
}

我可以使用Behat测试textField是否有焦点?

1 个答案:

答案 0 :(得分:2)

您的步骤不会抛出异常,因此它确实会一直成功。

此外,等待不是正确的选择,因为它只是等待。它没有有意义的返回值,您可以在此处看到:http://mink.behat.org/api/behat/mink/session.html#wait()

相反,我会使用phpunit asserts和session的evaluateScript方法:

assertTrue($this->getSession()->evaluateScript('// your jQuery here'));

确保包含phpunit的断言函数,如下所述:http://docs.behat.org/guides/2.definitions.html#failed-steps