Cheezy の pageobject を使用して、フィールドセット内の select_list にアクセスしようとしています。
html の合計は投稿するには長すぎます (フィールドセットだけで 200 行をはるかに超えます) が、すべての id などを含む行を提供できます。
フィールドセット:
<fieldset class="dartPayer-Insurance" style="width: 730px;">
選択リスト:
<select id="dartPayer-Payer" style="width: 235px;">
私が使用しようとしているページオブジェクトの行:
select_list(:payer_insurance){ element(:class => "dartPayer-Insurance").select_list_element(:id => "dartPayer-PayerList") }
きゅうりのテストを実行しようとすると、次のエラーが表示されます。
(eval):1: syntax error, unexpected '(', expecting $end
{:id=>"dartPayer-Insurance"}(identifier)
^ (SyntaxError)
このエラーは、次の行で select_list を設定しようとすると発生します。
self.send(field, input) (Where field is "payer_insurance=" and input is "UMA")
この行は他のページでも機能するため、これが問題の一部ではないことは確かです。pageobject 行の単純な構文だと思いますが、私がしようとしているように pageobject を使用するためのドキュメントが見つかりません。私が見つけることができる唯一の参照は、私が尋ねた以前の質問の中にあります: Accessing a table within a table (Watir/PageObject)
誰かが私が間違ったことを教えてもらえますか?
よろしくお願いいたします。
更新:問題を再現する例:
次の html を含むページがあるとします。
<fieldset class="dartPayer-Insurance" style="width: 730px;">
<select id="dartPayer-Payer" style="width: 235px;">
<option value="UMA">UMA</option>
</select>
</fieldset>
そして、次のように定義されたページ オブジェクト:
class MyPage
include PageObject
select_list(:payer_insurance){ element(:class => "dartPayer-Insurance").select_list_element(:id => "dartPayer-PayerList") }
def input_payer(field, input)
self.send(field, input)
end
end
次のコードを実行します。
browser = Watir::Browser.new
browser.goto('C:\Scripts\Misc\Programming\PageObject\test.htm')
page = MyPage.new(browser)
field = "payer_insurance="
input = "UMA"
page.input_payer(field, input)
次の例外を生成します。
C:/Ruby193/lib/ruby/gems/1.9.1/gems/page-object-0.9.0/lib/page-object/platforms/watir_webdriver/page_object.rb:968:in `instance_eval': (eval):1: syntax error, unexpected '(', expecting $end (SyntaxError)
{:class=>"dartPayer-Insurance"}(identifier)
^
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/page-object-0.9.0/lib/page-object/platforms/watir_webdriver/page_object.rb:968:in `find_watir_element'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/page-object-0.9.0/lib/page-object/platforms/watir_webdriver/page_object.rb:907:in `element_for'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/page-object-0.9.0/lib/page-object/element_locators.rb:11:in `element'
from pageobject.rb:7:in `block in <class:MyPage>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/page-object-0.9.0/lib/page-object.rb:379:in `instance_eval'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/page-object-0.9.0/lib/page-object.rb:379:in `call_block'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/page-object-0.9.0/lib/page-object/accessors.rb:1089:in `block in standard_methods'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/page-object-0.9.0/lib/page-object/accessors.rb:246:in `block in select_list'
from pageobject.rb:10:in `input_payer'
from pageobject.rb:25:in `<main>'