2016-10-04 75 views
0

我有一個問題,而在瀏覽器堆棧上測試我的情況。我們面臨的問題不一致地被轉載。如何添加一個等待方法等待,直到一個特定的元素加載在紅寶石+ Cucumber2.0

使我的等待,直到一個元素是裝在用如下:

gift_no_btn1 = Capybara.find('giftingNoButton') 
gift_no_btn1.click 

這裏的問題是屏幕粘在我的預期元素沒有被加載,因此我的腳本的其他模塊中失敗。我已經讀過,在Capybara 2.0中find()方法被替換爲wait_untill方法。

+0

你看過嗎:http://stackoverflow.com/questions/8801845/how-to-make-capybara-check在一些js-has-run之後爲了顯示能見度?注意:js => true設置 – Sid

+0

是的,我做過。但它沒有幫助 – Pradeep

+0

你能發佈錯誤日誌嗎? – Sid

回答

2

Capybaras查找方法將等待Capybara.default_max_wait_time秒以顯示匹配元素。如果他們沒有等待足夠長的時間或者增加設置或覆蓋它與一個特定的發現:等待像

page.find :css, 'CSS selector for the element', wait: 10 

選項,將等待10秒存在的元素。在你的例子中,你傳遞了一個'giftingNoButton'的CSS選擇器,除非你使用自定義元素,否則這個選擇器並不真正有效。你可能想'#giftingNoButton'(查找id匹配)或'.giftingNoButton'(類匹配)