我继承了一些 Selenium Webdriver 代码(Ubuntu 11.10、Xvfb + Selenium 2.19.0 和 Firefox 10.0.2,因为这是我能够在实际安装的时间内找到的唯一组合。)
注意:我没有使用旧的 Selenium 1.0 系统,大多数文档似乎都集中在该系统上。
我的测试运行非常缓慢。简单的鼠标移动需要半秒钟以上。
查看(未记录?!)/tmp/native_ff_events_log 文件,我发现每个鼠标操作都被分成更小的部分:
D14:14:37:070 cpp/webdriver-interactions/interactions_linux_mouse.cpp(307) ---------- starting mouseMoveTo: 0x7fbad37546a0---------
D14:14:37:070 cpp/webdriver-interactions/interactions_linux_mouse.cpp(328) From: (39, 169) to: (350, 86)
D14:14:37:070 cpp/webdriver-interactions/interactions_linux_mouse.cpp(329) Distance: 321 steps: 64
D14:14:37:070 cpp/webdriver-interactions/interactions_linux_mouse.cpp(339) Moving to: (39, 169)
D14:14:37:070 cpp/webdriver-interactions/interactions_linux_mouse.cpp(231) Type: motion time: 401697248
D14:14:37:080 cpp/webdriver-interactions/interactions_linux_mouse.cpp(339) Moving to: (43, 167)
D14:14:37:080 cpp/webdriver-interactions/interactions_linux_mouse.cpp(231) Type: motion time: 401697258
D14:14:37:090 cpp/webdriver-interactions/interactions_linux_mouse.cpp(339) Moving to: (48, 166)
D14:14:37:090 cpp/webdriver-interactions/interactions_linux_mouse.cpp(231) Type: motion time: 401697268
D14:14:37:100 cpp/webdriver-interactions/interactions_linux_mouse.cpp(339) Moving to: (53, 165)
D14:14:37:100 cpp/webdriver-interactions/interactions_linux_mouse.cpp(231) Type: motion time: 401697278
D14:14:37:110 cpp/webdriver-interactions/interactions_linux_mouse.cpp(339) Moving to: (58, 163)
似乎有一些故意放慢速度,类似于传统的 Selenium setMouseSpeed(pixels)
,它将拖放操作分解为 10 个像素的子移动。
我没有使用拖放。另外,我相信这种方法不再适用于我。
我不认为这些子运动是必要的,删除它们可能会大大加快运行速度。
有没有办法在 Selenium 2 的 Webdriver 中增加鼠标步的大小?