1

私は cucumber/capybara/ruby が初めてで、php で構築された Web サイトで BDD を試しています。

チェック中:

さまざまなリンクにより、ユーザーは「prod-integration-mycompany.com」の正しいページに誘導されます。

状況:

このページにはいくつかのユニークなリンク (約 20 から 50) があり、リンクは次のようになります。

<a href= " /edition/123456"> BookTitle 01 by <a class="author" title= "Dan Romio" href=" >/author/Dan+Romio/112212">Dan Romio</a>'

<a href= " /edition/654321"> BookTitle 02 by <a class="author" title= "Maggi Smith" href=" >/author/Maggi+Smith/11332">Maggi Smith</a>

<a href= " /edition/56232"> BookTitle 03 by <a class="author" title= "Dan Romio" href=" >/author/Dan+Romio/112212">Dan Romio</a>
etc…

確認したいこと:

ユーザーが版のリンクをクリックしたときに、そのページの が BookTitle と一致するかどうかを確認したい。私は私のステップで一つずつそれを行うことができます

   When ……
       within(:css, 'dd[@id = "(css ID here)"]') do
      click_on '' or click_link (name of the link)
        end 
   end

   Then ………|text|
        check_destination(text)
   end

env.rb には、「check_destination()」のような関数とさまざまなアサートがあります。

      def check_destination(paramText)
      new_window = page.driver.browser.window_handles.last
      page.within_window new_window do
            path = URI.parse(current_url)
           assert_include(paramText,path)
        end
      end 

そう ?どうしたの ?:

問題は、それらのすべてを実行したい場合です。配列のキー=>値をどのように使用して、ステップでそれらをループするのかわかりません。それはテーブルですか、それはクラスですか、私はここで概念/アイデアを使い果たしています...何かアイデアはありますか? リンク ?ところで、私があなたの時間を無駄にしたら申し訳ありません。ありがとう。

4

1 に答える 1

0

私はとても愚かです.....ノードファインダーで page.all を使用することもできました。オプションを使用すると、やりたいことが何でもできます。 http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Finders

    within("within block here") do 
        element = page.all("specify the condition to get all the elements")
        puts element.count  # should provide no of elements
    end

最初の要素は element[0]."some method here" でアクセスできます

メソッドのすべてのリストは、http ://www.ruby-doc.org/gems/docs/c/capybara-rails-2-2-0.4.1.1/Capybara/Node/Element.html にあります。

于 2013-08-29T15:24:27.310 に答える