测试 Capybara 为什么必须要慢下来?

xwf287 · 2013年05月31日 · 最后由 ericwu 回复于 2013年08月12日 · 2643 次阅读

请看下面的代码 片段: 假设一道题目有 4 个答案(一个对的,3 个错的),这个功能是测试删除其中一个答案(最后一个)功能。 answer_num_before=page.all("div.answer").size find("div.answer:last-child").find("span.actions").click_on 'delete'#删掉最后一个 page.driver.browser.switch_to.alert.accept answer_num_after=page.all("div.answer").size answer_num_before.should equal(answer_num_after+1)

本来期望 answer_num_after 比 answer_num_before 少一个,但测试结果却显示两者是相同的。

没办法,只能让测试慢下来, require 'selenium-webdriver'

module ::Selenium::WebDriver::Remote class Bridge def execute(*args) res = raw_execute(*args)['value'] sleep 0.5 res end end end 在测试的头部加上上面这段,这时,结果变绿了。

好奇怪啊,哪位高人能够指点一下迷津?

@xwf287 是你的 Firefox 不是最新版本的原因,然后用 Capybara 就会有这个问题。升级 Firefox 到最新版本,就可以解决这个问题。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号