1

購入ボタンを表示できるチェックボックスをクリックしようとしています。使用しようとすると、「NoMethodError: undefined method 'eula' for Cart:0x101f54810」というエラーが表示されます。同一のチェックボックスが 2 つあるためと思われますが、確かではありません。

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

更新: オブジェクト タイプを変更して動作させようとしていました。要素は、私が試した最後のタイプでした。例をチェックボックスに戻しました(最初の試み)。ご指摘ありがとうございます。

4

3 に答える 3

3

page-object でクラス レベルのcheckboxメソッドを呼び出すと、5 つのメソッドが生成されます。呼び出し:

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

これらは、チェックボックスを使用するときに操作するメソッドです。

于 2012-05-12T12:29:20.953 に答える
2

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

check_eula

http://rubydoc.info/gems/page-object/0.6.3/PageObject/Accessors:checkboxを参照

于 2012-03-07T07:43:58.337 に答える
1

私はページオブジェクトにあまり詳しくありませんがelement、有効なアクセサはありますか? ドキュメントを見ているのですが、わかりません。checkboxおそらく、アクセサを使用する方が良いでしょうか?

余談ですが、同じようなチェックボックスが 2 つあるために問題が発生しているかどうかを確認する最も簡単な方法は、1 つを削除して、問題が解決するかどうかを確認することです。

于 2012-03-07T00:59:45.830 に答える