Ruby,Rails和TDD的新手。我使用RSpec和Capybara和Capybara webkit。Ruby on Rails - RSpec Javascript測試與水豚(RoR新)
嘗試測試頁面上是否存在div元素。
Login module should have a module container with id mLogin
Failure/Error: page.evaluate_script('$("div#mLogin").attr("id")').should eq "mLogin"
expected: "mLogin"
got: nil
冉JS瀏覽器開發工具,並獲得 「mLogin」,而不是零:
測試代碼:與
require 'spec_helper'
describe "Login module" do
before do
visit root_path
end
it "should have a module container with id mLogin" do
page.should have_css('div#mLogin')
end
it "should have a module container with id mLogin", :js => true do
page.evaluate_script('$("div#mLogin").attr("id")').should eq "mLogin"
end
end
第一個測試通過,但第二次測試失敗。
任何想法?謝謝。
yeh我只是想看看我能否得到它的工作。這是我認爲的另一種方式,評估返回結果並執行不。這是奇怪,因爲: page.evaluate_script(「1 + 1」)應EQ 2級 的作品,但我的id來獲取腳本失敗 – 2013-04-27 11:10:02
'execute_script'總是返回nil-'evaluate_script'返回評估腳本,爲您的文檔引用說... – 2014-01-02 21:37:07