私はテストアサーションを持っています:-
expect(browser.text_fields[2].id).to eq "new_user_email"
合格しましたが、次の非推奨警告メッセージが表示されます。
Locating textareas with '#text_field' is deprecated.
Please, use '#textarea' method instead.
テストを次のように変更してみました
expect(browser.textarea[2].id).to eq "new_user_email"
しかし得た
undefined method `[]' for #<Watir::TextArea:0x00000001c128d8>
そして私は試しました
expect(browser.textareas[2].id).to eq "new_user_email"
そして得る
Failure/Error: expect(browser.textareas[2].id).to eq "new_user_email"
expected: "new_user_email"
got: ""
私はソースを見ましたが、それは私を助けませんでした:-
VALID_TEXT_FIELD_TAGS = %w[input textarea]
def tag_name_matches?(tag_name, _)
VALID_TEXT_FIELD_TAGS.include?(tag_name)
end
def by_id
el = super
el if el and not NON_TEXT_TYPES.include? el.attribute(:type)
end
def validate_element(element)
if element.tag_name.downcase == 'textarea'
warn "Locating textareas with '#text_field' is deprecated. Please, use '#textarea' method instead."
end
super
end
非推奨の警告を取り除くにはどうすればよいですか?