我想測試一個簡單的標題複選框檢查表中的所有複選框。爲什麼javascript不檢查我的複選框?
測試低於:
scenario 'select all enrolments', js: true do
check 'all_enrolment_presentations'
expect(page).to have_css('.enrolment-presentation-listing input[type="checkbox"]:checked', count: 1)
end
這種失敗,但如果我更改方案有點
scenario 'select all enrolments', js: true do
sleep 3
check 'all_enrolment_presentations'
expect(page).to have_css('.enrolment-presentation-listing input[type="checkbox"]:checked', count: 1)
end
它的工作原理。
我測試了一些其他選擇器,他們都有相同的影響。我不想添加睡眠語句來獲得這樣的東西。我一定在做一些不正確的事情。
當我運行沒有sleep子句的測試時,它似乎找到了控件(它被突出顯示),但它沒有被檢查。爲我的意思查看截圖。
我的問題是,爲什麼會出現這種情況,我怎麼能解決我的問題?
注意我用的導軌4.2.4和2.5.0水豚
什麼JS綁定到全選複選框?我的猜測是這是你檢查框和JS初始化之間的競爭條件。您也可以嘗試點擊框,而不是檢查它。找到(...)。點擊 –