0

たとえば、span タグに動的なコンテンツ ポピュレーションがある場合、

  .detail
    %label Sku:
    %span.#sku.detail= @deal.sku

上記の例の取引に sku が関連付けられていない場合、html の span 要素は次のようになり、コンテンツは含まれません。

 <div class="detail">
<label>Sku:</label>
<span id="sku" class="detail"></span>
 </div>

たとえば、SitePrism 要素がこれを探すように定義されている場合、

element :sku, "#sku"

「@sample_page」が自分の Site Prism ページへの参照であり、sku を次のように参照する場合

@sample_page.sku.text

Capybara::ElementNotFound Exception が発生します

4

2 に答える 2

0

スパンにコンテンツがない場合、スパンは表示されないため、見つかりません。それでも見つけたい場合は、要素を次のように変更します。

element :sku, "#sku", visible: false
于 2015-04-24T19:14:57.100 に答える
0

これを回避するには、以下のようにチェックします

@sample_page.has_sku?

要素が利用可能な場合は、必要に応じてアクションを続行します。

これにより、Capybara::ElementNotFound 例外が省略されます

于 2015-03-09T09:19:43.637 に答える