Cucumber (1.1.9) テストで watir-webdriver (0.5.3) を使用しています。<acronym>
タグのテキスト値を確認しようとしています。<div>
コードはレガシーで、またはタグに変更する計画がありますが、それまでの<span>
間、対処する必要があります。私が最初に試みた:
@browser.acronym(:id => /expense_code(.*)/).text
次のエラーを受け取りました。
NoMethodError: undefined method `acronym' for #<Watir::Browser:0x33e9940>
タグ オブジェクトがどのように作成されているかを確認するために Watir コードを調べたところ、HTML5 仕様に基づいて動的に作成されているように見えますがelement.rb
、仕様から作成されていないというコメントも見つかりました。 . とにかく、オブジェクトを継承して<span>
オブジェクトと呼ぶ簡単な方法がわかりませんでした<acronym>
。そこで、代替案を調べたところ、要素オブジェクトが見つかりました。
@browser.element(:id => /expense_code(.*)/).text
このコードは機能しますが、ページをトラバースするのに約 1 分かかります。タグIDは実際には動的に生成され、現在それらの値を把握する方法がないため、今のところ正規表現にこだわっています。これは、タグが実際にどのように見えるかです:
<acronym class="editable select fillwith:exp_codes default:E100"
title="Expense Code: Expenses" id="expense_code114_582_10777">
E100 </acronym>
テストのパフォーマンスを向上させる方法についてご意見をいただければ幸いです。