Skip to content

Instantly share code, notes, and snippets.

@twalpole
Last active March 25, 2017 06:14
Show Gist options
  • Save twalpole/a81e89ea59ac6e57ead91dd6eed12041 to your computer and use it in GitHub Desktop.
Save twalpole/a81e89ea59ac6e57ead91dd6eed12041 to your computer and use it in GitHub Desktop.
require "capybara/dsl"
# require "selenium/webdriver"
require "capybara/poltergeist"
# require "capybara/webkit"
html = DATA.read
app = proc { |env| [200, { "Content-Type" => "text/html" }, [html] ] }
Capybara.register_driver :marionette do |app|
Capybara::Selenium::Driver.new(
app,
browser: :firefox
)
end
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(
app,
browser: :chrome
)
end
[:poltergeist].each do |driver|
begin
sess = Capybara::Session.new(driver, app)
puts driver
sess.visit("/")
sess.find_field("Crop Year*")
sess.assert_selector(:field, "Crop Year*")
sess.assert_selector(:field, "Crop Year*", exact: true)
sess.assert_selector(:field, "Crop Year")
sess.assert_no_selector(:field, "Crop Year", exact: true)
end
end
__END__
<!doctype html>
<html>
<head>
<title>Some title</title>
</head>
<body>
<div class="number input required numeric stringish form-group" id="contract_item_crop_year_input">
<span class="form-label">
<label for="contract_item_crop_year" class=" control-label">Crop Year<abbr title="required">*</abbr></label>
</span>
<span class="form-wrapper">
<input id="contract_item_crop_year" step="any" class="form-control" type="number" value="2016" name="contract_item[crop_year]">
</span>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment