Codeception:检查元素是否有焦点?
Codeception: Check if element has focus?
有没有办法断言某个元素(例如输入或 link)具有键盘焦点?我正在使用 Codeception 和 Selenium。在 http://codeception.com/docs/modules/WebDriver
上找不到任何内容
一个可靠的消息来源告诉我这个有效:
$I->executeJS('return $("#element").is(":focus")');
测试愉快!
的更多详细信息
在您的 acceptance.suite.yml
:
中激活 Codeception 的 Asserts Module
modules:
enabled:
# ...
- Asserts
然后在验收测试中使用它:
$focus = $I->executeJS('return $("#element").is(":focus")');
$I->assertEquals(true, $focus);
适用于 Firefox 和 Chrome(通过 Selenium)。但是,它不适用于 PhantomJS - 请参阅此问题:https://github.com/ariya/phantomjs/issues/10427
完成@sunomad 的回答。
如果您使用代码行:
$I->executeJS('return $("#element").is(":focus")');
您遇到此错误:
[Facebook\WebDriver\Exception\UnknownServerException] unknown error: $ is not a function
将 $
切换为 jQuery
$I->executeJS('return jQuery("#element").is(":focus")');
而且有效!
有没有办法断言某个元素(例如输入或 link)具有键盘焦点?我正在使用 Codeception 和 Selenium。在 http://codeception.com/docs/modules/WebDriver
上找不到任何内容一个可靠的消息来源告诉我这个有效:
$I->executeJS('return $("#element").is(":focus")');
测试愉快!
在您的 acceptance.suite.yml
:
modules:
enabled:
# ...
- Asserts
然后在验收测试中使用它:
$focus = $I->executeJS('return $("#element").is(":focus")');
$I->assertEquals(true, $focus);
适用于 Firefox 和 Chrome(通过 Selenium)。但是,它不适用于 PhantomJS - 请参阅此问题:https://github.com/ariya/phantomjs/issues/10427
完成@sunomad 的回答。 如果您使用代码行:
$I->executeJS('return $("#element").is(":focus")');
您遇到此错误:
[Facebook\WebDriver\Exception\UnknownServerException] unknown error: $ is not a function
将 $
切换为 jQuery
$I->executeJS('return jQuery("#element").is(":focus")');
而且有效!