如果Firefox未激活,则jyery自动完成的Capybara / Selenium测试无效

时间:2011-05-22 22:46:23

标签: firefox selenium capybara

我在capybara测试中遇到以下代码的问题(覆盖jquery自动完成选择)

page.evaluate_script %Q{ $('.ui-menu-item a:contains("#{target}")').trigger("mouseenter").click(); }

当Firefox在测试运行时处于活动状态时,测试通过。当它保持不活动状态时,测试失败。这似乎记录在this问题中,但我想知道是否有人找到了解决方法。

我使用的是OS X 10.6.7并尝试过FF 4和3.6.10

提前致谢!

2 个答案:

答案 0 :(得分:1)

作为一种替代方式,我使用capybara-webkit宝石代替硒与headless宝石一起使用,这对我来说很有用。

答案 1 :(得分:1)

由于你是在Mac上,你可以通过使用applescript强制firefox到前面来解决这个问题。将以下行添加到您的ruby代码中,无论您需要firefox在哪里:

`osascript -e \"tell application \\\"Firefox\\\" to activate\"`

从这里采取:https://gist.github.com/2427601