Thanks Oscar for your input. I was just trying to learn about CLASS today and see how I could implement Class Objects...I guess you will get me started on it => I will try it out tonight
But isn't Browser already a default Class Object of Watir? By following blogs, posts...I do not recall seeing others creating a specific class for the Browser creation? Jeff F On Wednesday, December 6, 2017 at 5:04:34 PM UTC-5, Oscar.Rieken wrote: > > why not just create a class and pass the instance of the browser to that > class or something like that its been a while since i have written ruby > > ###Somewhere > Before do > @browser = Watir::Browser.new :firefox > end > > ###login.rb > class Login > def initialize(browser) > @browser = browser > end > > def open_browser_at(destination="www.google.com") > @browser.goto destination > end > end > > ### Usage > login = Login.new(@browser) > login.open_browser_at > > > > > On Wed, Dec 6, 2017 at 4:04 PM, Jeff Fagot <[email protected] > <javascript:>> wrote: > >> Hello all, >> >> Main question == How to share the same browser instance across all my >> modules? >> Sub question 1 == What do you recommend between using hook.rb vs ruby >> module to instantiate a new Browser? >> Sub question 2 == Where do you store your modules? >> >> >> I explain: (I am using Cucumber+Watir) >> 1) Before, when it was fine: >> I first had one stepdef file with one module containing all my methods >> (including creation of new browser...). >> Now with everything I am reading and learning, I am trying to separate >> things in a more organized / re-usable / maintainable way, so: >> >> 2) After, where I am stuck: >> I created myself both the "envr,rb" && a new Module "Login_module" files >> (I also tried within hook.rb) to create my instance of @browser, then it >> seems to only be recognized to my stepdef but not by the other module...?? >> >> I am trying to make things right from start, therefore as I read about >> it, I am running away from using global variables at all. >> >> >> *Files overview:* >> >> *** ENVR.RB *** >> browser = Watir::Browser.new :firefox >> >> Before do >> @b = browser >> # @b = Watir::Browser.new :chrome >> # @b = Watir::Browser.new :ie >> end >> *********************************************** >> >> >> *** STEPDEF.RB *** >> Given (/^I am navigating to the testsite$/) do >> Login_module.open_browser_at *#### Here if instead I pass >> directly @b.goto "www.google.com <http://www.google.com>" => it works ###* >> end >> ****************************************************** >> >> *** LOGIN.RB *** >> module Login_module >> def self.open_browser_at >> @b.goto "www.google.com" >> end >> end >> ****************************************************** >> I would appreciate any help in sorting things out. >> >> Thanks in advance. >> Jeff Fagot >> >> -- >> -- >> Before posting, please read http://watir.com/support. In short: search >> before you ask, be nice. >> >> [email protected] <javascript:> >> http://groups.google.com/group/watir-general >> [email protected] <javascript:> >> >> --- >> 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] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- -- 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.
