"type: :request" is used so that RSpec would include Watir-specific helpers 
only into specs where they are actually needed (so-called 
request/integration type specs) and not into every test (e.g. regular unit 
tests, controller tests, model tests etc.).

You can remove that additional filter, but I would recommend not to do 
that. Just make sure that somewhere in your spec/rails_helper.rb or 
spec/spec_helper.rb you have the following RSpec configuration option set:
config.infer_spec_type_from_file_location!


And then start creating your "request" type specs under spec/requests 
directory for example:
spec/requests/google_spec.rb

Also, I recommend you to use watir-rails for even easier integration.

Best Regards,
Jarmo

On Wednesday, October 5, 2016 at 12:46:10 AM UTC+3, Justin Ko wrote:
>
> The "type: :request" is added when Rails is detected, which happened 
> during your installation. As a result, each of the configurations only 
> applies to examples groups that have the same metadata of "type: :request". 
> I am not a Rails developer, so I cannot explain the rationale for adding 
> the filter. At any rate, instead of removing the filter, you could have 
> also gotten the tests to run by adding the metadata to the example group - 
> ie "RSpec.describe "Google", type: :request do"
>
> In terms of getting the second test to run, it looks there have been some 
> changes in the layout of the Google results. I had to update the test to be:
>
>   it "allows to search" do
>     text_field(name: "q").set "watir"
>
>     # Changed the locator, as well as added when_present to wait for the 
> layout changes
>     button(name: "btnG").when_present.click
>
>     results = div(id: "ires")
>     expect(results).to be_present.within(2)
>
>     # Changed to look at divs instead of lis
>     expect(results.divs(class: "g").map(&:text)).to be_any { |text| text 
> =~ /watir/ }
>
>     expect(results).to be_present.during(1)
>   end
>
> Justin
>
>
> On Tuesday, October 4, 2016 at 2:37:39 PM UTC-4, [email protected] 
> <javascript:> wrote:
>>
>> Thanks very much for the dialog on this, Justin. 
>> I know your time must be valuable.  
>>
>> Well, perhaps the mystery deepens. :)
>> At least for me it does. Lot for me to learn here. 
>>
>> Indeed, this entire block (with comments) was inside my 
>> ./spec/spec_helper.rb file:
>>
>> require "watir/rspec"
>>
>> RSpec.configure do |config|
>>   config.add_formatter(:progress) if config.formatters.empty?
>>   config.add_formatter(Watir::RSpec::HtmlFormatter)
>>
>>
>>   config.before :all, type: :request do
>>     @browser = Watir::Browser.new
>>   end
>>
>>
>>   config.after :all, type: :request do
>>     @browser.close if @browser
>>   end
>>
>>   config.include Watir::RSpec::Helper, type: :request
>>   config.include Watir::RSpec::Matchers, type: :request
>> end
>>
>>
>>
>> My Terminal scroll-back indicates I ran the installer:
>> $ watir-rspec install
>> Rails application detected.
>> Installing watir-rspec configuration into 
>> /Users/dks/Projects/spiker/spec/spec_helper.rb.
>>
>> Can anyone elaborate on the reason why the removal of the four 
>> occurrences of "type: :request", creates conditions where the goto appears 
>> to work properly. Well, honestly I did not try with only two or three. I 
>> removed all four. 
>>
>> In fact, the sample "google url" script on the github page appears to 
>> work to completion on my system. 
>>
>> May I ask further... in the sample script, why does the second test fail? 
>> I tried to fix it by changing the search string that presumably referenced 
>> the CSS id of the "Google Search" and "Feeling Lucky" button. However, when 
>> I change it to any reasonable id I discover when using GoogleChrome 
>> Developer Inspect Tool. I get various errors, including selenium 
>> ElementNotVisibleError, and Watir UnknownMethodException. I would not think 
>> making the second test pass was this challenging. Ha! How to make it pass?
>>
>> Many thanks.
>> AZ
>>
>>
>> On Tuesday, October 4, 2016 at 8:50:02 AM UTC-7, Justin Ko wrote:
>>>
>>> When I ran the install, the following was added to the spec_helper (with 
>>> the comments removed for brevity):
>>>
>>> require "watir/rspec"
>>>
>>> RSpec.configure do |config|
>>>   config.add_formatter(:progress) if config.formatters.empty?
>>>   config.add_formatter(Watir::RSpec::HtmlFormatter)
>>>
>>>   config.before :all do
>>>     @browser = Watir::Browser.new
>>>   end
>>>
>>>   config.after :all do
>>>     @browser.close if @browser
>>>   end
>>>
>>>   config.include Watir::RSpec::Helper
>>>   config.include Watir::RSpec::Matchers
>>> end
>>>
>>>
>>> The "goto" method is added to examples by the "config.include 
>>> Watir::RSpec::Helper" line. Though you will likely want to include all of 
>>> these lines if you are just starting out.
>>>
>>> Justin
>>>
>>>
>>>

-- 
-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

[email protected]
http://groups.google.com/group/watir-general
[email protected]

--- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to