[wtr-general] Re: Embed screenshot in Watir-rspec report (not just for failed tests)

2014-05-06 Thread Arjen Ruiterkamp
Hi Jarmo,

You give some good points to think about. I agree that there should be no 
reason to look at the reports when they don't fail.
On the level on integration testing, we're mostly interested in the layout 
of the Flot graph (scaling/stacking of bars etc.) and I'm not sure if unit 
testing the data given to the Flot graph will cover this 'requirement'.
Maybe I can extract the location of a bar in the Flot graph using 
Javascript and then interact with that using Watir-webdriver.
This will require some more research on my part and is probably more 
related to Flot than Watir ;)

Regards,
Arjen

On Tuesday, April 15, 2014 12:07:04 PM UTC+2, Arjen Ruiterkamp wrote:

 Hello,

 For some acceptance tests I want to include screenshots, which are made 
 during my specs, to the report (thus not just for failing specs).
 The watir-rspec readme states:

 You can use Watir::RSpec.file_path to have links automatically in the html 
 report to the files created during tests.

 uploaded_file_path = 
 Watir::RSpec.file_path(uploaded.txt)File.open(uploaded_file_path, w) 
 {|file| file.write Generated File Input}file_field(:name = 
 upload-file).set uploaded_file_path

 Where do I put this code? When I put it in my spec_helper.rb, I get this 
 error: undefined method `file_field' for main:Object (NoMethodError)
 Anyone has some ideas what I'm doing wrong?


-- 
-- 
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.


[wtr-general] Re: Embed screenshot in Watir-rspec report (not just for failed tests)

2014-04-18 Thread Arjen Ruiterkamp
Hi Jarmo, thanks for replying

I'll clarify a bit what I would like in my rspec report.

I don't want to make a screenshot after *every *spec, just during some of 
the specs which test Flot graphs (a Javascript library for displaying 
graphs).
These Flot graphs are pretty hard to interact with using Watir-Webdriver 
thus I want to add a screenshot to the report (or a link to the screenshot) 
so our testers can quickly check if nothing weird is going on.

So my (simplified) spec looks like this: 
describe do something once logged in do

  it should screenshot the flot graph do
screenshot.save 'flot.png'
  end
end

Then the generated report should look like this:

https://lh6.googleusercontent.com/-vsIEoAadNmE/U1DTkUF0yoI/ACU/VzUQ0FuRcSM/s1600/rspec.png












Hopefully this clears up my question.

Is this possible with just watir-rspec or is some form of monkey patching 
required?

Regards,
Arjen

On Tuesday, April 15, 2014 12:07:04 PM UTC+2, Arjen Ruiterkamp wrote:

 Hello,

 For some acceptance tests I want to include screenshots, which are made 
 during my specs, to the report (thus not just for failing specs).
 The watir-rspec readme states:

 You can use Watir::RSpec.file_path to have links automatically in the html 
 report to the files created during tests.

 uploaded_file_path = 
 Watir::RSpec.file_path(uploaded.txt)File.open(uploaded_file_path, w) 
 {|file| file.write Generated File Input}file_field(:name = 
 upload-file).set uploaded_file_path

 Where do I put this code? When I put it in my spec_helper.rb, I get this 
 error: undefined method `file_field' for main:Object (NoMethodError)
 Anyone has some ideas what I'm doing wrong?


-- 
-- 
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.


[wtr-general] Re: Embed screenshot in Watir-rspec report (not just for failed tests)

2014-04-18 Thread Jarmo Pertman
Hi!

Unfortunately there's no built-in support for such a requirement in 
`watir-rspec` nor `rspec` itself.

However, you can achieve that quite easily by creating your own 
`HtmlFormatter`. Easiest would be to extend `Watir::RSpec::HtmlFormatter` 
(https://github.com/watir/watir-rspec/blob/master/lib/watir/rspec/html_formatter.rb)
 
and then override `example_passed` from 
`RSpec::Core::Formatters::HtmlFormatter` 
(https://github.com/rspec/rspec-core/blob/master/lib/rspec/core/formatters/html_formatter.rb#L48-L52)
 
and insert the links created during your specs from 
`@files_saved_during_example`. It seems to me that you need to create a 
different method for printing out the html than it is done currently by 
RSpec at `HtmlPrinter` 
(https://github.com/rspec/rspec-core/blob/master/lib/rspec/core/formatters/html_printer.rb#L29-L32).

Then, in your specs you just need to save the screenshot like this:
browser.screenshot.save Watir::RSpec.file_path(uploaded.txt) # = this 
creates a unique file name and adds it to the `@files_saved_during_example` 
array as well.

Also, refer to the code currently adding links to files created during 
failing specs to get some idea how it is done:
https://github.com/watir/watir-rspec/blob/master/lib/watir/rspec/html_formatter.rb#L47-L51

And don't forget to use your own HtmlFormatter in spec_helper instead of 
Watir::RSpec::HtmlFormatter.

The whole approach written above is not tested in practice, but seems to be 
doable in theory without monkey-patching, but using regular OO programming 
practices :)

Jarmo Pertman
-
IT does really matter - http://itreallymatters.net


On Friday, April 18, 2014 10:30:21 AM UTC+3, Arjen Ruiterkamp wrote:

 Hi Jarmo, thanks for replying

 I'll clarify a bit what I would like in my rspec report.

 I don't want to make a screenshot after *every *spec, just during some of 
 the specs which test Flot graphs (a Javascript library for displaying 
 graphs).
 These Flot graphs are pretty hard to interact with using Watir-Webdriver 
 thus I want to add a screenshot to the report (or a link to the screenshot) 
 so our testers can quickly check if nothing weird is going on.

 So my (simplified) spec looks like this: 
 describe do something once logged in do

   it should screenshot the flot graph do
 screenshot.save 'flot.png'
   end
 end

 Then the generated report should look like this:


 https://lh6.googleusercontent.com/-vsIEoAadNmE/U1DTkUF0yoI/ACU/VzUQ0FuRcSM/s1600/rspec.png












 Hopefully this clears up my question.

 Is this possible with just watir-rspec or is some form of monkey patching 
 required?

 Regards,
 Arjen

 On Tuesday, April 15, 2014 12:07:04 PM UTC+2, Arjen Ruiterkamp wrote:

 Hello,

 For some acceptance tests I want to include screenshots, which are made 
 during my specs, to the report (thus not just for failing specs).
 The watir-rspec readme states:

 You can use Watir::RSpec.file_path to have links automatically in the 
 html report to the files created during tests.

 uploaded_file_path = 
 Watir::RSpec.file_path(uploaded.txt)File.open(uploaded_file_path, w) 
 {|file| file.write Generated File Input}file_field(:name = 
 upload-file).set uploaded_file_path

 Where do I put this code? When I put it in my spec_helper.rb, I get this 
 error: undefined method `file_field' for main:Object (NoMethodError)
 Anyone has some ideas what I'm doing wrong?



-- 
-- 
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.


[wtr-general] Re: Embed screenshot in Watir-rspec report (not just for failed tests)

2014-04-18 Thread Jarmo Pertman
Now, after giving some thoughts about it - the way you try to solve it is 
not best solution for your problem. I mean, automated tests should be 
automated - if test does not fail then there should be any reason to look 
at the reports. By making test pass and then looking at the screenshot 
attached to the report to make sure that it really passed seems wrong.

Correct solution would be to test it on some lower level. For example, test 
the data given to the Flot library. Best solution would be to use 
JavaScript unit testing in that case, but you can also do it by using 
Watir::Browser#execute_script by returning some JavaScript object back to 
Ruby and then asserting there.

Jarmo Pertman
-
IT does really matter - http://itreallymatters.net


On Friday, April 18, 2014 1:58:13 PM UTC+3, Jarmo Pertman wrote:

 Hi!

 Unfortunately there's no built-in support for such a requirement in 
 `watir-rspec` nor `rspec` itself.

 However, you can achieve that quite easily by creating your own 
 `HtmlFormatter`. Easiest would be to extend `Watir::RSpec::HtmlFormatter` (
 https://github.com/watir/watir-rspec/blob/master/lib/watir/rspec/html_formatter.rb)
  
 and then override `example_passed` from 
 `RSpec::Core::Formatters::HtmlFormatter` (
 https://github.com/rspec/rspec-core/blob/master/lib/rspec/core/formatters/html_formatter.rb#L48-L52)
  
 and insert the links created during your specs from 
 `@files_saved_during_example`. It seems to me that you need to create a 
 different method for printing out the html than it is done currently by 
 RSpec at `HtmlPrinter` (
 https://github.com/rspec/rspec-core/blob/master/lib/rspec/core/formatters/html_printer.rb#L29-L32
 ).

 Then, in your specs you just need to save the screenshot like this:
 browser.screenshot.save Watir::RSpec.file_path(uploaded.txt) # = this 
 creates a unique file name and adds it to the `@files_saved_during_example` 
 array as well.

 Also, refer to the code currently adding links to files created during 
 failing specs to get some idea how it is done:

 https://github.com/watir/watir-rspec/blob/master/lib/watir/rspec/html_formatter.rb#L47-L51

 And don't forget to use your own HtmlFormatter in spec_helper instead of 
 Watir::RSpec::HtmlFormatter.

 The whole approach written above is not tested in practice, but seems to 
 be doable in theory without monkey-patching, but using regular OO 
 programming practices :)

 Jarmo Pertman
 -
 IT does really matter - http://itreallymatters.net


 On Friday, April 18, 2014 10:30:21 AM UTC+3, Arjen Ruiterkamp wrote:

 Hi Jarmo, thanks for replying

 I'll clarify a bit what I would like in my rspec report.

 I don't want to make a screenshot after *every *spec, just during some 
 of the specs which test Flot graphs (a Javascript library for displaying 
 graphs).
 These Flot graphs are pretty hard to interact with using Watir-Webdriver 
 thus I want to add a screenshot to the report (or a link to the screenshot) 
 so our testers can quickly check if nothing weird is going on.

 So my (simplified) spec looks like this: 
 describe do something once logged in do

   it should screenshot the flot graph do
 screenshot.save 'flot.png'
   end
 end

 Then the generated report should look like this:


 https://lh6.googleusercontent.com/-vsIEoAadNmE/U1DTkUF0yoI/ACU/VzUQ0FuRcSM/s1600/rspec.png












 Hopefully this clears up my question.

 Is this possible with just watir-rspec or is some form of monkey patching 
 required?

 Regards,
 Arjen

 On Tuesday, April 15, 2014 12:07:04 PM UTC+2, Arjen Ruiterkamp wrote:

 Hello,

 For some acceptance tests I want to include screenshots, which are made 
 during my specs, to the report (thus not just for failing specs).
 The watir-rspec readme states:

 You can use Watir::RSpec.file_path to have links automatically in the 
 html report to the files created during tests.

 uploaded_file_path = 
 Watir::RSpec.file_path(uploaded.txt)File.open(uploaded_file_path, w) 
 {|file| file.write Generated File Input}file_field(:name = 
 upload-file).set uploaded_file_path

 Where do I put this code? When I put it in my spec_helper.rb, I get this 
 error: undefined method `file_field' for main:Object (NoMethodError)
 Anyone has some ideas what I'm doing wrong?



-- 
-- 
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.


[wtr-general] Re: Embed screenshot in Watir-rspec report (not just for failed tests)

2014-04-17 Thread Jarmo Pertman
Hi!

Are you saying that you want to take screenshots after every spec?

Jarmo Pertman
-
IT does really matter - http://itreallymatters.net


On Tuesday, April 15, 2014 1:07:04 PM UTC+3, Arjen Ruiterkamp wrote:

 Hello,

 For some acceptance tests I want to include screenshots, which are made 
 during my specs, to the report (thus not just for failing specs).
 The watir-rspec readme states:

 You can use Watir::RSpec.file_path to have links automatically in the html 
 report to the files created during tests.

 uploaded_file_path = 
 Watir::RSpec.file_path(uploaded.txt)File.open(uploaded_file_path, w) 
 {|file| file.write Generated File Input}file_field(:name = 
 upload-file).set uploaded_file_path

 Where do I put this code? When I put it in my spec_helper.rb, I get this 
 error: undefined method `file_field' for main:Object (NoMethodError)
 Anyone has some ideas what I'm doing wrong?


-- 
-- 
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.