2012-03-07 18 views
1

購入ボタンを表示するためのチェックボックスをクリックしようとしています。私はそれを使用しようとすると、 "NoMethodError:未定義のメソッド 'eula' for Cart:0x101f54810というエラーが発生します。私は2つの同一のチェックボックスがあるためかもしれないと思うが、私は確信していない。Page-Objectの重複チェックボックスが定義されていませんか?

HTML:

<p id="eula-box" class="annoy cc"><input type="checkbox" name="terms_of_service" value="terms_of_service" tabindex=20 />I have read & agree to the End-User License Agreement.</p> 
<p id="eula-box" class="annoy pp"><input type="checkbox" name="terms_of_service" value="terms_of_service" tabindex=20 />I have read & agree to the End-User License Agreement.</p> 

私のクラス:

require 'rubygems' 
require 'page-object' 
require 'page-object/page_factory' 
require 'watir-webdriver' 

CART_URL = 'http://www.anonymizer.com/cart/checkout.html?SKU=ANONUNV12' 

class Cart 
     include PageObject 
     page_url CART_URL 
     checkbox(:eula, :class=>"annoy_cc") 
     button(:purchase, :value=>'purchase') 

     def complete_order(data = {}) 
      self.eula.click 
     end 
end 

Udpated:私はそれが動作するように取得しようと周りのオブジェクト・タイプを変更されました。要素が私が試した最後のタイプでした。私は私の例をチェックボックスに戻しました(私の元の試み)。それを指摘してくれてありがとう。

+1

本当に同じIDを持っていますか?それは無効なHTMLです。 –

答えて

2

PageObjectのcheckboxは、次のメソッドを生成してチェック(クリック)します。

check_eula 

あなたはそれが5つのメソッドを生成し、ページオブジェクトのクラスレベルcheckboxメソッドを呼び出すとhttp://rubydoc.info/gems/page-object/0.6.3/PageObject/Accessors:checkbox

+0

RTFM !?私はそれが予想外のものだったことを除けば、恥ずかしいと感じるだろう。 –

1

私はページオブジェクトに慣れていませんが、elementは有効なアクセサですか?私はthe documentationを見ていて、それを見ません。おそらくcheckboxアクセサを使用する方が良いでしょうか?

2つの同様のチェックボックスを使用することによって問題が発生しているかどうかを確認する最も簡単な方法は、問題を解消する方法です。

3

を参照してください。コール:

checkbox(:summary, :id => 'valid_checkbox') 

が生成されます。

check_summary  # check the checkbox 
uncheck_summary # uncheck the checkbox 
summary_checked? # returns true if it is checked. otherwise false 
summary_element # returns the Checkbox object 
summary?   # returns true if the element exists. otherwise false 

これらのチェックボックスを使用した場合と対話する方法です。

関連する問題