我有一個擴大表/行的問題。我做了一些Google搜索,並沒有找到任何有關這種情況的信息。水豚/ Poltergeist,擴大手風琴表擴大間歇性失敗
基本上我有一個5列左右的表格。點擊後將展開表格並顯示更多信息。在這個新信息裏面有一個按鈕,試圖點擊。
這是該行的表iself的HTML:
<thead>
<tbody>
<tr class="odd" data-row="0" data-source="/user/01" role="row">
<td class="sort_1">John Doe</td>
<td>Person</td>
<td>Yes</td>
<td>Yes</td>
<td> Building 2 </td>
</tr>
<more table rows here repeated>
</tbody>
</table>
表HTML本身有一個ID和一切,但我需要該行本身內點擊列中的任何一個獲得它擴大。
我試過這個:page.find('td', :text => 'John Doe').click
雖然它確實工作成功,但在截圖後它似乎沒有顯示任何擴展...所以我不知道擴展表將在這種情況下工作。但是,在重新運行它後,它工作......但它不一致。
波紋妖精展示的擴展表格幾乎沒有顯示的截圖(就像是一條擴展)。所以也許它沒有等待足夠的時間出現?我不確定。
當表擴展時,它基本上會產生一個新的<tr user-data-row="5">
,它會在展開時出現在上面的行的下面。
僅供參考這裏是按鈕的HTML,我膨脹後點擊:
<div class="col-xs-12 col-sm-5 col-md-5" style="">
<ul class="list-unstyled">
<ul class="list-inline">
<li>
<a class="btn btn-sm btn-default" href="/stuff/site" data-method="post" rel="no-follow" data-confirm="Generic: Confirmation Dialogue">The Button</a>
</li>
<li> </li>
</ul>
</div>
我開始還以爲這是在確認對話框彈出絆倒了,但鬼驅人應該避免那些默認。它似乎這樣做......所以我不知道什麼可能是問題。由於它不一致,我認爲這可能是一個時間問題。我Capybara.default_max_wait_time = 15
因爲DB是一個虛擬機,但它並沒有成爲一個問題,到目前爲止....
編輯: 失敗的代碼似乎是在此之後: page.find(「TD」, :text =>'John Doe')點擊 click_link('The Button')
它似乎在大約50%的時間內工作。
奇怪的是,它似乎總是第一次失敗,然後第二次工作。我不確定這是爲什麼,因爲這些時間之間沒有任何變化。 – msmith1114
什麼是失敗 - 顯示您的測試代碼 - 什麼是水豚應該等待?顯示的行如何?它被動畫成可見性(slide_down等)?它是否被庫中的動畫所關閉,您可以在測試模式下關閉動畫? –
我在一段代碼中添加了它,它失敗了(這沒什麼奇怪的,直接點擊文本本身來打開手風琴表,然後點擊一個按鈕)。新行被動態化爲一種「揭示」,即:單擊原始行上的任何位置都會導致新行在下面進行動畫/打開(新行需要大約一秒才能完全顯示)。據我所知,沒有庫允許我關閉測試模式。 – msmith1114