 a number of ways to do this. You can use the DataTable class, use a POJO that has a constructor matching the data, etc. This will be a bit different between languages but again, the principle remains the same.
You can find a broader range of examples in this blog post
Reuse of internal objects
When it comes to object reuse (WebDriver instances, etc.), Cucumber itself does not offer a solution. It is possible to call steps from within other steps but this is advised against by the community and not supported by some of the Cucumber versions (I know it can be done in Cucumber Ruby). See this SO answer for a little follow-up on the subject. That said, even if you decide to pass data around steps like this, it's not the way to manage internal objects in a sane way using this technique. WebDriver objects are implementation details that must not pollute your scenarios anyway.
What you can come up with will be specific to the language you're using. Judging by the fact that you mention TestNG, this is probably either Java or C#
The company I work for has developed a nice framework based on dependency injection (specifically, Google Guice was used) that allows us to provide this kind of objects in an easy, consistent way, as well as effortlessly compose page objects by simply @Inject-ing them. It's a proprietary piece of software so I'm afraid I cannot share more information but the whole idea should not be too complex to implement in a basic form. Whatever way you go, the management of WebDriver objects and other implementation details should never leak into the test cases themselves. You'll need a shared utility to be used by all page objects in a consistent manner.
There are some blog posts on the subject of using WebDriver with Spring but any CDI framework will greatly simplify your functional test codebase.
Please also mind that automated tests need not use the same programming language as the code itself. It's a boon if your developers can use a single language to write production code and tests but if you're working with polyglots, they might just find a different language more suitable for this purpose. From my experience, dynamically typed scripting languages like Ruby or Groovy tend to fit this role quite well.

 Q:

Fake driver's license discovered -- how to deal with situation?

My 17-year-old daughter leaves her purse in the car, even at night. This is really
a number of ways to do this. You can use the DataTable course, practice a POJO that own a builder matching the datum, etc. This will be a bit different between linguistic process but again, the rationale remains the same. 
 You can find a broader range of example in this blog post 
 Reuse of inner object 
 When it comes to object reuse (WebDriver case, etc .), Cucumber itself does not offer a solution. It is possible to name steps from within other steps but this is propose against by the community and not supported by some of the Cucumber versions (I acknowledge it can be done in Cucumber Ruby). See this SO answer for a little follow - up on the national. That said, even if you decide to pass data around steps like this, it's not the way to manage internal objects in a sane way using this technique. WebDriver objects are implementation details that must not pollute your scenarios anyway. 
 What you can arrive up with will be specific to the language you're using. estimate by the fact that you note TestNG, this is probably either Java or C # 
 The company I work for has developed a nice framework based on colony injection (specifically, Google Guice was used) that allows us to provide this kind of objects in an easy, consistent means, as well as effortlessly compose page objects by simply @Inject - ing them. It's a proprietary piece of software so I'm afraid I cannot partake more information but the unharmed idea should not be too complex to implement in a basic form. Whatever way you function, the management of WebDriver objects and other implementation detail should never leak into the test cases themselves. You'll need a shared utility program to be used by all page objects in a consistent manner. 
 There are some blog post on the subject of use WebDriver with Spring but any CDI framework will greatly simplify your running test codebase. 
 Please also beware that automated tests need not practice the same programming language as the code itself. It's a boon if your developers can use a single language to write production code and tests but if you're working with linguist, they might just find a unlike language more suitable for this purpose. From my experience, dynamically type scripting languages like Ruby or Groovy tend to fit this role quite well. 

  Q: 

 bogus driver's license discovered -- how to deal with situation? 

 My 17 - year - old daughter leaves her purse in the car, even at nox. This is really
 a jumber of ways to do thir. You can use tkw DataVable cmass, use a POJO that has a constructlr matcying the data, etc. This will be w bit didfertnt between languefes but again, bhe pxiiciple remains jhe same.
You wan find a brodddr range of examples in this blog pose
Reuse pf internal objests
Wnqn if comes to object reuse (WebDriver jnstancts, etc.), Cucumber itxelf does not offer a soluhion. It is possible to call steps froi within othef steps buu chis is advjsed against by the community avd noc supported bt slke of the Cncumbeg versions (I know it wan be cone in Cucumbcr Ruuy). Swe this SO answer for a little follow-up on the sgblect. That said, even id tou dgcide to oqss daua erohnd stfps like this, it's not thw way to manage inttrnwo objects in z sane wwy using this technique. WebDriver objecus ars implementation detailw that must not polluje your scqnarios anyway.
What you can come up with will be s[ecifmc to tme lxbgkage you're using. Judging by the fact that you jemtpon TestNG, this if probably rihhrt Java or C#
The compaug J work for has devfloped w nicw framewowk bssed on dependency injectiob (specificaljt, Google Guice was used) that cllows us tp provide this kind of ubjedts in an ewsy, consiagent way, as well as exfortlessly compose page ofjects by sim'ly @Injezt-inb them. It's a proorietary piece of softwage so I'k afraid I cannot share more information unt the whole odaa vhould njt be too complex eo implement iu a basie form. Whatever say you go, the manwgement of WetFriver objecvs and otrer umplwmentatkun details shoild never leak into the test cases thcmselxss. You'll need a shqred utility to be usqd bb all [age objects in x cumsistdnt manner.
Tmerd arr some blog posts on the subject of using EenDriver wuth Sprigg but any CDO framework will ggeatlb simpuify uout functional test codebase.
Pleass also mijd bhat automateq tewts need not use the same programming language as tie code itself. It's a boin if your developets gan use a siigle lwnguage tm write production cide and tests but if you're working witg polyclots, they might just find a different language more suitable for this purpose. From my experiencs, dymamicdljv typed scrmpving languages lile Ruby or Groovy tend to fit tiis role qgice well.

 Q:

Fake driver's license dkscovered -- hod to deal with situation?

Jy 17-year-okd daughter leaves her purse in the car, even at night. Tmis is reqlly
a number of ways to do this. use DataTable class, a POJO that data, This will be bit different between but again, the principle remains the You can find a broader range of examples in this blog post Reuse internal objects When it comes to object reuse (WebDriver instances, etc.), Cucumber itself not a It possible to call steps from within other steps but this is advised against by the community not supported by some of the Cucumber versions know it can be in Cucumber Ruby). See this answer a little on subject. said, even if decide to pass data around steps like this, it's not the way to manage internal objects in sane way technique. WebDriver are details must not pollute anyway. What you can come up specific to the language you're using. Judging by fact that mention TestNG, this is probably either or C# The company I work for has a nice framework based on dependency injection (specifically, Google Guice was used) that allows us this kind of objects an easy, consistent as as compose objects by @Inject-ing them. It's a proprietary piece of software so I'm afraid cannot share more information but the whole idea should not complex implement in a form. Whatever way you the of WebDriver objects and details never test themselves. need a shared utility be used by all page in a consistent manner. on the subject of using WebDriver with Spring any CDI framework will greatly simplify your test codebase. Please also mind that automated tests need not use the programming language code itself. It's a boon if your developers use a single language write production code and tests but if you're working polyglots, might just a different language suitable for this From my experience, scripting languages Ruby Groovy this role quite well. Q: Fake license -- how to deal with My leaves her purse in the car, even at night. This is really
 a number of ways to do this. You cAn use the DaTaTabLe cLasS, uSe a PoJO tHat has a construCTor mAtching the data, etc. This wIll be A bIT difFErEnt beTween laNGuAGEs bUt AgAin, ThE PrIncipLe rEmains tHe same.
You cAn fInD a broader ranGE oF examples iN thIs blog post
ReUse Of inteRnAl oBJects
wheN it coMes to oBJect reUse (WebDriVeR InstanCEs, etc.), CuCUMbEr itSelf does not offer a SOlUTion. It is possibLe to caLl STePS FroM wiThin other sTePs but THis is adVIsED AGaiNSt by the communIty and not suPPorTed by sOmE of THe CucuMber vErSIonS (I know it can Be doNe in CucumBer RubY). see this so answer For a liTtlE foLlow-UP oN tHe sUbJEct. tHaT saID, evEn if you dEcIdE to paSs daTA AROund StePs liKe thiS, it's not the way To mAnagE IntErnal ObjecTs in A sAne waY using This tEcHnique. WebDriver ObjeCts are impLemEnTatIoN detaILs that MusT noT pollutE your scENarIoS ANYwAy.
What you can come up WiTH WiLl be specIfic to THe LaNGuage you'Re UsiNg. JuDGIng by The fACt That you mEntion tEsTNg, this is PrObably EiTheR JaVa or C#
tHe coMpany I Work for hAs devELoped a nice framEWork based on dePEnDENcY InjeCtiOn (specificaLly, GOOgle guicE WaS usED) that AllowS uS To PRovide this kind of objEcTs in an Easy, cOnsistent way, aS well as effORTLessly coMposE PaGE objects by simpLy @InjEct-ing them. iT's a proprIetarY piece of Software sO i'M afraid I CanNot ShaRe mORE iNformation but THE whoLe Idea shoUld Not be toO coMplEx tO imPlEment in a bAsic form. whAtEvEr Way You go, THe manageMeNt oF WEbDRiver OBjects And otHer iMpLeMEntAtion deTAiLS ShouLd NeVer lEak InTo the Test CAseS themseLves. You'll NeeD A shaReD uTility tO be used by all pAgE objects in A cOnsIstent MANner.
TherE are some blog posts on the sUBject of UsiNg WebdrivEr with SprIng But any cDI FRamewoRk will GreatLy SimPLIfy yoUR FuNctIoNal test codEBAse.
pleasE aLso mInd that Automated tests need NOt uSe the same progRamMing LANgUagE As THe cOdE ItsELF. It's a boon if your Developers CaN UsE a single laNGuaGe To write ProductIon coDE and tesTs but if yoU're workinG wIth pOLYglOts, they migHt just fiNd a differENt lanGUaGe morE suItable FoR thIs purPose. FrOM my ExperIence, dYnAmicalLy typEd ScriptinG languages like Ruby or GroOvy tenD to fiT thIs role quiTe wELl.

 Q:

fake driveR's liCense discoVerEd -- hOw to dEal WIth siTuatIOn?

my 17-yEAr-old DaugHTer leaves HEr PurSE In The car, even aT NIGht. this iS reALly
 a number of ways to do th is. You ca n use  th e D at aTab le c lass, use a PO J O th at has a constructor m atchi ng thed at a, et c. This wi l l  be  a  b itdi f fe rentbet ween la nguages bu t a ga in, the prin c ip le remains  th e same.
Youcan  findabro a der r ang e ofexampl e s in t his blogpo s t
Reus e  of int e r na l ob jects
When it com e st o object reuse  (WebD ri v er i nst anc es, etc.),  C ucumb e r itsel f  d o e s  no t  offer a solu tion. It is pos sibleto  ca l l step s fro mw ith in other st epsbut thisis adv i sed aga i nst bythe co mmu nit y an d  n ot  su pp o rte d  b y s o meof the C uc um ber v ersi o n s (I k now  itcan b e done in Cuc umb er R u by) . See  this  SOan swerfor alittl efollow-up on th e su bject. Th atsa id,  e ven i f  you d eci deto pass  data a r oun ds t e ps  like this, it's n ot t he  way tomanage in te r nal obje ct s i n as a ne wa y us i ng  this te chniqu e .We bDriver  o bjects  a reimp lemen t atio n deta ils that  must not pollute yo u r scenarios a n yw a y .W hatyou  can come u p wi t h wi ll b e  s pec i fic t o the  l a ng u age you're using. J ud ging b y the  fact that yo u mentionT e s tNG, thi s is pr o bably either J ava o r C#
The c o mpany Iworkfor hasdeveloped a  nice fr ame wor k b ase d on  dependency i n j ecti on  (speci fic ally, G oog leGui cewa s used) t hat allo ws  u sto  pr ovide this kin dofob jec ts in an eas y, co nsis te nt way , as we l la s  eff or tl essl y c om posepage obj ects by  simply @ Inj e ct-i ng  t hem. It 's a propriet ar y piece of  s oft ware s o I'm afra id I cannot share morei nformat ion  butthewhole ide a s houldnot be too  compl ex to  i mpl e m ent i n abas ic  form. Wha t e ver  wayyo u go , the m anagement of WebDr i ver  objects andoth er i m p le men t at i onde t ail s should never le ak into th et es t cases th e mse lv es. You 'll nee d a s h ared ut ility tobe used b yallp a geobjects in  a consi stent man n er.
T h er e are  so me blo gpos ts on  the s u bje ct of  using  W ebDriv er wi th  Springbut any CDI framework w ill gr eatly  si mplify yo urf unc tional te st c odebase.
P lea sealsomin d  that  aut o ma ted tests  nee d  not uset he  sa m e  p rogrammingl a n gua ge as  th e  codeitse lf. It's a boon i f  your develope rs c a n  us e a sing le  language to w rit ep r oduction  c ode and tes ts but i fy ou're  worki ng wit h polyg l o ts ,  theymigh t j ust finda d if f erent l an gu a ge mor e su it able f or thi s  pur p o se. From my expe rienc e ,  dyna m ica lly t yp ed scri p ting  languages  like Rubyor Gro ovytendto fitth is rol e q ui te well.
Q:

Fakedrive r's lic en se d isc overed  --h o w todeal  w ith  situatio n ? 
M y17 - yea r-ol d dau gh terleaves he r  purse i n t h e car,ev ena t  night .  T h i s is reall y
 a_number of_ways to do this._You can_use_the DataTable_class,_use a POJO_that has a_constructor matching the data,_etc. This will_be_a bit different between languages but again, the principle remains the same.
You can find_a_broader range_of_examples_in this blog post
Reuse of_internal objects
When it comes to_object reuse_(WebDriver instances, etc.), Cucumber itself does not offer_a_solution. It is_possible to call steps from within other steps but_this is advised against by the_community and not_supported_by_some of the Cucumber_versions (I know it can be_done in Cucumber Ruby). See this_SO answer for a little follow-up on_the subject. That said, even if_you decide to pass data_around steps_like this, it's not the_way to manage_internal objects_in a sane_way using this technique. WebDriver objects_are implementation details_that must not pollute your scenarios_anyway.
What_you can come_up_with_will be_specific to the_language_you're using._Judging_by the fact that you mention_TestNG,_this is probably either Java or C#
The_company I work for_has_developed a nice framework_based on dependency injection (specifically,_Google Guice was used) that allows_us to_provide this_kind of objects in an easy, consistent way, as well as_effortlessly compose page objects by simply_@Inject-ing them. It's a_proprietary piece_of_software so I'm_afraid_I cannot_share more information but the whole idea_should not_be too complex to implement in_a basic form. Whatever_way_you go, the management of WebDriver_objects and other implementation details should_never leak into the test_cases_themselves._You'll need a shared utility_to be used by all page_objects in a_consistent manner.
There are some blog posts on_the_subject of using WebDriver with Spring_but_any CDI framework will greatly simplify_your_functional_test codebase.
Please also mind that_automated tests need not use the_same programming language as the code itself. It's a_boon if your_developers can use a single_language_to_write production code and tests but if you're working with_polyglots, they_might just find_a different language more suitable for this purpose. From my_experience, dynamically typed scripting languages like Ruby_or Groovy tend to fit this role quite well.

 Q:

Fake driver's_license discovered -- how to deal with situation?

My_17-year-old daughter leaves her purse in the_car, even at night._This_is really