有没有办法断言元素(例如输入或链接)是否具有键盘焦点?我正在使用Selenium的Codeception。在http://codeception.com/docs/modules/WebDriver
上找不到任何内容答案 0 :(得分:4)
一位可靠的消息来源告诉我这项工作:
$I->executeJS('return $("#element").is(":focus")');
快乐测试!
答案 1 :(得分:1)
在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
答案 2 :(得分:0)
完成@sunomad的回答。 如果您使用代码行:
map.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng coordinates = new LatLng(Double.parseDouble(gps_x), Double.parseDouble(gps_y));
googleMap.addMarker(new MarkerOptions().position(coordinates).icon(BitmapDescriptorFactory.fromBitmap(resizeMapIcons("ico_pin_small",80,88)))).showInfoWindow();
googleMap.moveCamera(CameraUpdateFactory.newLatLng(coordinates));
googleMap.animateCamera(CameraUpdateFactory.zoomTo(15));
map.onResume();
}
});
您收到此错误:
[Facebook \ WebDriver \ Exception \ UnknownServerException]未知错误:$不是函数
将$I->executeJS('return $("#element").is(":focus")');
切换为$
$ I-> executeJS('返回jQuery(“#element”)。is(“:focus”)');
它有效!