I'd recommend you to move your browser-based specs to requests/integration
directory instead, because this is what rspec-rails expects and gives you
some additional helpers. Here's the relevant code:
https://github.com/rspec/rspec-rails/blob/master/lib/rspec/rails/example.rb#L46-L51
Also, in that way you don't have to change the watir-rspec config as well.
Jarmo
On Thursday, March 20, 2014 3:27:19 PM UTC+2, Arjen Ruiterkamp wrote:
Ok, the problem apparently was with the tests being in
the/spec/acceptancefolder. The Rspec configuration isn't loaded for custom
folders by default..
Basically I had to change all the config.include lines in spec_helper.rbfrom:
config.include Watir::RSpec::Helper, :type = :request
to
config.include Watir::RSpec::Helper, :type = :acceptance
and in google_spec.rb change:
describe Google do
to
describe Google, :type = :acceptance do
On Wednesday, March 19, 2014 2:18:35 PM UTC+1, Arjen Ruiterkamp wrote:
Hello,
I am fairly new to Ruby and trying to setup some acceptance tests using
the watir-rspec gem.
Now https://github.com/watir/watir-rspec states:
- No need to use the @browser or $browser variables when executing
browser methods.
However, this doesn't seem to work for me.
What I've done so far:
rails new hello_world
Then added to the gemfile:
group :test do
gem rspec-rails
gem watir-rspec
gem watir-rails
end
Execute:
bundle install
rails generate rspec:install
watir-rspec install
This all seems to work fine so far
Now I created a file in the spec folder: /spec/acceptance/google_spec.rband
added the watir-rspec example:
require spec_helper
describe Google do
before { goto http://google.com; }
it has search box do
text_field(:name = q).should be_present
end
it allows to search do
text_field(:name = q).set watir
button(:id = gbqfb).click
results = div(:id = ires)
results.should be_present.within(2)
results.lis(:class = g).map(:text).should be_any { |text| text =~
/watir/ }
results.should be_present.during(1)
endend
Now when I run rspec I get the following output:
Results will be saved to tmp/spec-results/index.html
FF
Failures:
1) Google has search box
Failure/Error: before { goto http://google.com; }
NoMethodError:
undefined method `goto' for
#RSpec::Core::ExampleGroup::Nested_1:0x5715a50
# ./spec/acceptance/google_spec.rb:6:in `block (2 levels) in top
(required)'
2) Google allows to search
Failure/Error: before { goto http://google.com; }
NoMethodError:
undefined method `goto' for
#RSpec::Core::ExampleGroup::Nested_1:0x57c86d0
# ./spec/acceptance/google_spec.rb:6:in `block (2 levels) in top
(required)'
Finished in 0.051 seconds
2 examples, 2 failures
Failed examples:
rspec ./spec/acceptance/google_spec.rb:8 # Google has search box
rspec ./spec/acceptance/google_spec.rb:12 # Google allows to search
Obviously this can be solved by adding the browser variables but it
should be possible without.. right?
Relevant gem versions:
Using rspec-core (2.14.8)
Using rspec-expectations (2.14.5)
Using rspec-mocks (2.14.6)
Using rspec (2.14.1)
Using rspec-rails (2.14.1)
Using watir-classic (4.0.1)
Using watir-webdriver (0.6.8)
Using watir (5.0.0)
Using watir-rails (1.0.3)
Using watir-rspec (1.1.2)
Regards,
Arjen
--
--
Before posting, please read http://watir.com/support. In short: search before
you ask, be nice.
watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com
---
You received this message because you are subscribed to the Google Groups
Watir General group.
To unsubscribe from this group and stop receiving emails from it, send an email
to watir-general+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.