どのように私はカピバラを用いて画像のALT値をテストするのですか?
-
26-09-2019 - |
質問
私はカピバラとCSSセレクタを使用して、画像のaltテキストの値をテストするための手順を定義しようとしています。
私はREADME例に基づいて、入力値のための1つを書いてます:
Then /^I should see a value of "([^\"]*)" within the "([^\"]*)" input$/ do |input_value, input_id|
element_value = locate("input##{input_id}").value
element_value.should == input_value
end
しかし、私は外に...のようなもの、このいずれかを把握することはできません。
Then /^I should see the alttext "([^\"]*)"$/ do | alt_text |
element_value = locate("img[alt]").value
end
私はaltテキスト値を見つけることができますどのように誰もが知っていますか?
解決
カピバラので、あなたがその設定を変更しない限り、それはあなたの問題の一部である可能性があり、デフォルトでXPathを使用しています。 (あなたはlocate(:css, "img[alt]")
を使用することができます)。
私はこのような何かを見てXPathを使用してテストを記述します。
Then /^I should see the alt text "([^\"]*)"$/ do | alt_text |
page.should have_xpath("//img[@alt=#{alt_text}]")
end
Then /^I should see a value of "([^\"])" within the "([^\"])" input$/ do |input_value, input_id|
page.should have_xpath("//input[@id=#{input_id} and text()=#{input_value}]
end
他のヒント
Iはvalue
方法は、入力フィールドの値を返し、属性をテストするために使用することができないと考えています。
の代わりに、このかもしれない仕事のようなもの:
page.should have_css("img[alt=the_alt_text_you_are_expecting]")
をテーマに、別のバリエーションます:
Then /^I should see the image alt "([^"]*)"$/ do |alt_text|
page.should have_css('img', :alt => alt_text)
end
私はあなたが私のための画像が、この作品を見つけるために使用している方法についてはよく分かりません
expect(find_by_id("image-1")[:alt]).to have_content('tree')
あなたは要素を持っていたら、 [:"tag"]
はあなたの価値を提供します。
$thing = find_by_id("image-1")[:alt]
あなたはもっと複雑なテストを持っている場合は、値にものを設定します。
所属していません StackOverflow