有没有一种方法可以断言一个元素(例如输入框或链接)是否具有键盘焦点?我正在使用Codeception和Selenium。在http://codeception.com/docs/modules/WebDriver上找不到任何信息。
有没有一种方法可以断言一个元素(例如输入框或链接)是否具有键盘焦点?我正在使用Codeception和Selenium。在http://codeception.com/docs/modules/WebDriver上找不到任何信息。
$I->executeJS('return $("#element").is(":focus")');
祝您进行愉快的测试!
对 @sunomad 的回答有更多细节。
在你的 acceptance.suite.yml
中启用 Codeception 的 Asserts Module:
modules:
enabled:
# ...
- Asserts
$focus = $I->executeJS('return $("#element").is(":focus")');
$I->assertEquals(true, $focus);
$I->executeJS('return $("#element").is(":focus")');
[Facebook\WebDriver\Exception\UnknownServerException] 未知错误:$ 不是一个函数
将 $
替换为 jQuery
$I->executeJS('return jQuery("#element").is(":focus")');
然后它就可以工作了!
:focus
不是HTML属性,它是CSS伪类。 - Thomas Landauer$I->executeJS('return $("#element").is(":focus")');
已经成功了! :-) 请将其作为答案发布,以便我可以接受它! - Thomas Landauer