質問

私はカピバラと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] 

あなたはもっと複雑なテストを持っている場合は、値にものを設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top