per spec
Capybara.javascript_driver = :selenium
# ...
describe 'requires js', :js => true do
it 'will use the default js driver'
it 'will switch to one specific driver',
:driver => :webkit
end
Slide 22
Slide 22 text
set browser
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(
app, :browser => :chrome
)
end
Slide 23
Slide 23 text
in the wild
Slide 24
Slide 24 text
metaflop
web based platform for metafonts and
related type projects
modulator
experimental font generation
export as otf, webfont
Slide 25
Slide 25 text
spec sample 1
context 'when i change the unit width' do
it 'should show the loading indicator' do
fill_in 'param-unit-width', :with => 2
page.should have_selector(
'.preview-loading-text')
end
end
Slide 26
Slide 26 text
spec sample 2
context 'when i enable anatomy' do
it 'shows the anatomy image' do
within '#menu' do
click_link 'on'
end
page.should have_selector '#info-panel'
end
end
Slide 27
Slide 27 text
spec sample 3
context 'when i click the "webfont" link' do
it 'should call the font generator url' do
click_link('webfont')
current_url.should
include 'modulator/export/font/web'
end
end
Slide 28
Slide 28 text
problems
Slide 29
Slide 29 text
general
dialogs (downloads)
new openend windows
driver specialties
Slide 30
Slide 30 text
selenium
slow, startup
slow, random errors
no http response
no .trigger() (e.g. mouse over)
installation
Slide 31
Slide 31 text
solution
avoid selenium
use headless
test visual concerns manually