我正在嘗試編寫一些RSpec來驗證div
在定義的情況下是否可見,但我很難做到這一點。用水豚檢查能見度
爲了弄清楚如何使它工作(在真正的代碼中我有一塊JS添加了CSS類),我硬編碼了所有東西,但仍然無法檢測可見性。
代碼看起來像
#CSS
.hidden {
display: none;
}
.visible {
display: block;
}
#HTML
<div id="blah" class="hidden">blah</div>
#RSpec
scenario 'blah blah' do
expect(find('#blah').visible?).to be false
end
的我得到
Failure/Error: expect(find('#blah').visible?).to be false
expected false
got true
UPDATE1:我使用的是硒的webdriver。
#rails_helper
...
require 'selenium-webdriver'
...
UPDATE2:更新HTML
我錯過了什麼嗎? 如何檢查可見性?
謝謝(禮貌第一)
感謝您的幫助。我試過了你的最新建議,但是當我運行它時,我預計會發現css「#blah」,但沒有匹配。我也嘗試過'Capybara.ignore_hidden_elements = false',但我得到了同樣的結果。另請參閱UPDATE1。 – macsig
@macsig - 1st - 測試應用程序時不要使用ignore_hidden_elements = false,以後您會後悔的。第二 - 僅僅因爲你需要selenium-webdriver並不意味着你在使用selenium驅動 - 除非你用'js:true'元數據標記了你的測試,或者設置了'Capybara.default_driver =:selenium'你'仍然使用機架測試。你可以告訴,因爲在使用機架測試時瀏覽器不會打開運行你的測試。 - 3rd - 如果您使用的硒第一個會給出該錯誤,因爲該元素是隱藏的,所以你必須更具體,以你試過哪個建議 –
另外一個div需要一些內容或有維度設置要考慮可見 –