Add xpath query for input type=button into XPath.button
This commit is contained in:
parent
f1b84510b3
commit
9ad3ad3a25
|
@ -69,9 +69,9 @@ module Capybara
|
||||||
end
|
end
|
||||||
|
|
||||||
def button(locator)
|
def button(locator)
|
||||||
xpath = append("//input[@type='submit' or @type='image'][@id=#{s(locator)} or contains(@value,#{s(locator)})]")
|
xpath = append("//input[@type='submit' or @type='image' or @type='button'][@id=#{s(locator)} or contains(@value,#{s(locator)})]")
|
||||||
xpath = xpath.append("//button[@id=#{s(locator)} or contains(@value,#{s(locator)}) or contains(.,#{s(locator)})]")
|
xpath = xpath.append("//button[@id=#{s(locator)} or contains(@value,#{s(locator)}) or contains(.,#{s(locator)})]")
|
||||||
xpath = xpath.prepend("//input[@type='submit' or @type='image'][@value=#{s(locator)}]")
|
xpath = xpath.prepend("//input[@type='submit' or @type='image' or @type='button'][@value=#{s(locator)}]")
|
||||||
xpath = xpath.prepend("//button[@value=#{s(locator)} or text()=#{s(locator)}]")
|
xpath = xpath.prepend("//button[@value=#{s(locator)} or text()=#{s(locator)}]")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -138,6 +138,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
<input type="button" name="form[fresh]" id="fresh_btn" value="i am fresh"/>
|
||||||
<input type="submit" name="form[awesome]" id="awe123" value="awesome"/>
|
<input type="submit" name="form[awesome]" id="awe123" value="awesome"/>
|
||||||
<input type="submit" name="form[crappy]" id="crap321" value="crappy"/>
|
<input type="submit" name="form[crappy]" id="crap321" value="crappy"/>
|
||||||
<input type="image" name="form[okay]" id="okay556" value="okay"/>
|
<input type="image" name="form[okay]" id="okay556" value="okay"/>
|
||||||
|
|
|
@ -166,6 +166,10 @@ describe Capybara::XPath do
|
||||||
@driver.find(@query).first.value.should == 'click_me'
|
@driver.find(@query).first.value.should == 'click_me'
|
||||||
@query = @xpath.button('Click me!').to_s
|
@query = @xpath.button('Click me!').to_s
|
||||||
@driver.find(@query).first.value.should == 'click_me'
|
@driver.find(@query).first.value.should == 'click_me'
|
||||||
|
@query = @xpath.button('fresh_btn').to_s
|
||||||
|
@driver.find(@query).first.value.should == 'i am fresh'
|
||||||
|
@query = @xpath.button('i am fresh').to_s
|
||||||
|
@driver.find(@query).first[:name].should == 'form[fresh]'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue