Hi Lakshya

Here is the hooks.rb used in our project..

Eventhough the the browser is assigned to instance variable @browser we 
still get to see all the details you mentioned. So Im not quite getting the 
difference between the two Before hooks

require 'rubygems'
require 'page-object'
require 'watir'
require 'page-object/page_factory'
require 'log4r'
require 'cucumber'
require 'selenium-webdriver'
require 'fig_newton'
require 'watir-screenshot-stitch'
require 'mini_magick'

args = ['--allow-running-insecure-content']
browser = Watir::Browser.new :chrome, options: {args: args}
$code_retry = 30

Before do
 @browser = browser
end


Before do|scenario|
        ENV['HTTP_PROXY'] = ENV['http_proxy'] = nil
        DataMagic.load_for_scenario(scenario)
        @browser.window.maximize
        @browser.driver.manage.timeouts.implicit_wait = 0
        @browser.cookies.clear
        @browser.driver.manage.window.maximize
        PageObject.default_element_wait=(10)
        PageObject.javascript_framework = :jquery
        #Selenium::WebDriver.logger.level = :info
end #before scenario




# "after all"
After do |scenario|
  @browser.execute_script("javascript:localStorage.clear();")
  @browser.cookies.clear
     if (scenario.passed?)
       puts 'Scenario Passed !'
     else
       puts 'Scenario Failed !'
     end
end



AfterStep('@screen') do
   filename = DateTime.now.strftime("%d%b%Y%H%M%S")
   @browser.screenshot.save 
("C:/Users/lohit.kotian/Documents/Automation/screenshots-cucumber/#{filename}.png")
   #@browser.screenshot.save 
("C:/Jenkins/workspace/screenshots-cucumber/#{filename}.png")
end


Around('@multipletimes') do |scenario, block|
  $counter = 0
  $total_times_to_run = 6
  while $counter < $total_times_to_run  do
     block.call
     puts("Total times scripts were repeated = #$counter" )
     $counter +=1
  end
end


After do |scenario|
  take_screenshot(@browser, scenario)
end

at_exit do
 browser.close
end

# need to check this code for the full page screenshots as a part of the 
enhancement

  def take_screenshot(browser, scenario)
    time = Time.now.strftime("%Y-%m-%d_%H%M")
    opts = {:page_height_limit => 5000}
    if scenario.failed?
      scenario_name = scenario.name.gsub(/[^\w\-]/, ' ')
      screenshot_path =  "#{scenario_name}" + "_failure_" + time
      
@browser.screenshot.save_stitch("./screenshots/#{screenshot_path}.png", 
browser, opts)
    end
  end





On Tuesday, 29 January 2019 16:47:10 UTC+11, NaviHan wrote:
>
> Hi all
>
> Im just looking for some good documentation which explains the usage of 
> blocks in hooks.rb
>
> For example "Before", "After" , "AfterStep" etc...
>
> Thanks in advance
>

-- 
-- 
Before posting, please read 
https://github.com/watir/watir_meta/wiki/Guidelines-for-Posting-to-Watir-General-Google-Group.
 
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