WebDriverにはイベント方式の概念として下記の2つが存在する
synthesized events
Javascriptを使って一連のイベントを合成し、あたかもユーザーがその操作をしたのと
同じように動作させる概念
Native events
ユーザがWebアプリケーションに対する操作を正確にエミュレートするという概念
当然前者は実際に操作するわけではないから、本当の意味でテストできているわけではない。
selenium2.21まででいうとFireFoxはNativeで動作していたが、IEはsynthsizedで動作していた。
IEが他のブラウザよりselenium実行速度が遅いのはこれが原因の一つでもある。
2.22からIEもNativeで動作しているので、本当の意味で『エミュレート』出来ていることとなる
IEをあえてsynthsizedで動作させたいときは
DesiredCapabilities capability = DesiredCapabilities.internetExplorer();
capability.setCapability("enableNativeEvents",false);
WebDriver driver = new InternetExplorerDriver(capability);
とすればいい、やる意味ないけど。
0 件のコメント:
コメントを投稿