2012-12-13 16 views
5

は、私のようなイメージを持っている想像してみてください。私はpage_object宝石を使用して、私は同じように、要素としてイメージがあるとしますよ:私は使用することができますATTRIBUTE_VALUE取得するにはpage_object要素のattribute_valueを取得する方法は?</p> <pre><code>the_image = @browser.image(:id, 'image01') </code></pre> <p>そのクラスの値を取得する方法が考えられます:</p> <pre><code>image_status = the_image.attribute_value('class') </code></pre> <p>[OK]を

image(:the_image, :id => 'image01') 

image_status = the_image_element.attribute_value('class') 

を...しかし、私は非推奨の警告が出ます:

*** DEPRECATION WARNING 
*** You are calling a method named attribute_value at page.rb:68:in `get_status'. 
*** This method does not exist in page-object so it is being passed to the driver. 
*** This feature will be removed in the near future. 

page_object要素を使用してclass値を取得するにはどうすればよいですか?確かに答えは簡単ですが、私はそれを見つけられませんでした。方法を教えてもらえますか?

ありがとうございます!

+0

エラーがあなたのページのオブジェクトクラスのコンテキストで示されていない:

は、ページ・オブジェクトの古いバージョンのために、あなたは#attributeメソッドを使用する必要があります。多分あなたはその質問にもっと多くを加えることができますか? –

+0

こんにちはDave!エラーはなく、ただ警告のみでした。実際、この方法は正しく機能します。問題は、ページオブジェクトをネイティブに使用して属性値を取得する方法がわかりませんでした。 Justin Koは私に答えを与える: 'yourelement_element.attribute( 'attribute_type')' – Ezetha

答えて

5

Page-ObjectとWatirの最新バージョン(それぞれv2.2.1とv6.7.3)を使用している場合、attribute_valueは廃止予定の警告を表示しなくなります。 #attribute#attribute_valueの両方がサポートされています。

image_status = the_image_element.attribute('class') 
+0

あなたは絶対に正しいです。私はgoogledとCheezyの本を検索し、何も見つかりませんでした。 Cheezy Rubydocの情報も見ましたが、正しく検索しなかったようです...次回は3回チェックします。答えをありがとう! – Ezetha

+0

Youtのリンクは不幸にも壊れています – SSchneid

+0

ありがとう@SSchneid。私はリンクを削除しました。メソッドはもはやPage-Object gemに直接定義されていません。基本的な 'Watir :: Element'に委譲されています。 –

関連する問題

 関連する問題