Selenium WebDriverã®éçºäžã«ééããåé¡ããã®ãœãªã¥ãŒã·ã§ã³ãããã³ãããã®ãœãªã¥ãŒã·ã§ã³ãååãšããŠã©ã®ããã«äœ¿çšã§ãããã«ã€ããŠã話ããããšæããŸãã ãããã¯ãã¹ãŠãããã¿ã€ããã¬ãŒã ã¯ãŒã¯ã®åœ¢åŒã§æ瀺ããããªã³ã¯ã¯èšäºã®æåŸã«ãããŸãã
ãã®æçš¿ã§ã¯ãããŒãžãªããžã§ã¯ããã³ãã¬ãŒãã®å®è£ ããã¹ãã®å®è¡äžã«çºçãããšã©ãŒã®åŠçæ¹æ³ãããã³ãã®ã³ã°ã«ã€ããŠå°ãã話ããŸãã ãŸããSelenium WebDriverã䜿çšããŠå®è£ ãããããŒã«ã®äžéšãšãã®ãã¹ããã©ã¯ãã£ã¹ã«é¢ããæ å ±ãå ±æããŸãã
ç§ã®èšäºã®æŠèŠã¯æ¬¡ã®ãšããã§ãã
1.ãšã³ããªã§ã¯ãªãããã£ããã³ã®èšŒæ ã
2.ããªãèªèº«ã«ã€ããŠå°ããèªå·±çŽ¹ä»ãããå¿ èŠããããŸã...
3.ãªãã»ã¬ã³ãªã®ãïŒ
4.ããŒãžãªããžã§ã¯ãã«ã€ããŠ...
5.ãã°ã§ã¯ãªããæ©èœã§ãïŒ
6.ãŸãããã®ã³ã°ãšã¬ããŒãã«ã€ããŠã
7.ããããã¢ããã°ã¯ãããŸãããïŒ
8.çŽæããããªã³ã¯ã
9.çµè«ãšããŠã
ãããè¡ããïŒ
1.ãšã³ããªã§ã¯ãªãããã£ããã³ã®èšŒæ ã

ãœãããŠã§ã¢ãã¹ããšã¯äœããã©ã®æŠç¥ãšã¢ãã«ãååšããã®ãããœãããŠã§ã¢éçºãšå質ä¿èšŒã®ããã»ã¹ã«ããããã®åœ¹å²ãšããã®ããã»ã¹ãååšããªãå Žåã«ã©ã®ãããªãªã¹ã¯ãããžã§ã¯ããšãŠãŒã¶ãŒããããããã®ãã説æããããšã¯æå³ããªããšæããŸãã ããã«ãçŸåšã®ããã°ã©ãã³ã°ã¯èžè¡ã§ã¯ãªããäœçŸäžäººãã®å°é家ã«ãšã£ãŠã®æè¡ã§ãã ãããžã§ã¯ãã¯çæéã§ãéãããäºç®ã§å®è£ ãããå€ãã®å ŽåãåçŽã«èšå€§ãªæ©èœãåããã¢ã³ã¹ã¿ãŒã«ãªãããšããããŸãã ããã«ã補åã¯ããŒãžã§ã³ããšã«éäžçã«å€åããå¯èœæ§ããããããæ¹åããŠãã ããã ãããŠããã®ãããªãæ¹åãã¯ããããèŽåœçã§ãã
ãã®ãããªç¶æ³ã§ã¯ãèªåãã¹ããéèŠãªåœ¹å²ãæãããŸãã ã©ã®ã¢ãã«ãæŠç¥ãããã³æ¹æ³ãååšãããã¯ãä»ã®æ å ±æºã§ç¢ºèªããæ¹ãé©åã§ãã ç§ã®èšäºã¯ããã«ã€ããŠã§ã¯ãããŸããã ã¯ã©ã€ã¢ã³ããµã€ãWebã¢ããªã±ãŒã·ã§ã³ããã¹ãããããã®èªååããŒã«å°çšã§ãã
2.ããªãèªèº«ã«ã€ããŠå°ããèªå·±çŽ¹ä»ãããå¿ èŠããããŸã...
ç§ã¯4幎åããååž°èªåãã¹ããè¡ã£ãŠããŸãã 補åã®ãã¹ã¯ãããã¯ã©ã€ã¢ã³ããšãããžãã¹ããžãã¯ãèšè¿°ããã¯ã©ã¹ããã¹ãããŸãã ãã¡ãã®ãããžã§ã¯ãã§äœ¿çšãããŠããããŒã«ã«ã€ããŠèªãããšãã§ããŸã ã ãã®éãå€ãã®UIãã¹ããåäœãã¹ããèªååãããå€ãã®ããšãè¡ãããŸãã...ãã¹ãèªååã®é²åã芳å¯ããã®ã¯ããã§ããããã«åå ããŸããã

æåã¯ããããã¯èªåèšé²ããŒã«ã䜿çšããŠèã®äžã«çŽæ¥èšè¿°ãããã¹ã¯ãªããã§ãããã¹ã¯ãªããã®ããžãã¯ã¯ãã¹ã察象ãªããžã§ã¯ããšå¯Ÿè©±ããæ¹æ³ãšåãé¢ããŸããã§ããã ãã¹ãã®ã»ãããå¢å ããã«ã€ããŠãäœããã®ãã¬ãŒã ã¯ãŒã¯ãéçºãããããèªåã¹ã¯ãªããã«äœ¿çšããå¿ èŠãããããšã誰ã«ã§ãæããã«ãªããŸããã ãã¹ã察象ã®ã¢ããªã±ãŒã·ã§ã³ã®èª°ããããã¹ãå®è¡å šäœã«å¯ŸããŠéåžžã«æ²ããçµæããããããŸããã
ããã«ã補åãããŒã¿ããŒã¹ãšå¯Ÿè©±ããããã«ããã°ã©ã ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããå¿ èŠããããŸããããã€ã¢ãã°ãã©ãŒã ã瀺ããã®ã§ã¯äžååã ã£ãããã§ã...
ããããç§ã¯å€¢äžã«ãªã£ããã®ã ããããå¹æçãªèªåæ€èšŒã®ããã«éçºè ã®è£œåãšã®ããåãã®æŠç¥ãšæŠè¡ãæåããèãçŽãããšãããã«éèŠããå®æããã®ã¯ãŸãã«ããã§ããã
ç²ããè ãŸãã¯å極倧éžã®ã©ããã§çãŸããŠäœãã§ãã人ã¯ãã¢ããªã±ãŒã·ã§ã³ããã¹ã¯ãããã¯ã©ã€ã¢ã³ãããWebã¯ã©ã€ã¢ã³ãã«ç§»åããåŸåã«æ°ã¥ããŸããã ã¯ããWebã®éçºã¯çŸåšäž»æµã§ãããç§å¯ã§ã¯ãããŸããã
ããã³ããšã³ãã®æ©èœãã¹ããèªååããããã«äœ¿çšãããäœããåŠã³ãããŸããŸãªã¯ã©ã€ã¢ã³ããã©ãããã©ãŒã ãšã®äºææ§ããã§ãã¯ããããã«ãç§ã¯èªç±ã«æéãåããªãããšã«ããŸããã ããã«ããããžã§ã¯ãã®Webã¯ã©ã€ã¢ã³ãã...
ç§ã¯Selenium Webdriverãéžã³ãŸããã
3.ãªãã»ã¬ã³ãªã®ãïŒ

ãªãã»ã¬ã³ïŒ
ãããããããããã¯äœ¿çšãããWebéçºã®äžçããã®å¿ æ»ã®æ奜家ã ãã䜿ãå°ããªããŒã«ã§ããã ä»ã§ã¯ãäžçäžã®äœå人ãã®èªååãšã³ãžãã¢ãæ¬ é¥ãšæŠãããã«ãµãŒãã¹ãéå§ããã ãã§ãªããããã³ããšã³ãã®éçºè ã§ãããæãããæŠåšã§ãã

Selenium補åã©ã€ã³ã«ã€ããŠã¯ã ãã¡ããŸãã¯ãã¡ããã芧ãã ãã ã
ããããããã¯çŽæ¥èªååããããã¹ãã®æ段ã§ã¯ãªããšèšãå¿ èŠããããŸã ã ããšãã°ãSelenium Webdriverã«ã¯ããã©ãŠã¶ãšãã®ãŠã£ã³ããŠã«èªã¿èŸŒãŸããã³ã³ãã³ããšã®ãŠãŒã¶ãŒã®å¯Ÿè©±ããšãã¥ã¬ãŒãããããã®å€ãã®ãœãããŠã§ã¢ããŒã«ãšã€ã³ã¿ãŒãã§ã€ã¹ãçšæãããŠããŸãã ãããã®è³éã¯ããã®ãããªçžäºäœçšã®å¯èœãªãªãã·ã§ã³ã®ã»ãŒ100ïŒ ãã«ããŒããŠããŸãã ããã¯ãã¹ãŠããåºãçšéãèŠã€ããããšãã§ããŸãã ããããããšãã°ãããã©ã«ãã§ã¯ãç¹å®ã®ãã¹ãã®åæ Œã«é¢ããã¬ããŒããçæã§ããŸããã
ããã«ãä»ã«ãããã€ãã®åé¡ããããŸãã 以äžã¯ãã®äžéšã§ãã
WebDriverããã³WebElementã€ã³ã¿ãŒãã§ã€ã¹ã¯ ãéåžžã«éãããæ©èœãæäŸããŸã ã äž»ã«ãã¢ã¯ãã£ããªããŒãžã®èŠçŽ ãæ€çŽ¢ããèŠçŽ ã«å¯ŸããŠæãåçŽãªã¢ã¯ã·ã§ã³ïŒå€ã®å ¥åãã¯ãªãã¯ãªã©ïŒãå®è¡ããããšãç®çãšããŠããŸãã HasInputDevicesãLocatableãOptionsãAlertãªã©ã®ã€ã³ã¿ãŒãã§ã€ã¹ã«ãã£ãŠãä»ã®å€ãã®äŸ¿å©ãªæ©èœãæäŸãããŸãã ãŸãã WebDriverãšWebElementã®ã¿ã䜿çšãããšãèªåãã¹ãã®æ©èœãå€§å¹ ã«å¶éãããŸãã
åãã©ãŠã¶ã«ã¯ç¬èªã®ãã©ã€ãããããŸãã çŸåšã¯æ¬¡ã®ãšããã§ãã
ChromeDriver
FirefoxDrive
HtmlUnitDriver ïŒãŠãããçš-htmlããã¥ã¡ã³ãã®ã¬ãã«ã§ã®ãã¹ãïŒ;
InternetExplorerDrive
OperaDriver ;
RemoteWebDriver ïŒç§ã®ãæ°ã«å ¥ãããªã¢ãŒããã·ã³ã§ãã¹ããå®è¡ããã®ã«é©ããŠããŸãïŒ;
SafariDriver
IphoneDriver ;
AndroidDriver
PhantomJSDriver ïŒäžéšã®ãšããŸããã¯ãªãã©ãŠã¶ãŒããã·ã³äžã§ãã«ãããã®ã«ææ ¢ã§ããŸããã§ããïŒã
YandexããŒã ããã©ã€ããŒãããã«ãªãªãŒã¹ãããšæããŸãã
ãããã奜ã¿ãšããããããŒãºã«å¯Ÿå¿ããå¹ åºãéžæè¢ã ãããããã¹ããããžã§ã¯ãã§äžèšã®1ã€ãŸãã¯ããã€ããæ瀺çã«äœ¿çšãããšããã©ãŠã¶ãŒãããã©ãŠã¶ãŒã«ãã°ããåãæ¿ããããäžåºŠã«è€æ°ã䜿çšããå¿ èŠãããå Žåã«åé¡ãçºçããŸãã
ãããã£ãŠãåžæããã€ã³ã¹ã¿ã³ã¹ãäœæããããã®åäžã®æ¹æ³ãŸãã¯ã€ã³ã¿ãŒãã§ãŒã¹ãå¿ èŠã§ãã åžžã«å€æŽå¯èœãªäœããã®èšå®ããã©ã¡ãŒã¿ãŒãšããŠåãå ¥ããããšãæãŸããã§ãã ãã®èšå®ã«ã¯ããã©ãŠã¶ã®çš®é¡ã æ©èœ ã ã¿ã€ã ã¢ãŠããå«ããå¿ èŠããããŸã ã ããŠãããŒãã³ãŒãã£ã³ã°ããæ©äŒãäžããŸãããã
ããŒãžãšã®ã€ã³ã¿ã©ã¯ãã£ããªäœæ¥ãæ åœããã¯ã©ã¹ãäœæããŸãã PageFactoryã¯çŽ æŽãããããŒã«ã§ãã ãã ããéåžžã«å€§ããªããŒãžãèšè¿°ããã¯ã©ã¹ã®ã³ãŒãã®å¯èŠæ§ã倱ãããããããã®äœ¿çšã¯äžäŸ¿ã«ãªããç¹°ãè¿ãèŠçŽ ã«ã¯ã³ããŒïŒããŒã¹ãã倧éã«å«ãŸããŸãã æ¹æ³ã¯ãå¥ã ã®ãããã¯ïŒã¯ã©ã¹ïŒã§ç¹°ãè¿ãèŠçŽ ãéžæãããã§ã«ãããã¯ã䜿çšããããšã§ãã ããããããã¯åé¡ãæåŸãŸã§è§£æ±ºããŸããã åå¥ã®ã¿ããŸãã¯ãã©ãŠã¶ãŠã£ã³ããŠã§ããŒãžãéãããšã§ãµãŒãã¹ãæ©èœããå Žåããããã®ãŠã£ã³ããŠã«ã¯ãã¹ãŠéè€ãããããã¯ããããŸããïŒ ãŸãããããã®ããã€ãã¯ãã¬ãŒã ã«ãããŸãïŒ ç§ã¯ãããšãããå®éšããããã«èª¬æããåé¡ã«ã¶ã€ãããŸããã ãããŠãç¶æ³ã¯ãWedDriverãå®è£ ããã€ã³ã¹ã¿ã³ã¹ãã¢ã¯ãã£ããªããŒãžïŒãŠã£ã³ããŠ/ã¿ãïŒãŸãã¯ãã¬ãŒã ã®ã¿ãèŠããšããäºå®ã«ãã£ãŠæªåããŸãã
driver.switchToïŒïŒãWindowïŒsomehandleïŒãŸãã¯driver.switchToïŒïŒãFrameïŒframeIdentityïŒãåŒã³åºããã«ãããŒãžããããã¯ã«åå²ããŠãäœæ¥ãã¹ãã§èšæ¶ããŠçŽæ¥æäœã§ããããã«ããããšæããŸãã
ãããã£ãŠãç§ã¯äžèšã®ããŒã«ãç¿åŸããã ãã§ãªãããããžã§ã¯ããäœæããããã«ãããã«è¯ãããšã«ãSelenium Webdriverã«åºã¥ããããã¿ã€ããã¬ãŒã ã¯ãŒã¯ãäœæããããã«ã¿ã¹ã¯ãèšå®ããŸããã ããã«ãé¡äŒŒç©ãèŠã€ããŠããããç°¡åã«çµ±åã§ããããã«ããŠãã ããã ã¿ã¹ã¯ããã®ããã§ããã°ãæåºãããè³æã¯ã¯ããã«ç°¡åã«åžåããããšæããŸãã
èšèªãšããŠJavaãéžæãããŸããã éçºç°å¢-Eclipseã
ãã®éãã©ã®ããã«åŸã ã«å æããããã«ã€ããŠã¯èªããŸããã ç§ã¯åé¡ãšãã®è§£æ±ºçã®èª¬æãç¶ããããšæããŸãã ãã¶ãã¢ã¡ãªã«ã¯éããªãã ãããã誰ããèªåã«åœ¹ç«ã€äœããèŠã€ãããå¬ããã ãã...
4.ããŒãžãªããžã§ã¯ãã«ã€ããŠ...
ãã¶ã€ã³-ããŒãžãªããžã§ã¯ããã¿ãŒã³ã«ã€ããŠç¥ããªããããªãªãŒãããã³ã¯ã»ãšãã©ãªããšæããŸãã ãšããã§ããã®ãã¿ãŒã³ã¯ãäžéšã®ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®UIèªåãã¹ãã®äœæã«ãé©çšã§ããŸãã ããããWebã€ã³ã¿ãŒãã§ã€ã¹çšã®Javaã§ã®å®è£ ã«ã€ããŠèª¬æããŸãã
ã¬ã»ãã·ã§ã³ã«ã€ããŠã¯ãã¡ããã芧ãã ãã ã
次ã«ãããŸãæåããŠããªããã¹ãã®çŸåšåäœäžã®ã³ãŒãã玹ä»ããŸãã
ã³ãŒã
ã©ããã§1ã€ã®å ¥åãè¡ãã2ã3åã¯ãªãã¯ããå¿ èŠãããã¹ã¯ãªãããèšè¿°ãããå Žåã誰ããè¯ãããšãç解ããŠãããšæããŸãã äœããæ£ãã ïŒ!!!ïŒå€æŽãããå Žåããã®ãããªãã¹ãããã°ããä¿®æ£ã§ããŸãã
ãã¹ãã§äžèšã®æé ãããå€ãããã§ãã¯ããå¿ èŠãããå Žåãèªã¿åãã«äžäŸ¿ãªã³ãŒãã·ãŒããå€æããŸãã ããã§ã¯ããã®ãã¹ãŠã«å·šå€§ãªãã¹ããããžã§ã¯ããæããŸãããã Googleãå€æŽãããã³ã«ã貧ãããã¹ã¿ãŒãã©ã®ããã«æ³£ãã®ããäœã圌ãæ¯ããŠããã®ããæ³åããŸãããïŒ ãããŠã圌ããã®ããã«æ³£ããªãããã«ãããŒãžã§ãã¹ããã¢ã¯ã·ã§ã³ãå®è¡ããã¯ã©ã¹ãå¿ èŠã§ãã ãŸããäœããå€æŽããããšããŠãïŒãã®å€æŽã¯ãã°ã®å°å ¥ã§ã¯ãªãæ©èœã§ãïŒãç·šéã¯ãããžã§ã¯ãå šäœã§ã¯ãªãããŒã«ã«ã§è¡ãããŸãã
ããªãã®ãããžã§ã¯ããå«ããPage Objectã®å®è£ ã¯ãããããããŸãã 以äžã«ãå®è£ ãšåããã¹ãã瀺ããŸãã
ãããªãã¯ã€ã³ã¿ãŒãã§ã€ã¹IPerformsClickOnALink
ãããªãã¯ã€ã³ã¿ãŒãã§ã€ã¹IPerformsSearch
ãããªãã¯ã¯ã©ã¹SearchBar
ãããªãã¯ã¯ã©ã¹LinksAreFound
ãããªãã¯ã¯ã©ã¹AnyPage
ãããªãã¯ã¯ã©ã¹google
ãã¹ã
ãããŠãããªããäžçæžåœåããŠãã®ã»ããã¢ããã®ãããªããšããããªãã ãã¹ãã¯ãã®ããã«åããããããŸãã ã
å€ãã®çµéšè±å¯ãªèªååãšã³ãžãã¢ã¯ããããã次ã®ããã«èããŠããŸãããããããã¯ããPage Factoryã¯... ãŸããããããããã€ãã®ãããŸããªæ³šéãç»å ŽããŸãã... @PageMethodãåŒã³åºãããŸãã Pageã¯ã©ã¹ãšEntityã¯ã©ã¹ã®åå«... ããã§ãåæ§ã®ããšãããããŸãã ã èè ãç§ãã¡ã¯çãããèŠãŸããïŒâ
ãããã¯ãã ããã¯ç°¡åãªäŸã§ãã ã¡ã€ã³ããŒãžã®èª¬æãæå³çã«è€éã«ããŠãåãããŒãžã®èª¬æã2ã€ã®ç¬ç«ããã¯ã©ã¹ã«åå²ã§ããããšã瀺ããŸããã ãã®ã¢ãããŒã·ã§ã³ã«ã€ããŠä»¥äžã§èª¬æããŸã...
ãããŠä»ãäŸã¯ããè€éã§ã...
åçã¯ããã€ãã®ç¶æ³ã瀺ããŠããŸãã

ãã¹ãã®å 容ïŒ
1ã¯docs.google.comã«ç§»åããŸã
2ã¢ã¯ã»ã¹å¯èœãªGoogleããã¥ã¡ã³ããéããŸã
ãµãŒãã¹ã®ã¡ã€ã³ããŒãžã®3ã¯ãå ±æèšå®ãã€ã¢ãã°ãåŒã³åºããŸãã
4éããŠããããã¥ã¡ã³ãããåããã€ã¢ãã°ãåŒã³åºãããŸãã
æ確ã«ããããã«ãã¢ã¯ã·ã§ã³ã®ã·ãŒã±ã³ã¹å šäœãã¹ã¯ãªãŒã³ã·ã§ããã®åœ¢åŒã§ç€ºããŠããŸãã ãã€ã©ã€ããããã¢ã¯ãã£ããªã¢ã€ãã ïŒ





å¿ èŠæ§ïŒäœããã®æ¹æ³ã§ãã®ãã€ã¢ãã°ã®äž¡æ¹ã®ã€ã³ã¹ã¿ã³ã¹ãç°ãªããŠã£ã³ããŠã§åŠçããŸãã ãããŠããããç§ã«èµ·ãã£ãããšã§ãã ããã¯ã説æãããŠããåææ¡ä»¶ã§ãã
次ã«ãååãã¡ãŒã«ã¢ãã¬ã¹ãªã©ãå ¥åããããã«æ±ãããããã£ãŒã«ããã¯ãªãã¯ããŸãã衚瀺ããããããã¢ããèŠçŽ ã§[ãã£ã³ã»ã«]ãã¯ãªãã¯ãããã®åŸ[å®äº]ãã¿ã³ãã¯ãªãã¯ããŸãã ã¢ã¯ã·ã§ã³ã¯äž¡æ¹ã®ãŠã£ã³ããŠã§å®è¡ãããŸãã æ確ã«ããããã«ã以äžã¯åç圢åŒã®ã·ãŒã±ã³ã¹ã§ãã



ãã®ãããç§ãã¡ã¯ãã®ã¿ã¹ã¯ã«æ¥œã«å¯ŸåŠããŸããã ã ããã¯ãããã¥ã¡ã³ããšã¡ã€ã³ããŒãžã®getCustomizingAccessDialogïŒïŒã¡ãœããã®ã³ãŒãã§ã ã
ã€ãŸã ãã¬ãŒã å ã«é 眮ãããèŠçŽ ã®ãããã¢ãããããã¯ããããç¬ç«ããŠååšããå¿ èŠã«å¿ããŠååŸããããªããžã§ã¯ããšããŠäœ¿çšããŸã...ããã¯ããã¥ã¡ã³ãã®ããŒãžãšãµãŒãã¹ã®ã¡ã€ã³ããŒãžã«ããããããããååŸãããŸãã
å®éãç§ã¯é·ãéããã®ãã¹ããªããžã§ã¯ããããŸããŸãªãœãŒã¹ã§æŽçããŠèª¬æããããã®æè¯ã®æ¹æ³ãæ¢ããŠããŸããã ã§ãããã¶ãç§ã¯ã²ã©ãèŠãŠããŸãã...
æããã«ãåå©çšã®ããã«ããŒãžèŠçŽ ããããã¯ã«ã°ã«ãŒãåããå¿ èŠããããŸãã ãããã®ãããã¯ã¯ãç¬ç«ãããªããžã§ã¯ããè£ ã£ãŠå€éšã«è»¢éããããšãã§ããããããçŽæ¥æäœã§ããŸãã ãããè¡ãããªãå Žåãã¯ã©ã¹ã¯å±æ§ãšã¡ãœããã®æ°ãå¢ãããŸãã å解ãå¿ èŠã§ãã ãã以å€ã®å Žåããããã®ãªããžã§ã¯ããååŸããŸãã

äžèšã®äŸãèŠããšãã¡ã€ã³ã³ã³ãã³ããæäœããæ¹æ³ã«ãåçš®é¡ã®ãããã¢ãããã€ã¢ãã°ãæäœããæ¹æ³ãè¿œå ãããŠããŸã-ã¢ã¯ã»ã¹èšå®ãååå€æŽã®ã¢ãŒãã«ãã©ãŒã ããªãã·ã§ã³ã®éžæãããã¥ã¡ã³ãå ã®ã³ã¡ã³ãã
åäžã®ãã©ãŠã¶ãŒãŠã£ã³ããŠïŒåäžã®ã¿ãïŒã«èªã¿èŸŒãŸããŠãããã®ããã¹ãããå Žåãäžèšã®ãœãªã¥ãŒã·ã§ã³ã¯ç°¡åã«å®è£ ã§ããŸãã
ãã ãã説æãããŠããããªãè€éãªåäœã®å Žåãç®çã®ãã¬ãŒã ã«åãæ¿ããããšãå¿ããã«ãããŒãžããããŒãžã«äœããã®åœ¢ã§Webãã©ã€ããŒãåãæ¿ããå¿ èŠããããŸãã
ãããŠãã¢ã€ãã¢ãæµ®äžããŸããïŒ ãããããã®ãããªåãªããžã§ã¯ãã«èªåèªèº«ãžã®ãã¹ãèšæ¶ãããããŒãžãšã®å¯Ÿè©±å察話ã®ã¡ãœãããåŒã³åºããšãã«webdriverãèªåçã«åãæ¿ããããã«æãããã©ãã§ãããã
ããã¯ããããŒãžãã®æŠå¿µããããã¶ãé¢ããã°ãå¯èœã ãšæãããŸãã ã€ãŸã ããã«ãã£ãŠãç§ã¯ããŠã³ããŒããããã³ã³ãã³ãã§ã¯ãªããã³ã³ãã³ããããŒãããããã©ãŠã¶ãŠã£ã³ããŠãæå³ããŸãã ãã®ãŠã£ã³ããŠã«ã¯äžæã®æååèå¥åããããããã«ããä»ã®ãŠã£ã³ããŠãšç°¡åã«èå¥ã§ããŸãã ãªãã±ãŒïŒ ã€ãŸããã¡ãœãããåŒã³åºãåã«ãç®çã®ãŠã£ã³ããŠãžã®åãæ¿ããçºçããŸãã
ã ãã ãã¬ãŒã ãã©ããããïŒ ãŸããèŠçŽ ã®åãããã¯ãã©ã®ãã¬ãŒã ã«åãæ¿ããããè¿œå ã§ç¢ºèªããããšãã§ããŸãã
ã ããç§ã¯éãäœã£ãŠããŸãã
ç§ãPageãšåŒãã ã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãŒã®ãªã¹ããããããããã« ïŒååã¯éåžžã«æ¡ä»¶ä»ãã§ãããããã¯ã©ã¹ã®ååãå€æŽããå¿ èŠããããŸãïŒãããŒããããããŒãžã®èª¬æãå šäœãŸãã¯äžéšã§èšè¿°ããããã«é¡äŒŒããå¥ã®ãªããžã§ã¯ãã芪ïŒèŠªïŒãšããŠç€ºãããšãã§ããŸãïŒå¿ èŠãªå Žåã ãããã£ãŠãèŠçŽ ãããã¯ã®ãªã³ã¯ã°ã©ããäœæã§ããŸãã éå±€ã®ãããªãã®ãããããŸããã

ãªãã±ãŒïŒ ããŠã瀺ããããã¹ãæ§ç¯ãããéå±€ã 次ã¯ïŒ ãã£ãŒã«ãå ã®è¡ãã¯ãªãã¯ãŸãã¯å ¥åãããªã©ãé話äžã«èªååãæ¿ããå®è£ ããæ¹æ³ã¯ïŒ ã¹ã€ããã³ã°èªäœã¯ãã®æ¹æ³ã§å®è£ ãããŸãã
ãããïŒ å€ãã®äººã質åããããããããŸããïŒãåã¡ãœããã§ãããå床åŒã³åºãå¿ èŠããããŸããïŒã 以äžã«ããã®ä»çµã¿ã説æããŸãã
ç§ã®æ±ºå®ã§ã¯ãã³ã³ã¹ãã©ã¯ã¿ãŒèªäœã«ãã£ãŠäœæããããªããžã§ã¯ãã§ã¯ãªãããããã®ä»£æ¿ïŒãããã·ãèšãæããã°ïŒã䜿çšããããšãææ¡ããŸãã ããã«ã¯cglibã©ã€ãã©ãªã䜿çšãããŸããã ããã«æ£ç¢ºã«ã¯ãåŒã³åºãããã¡ãœãããã€ã³ã¿ãŒã»ããããMethodInterceptor ããããã·ãªããžã§ã¯ãèªäœãäœæããEnhancer ãããã³Callbackã§ãã äžèšã®ã¿ã€ãã䜿çšãããšãå°æ¥ãåããŒãžã®åå«ïŒ java.lang.reflect.Proxyãåç §ïŒã®ã€ã³ã¿ãŒãã§ãŒã¹ã®ã»ãããäœæããå¿ èŠããªããªããå®è£ ãããæè»ã«ãªããŸãã ãã ããå¶éããããŸã-Pageã¯ã©ã¹ã®ç¶æ¿è ã¯finalã§ãã£ãŠã¯ãªããŸãã!!!
ã€ãŸã Page-ãªããžã§ã¯ãïŒPageã¯ã©ã¹ã®ç¶æ¿ïŒã®1ã€ãŸãã¯å¥ã®ã¡ãœãããåŒã³åºãããšãããšããã®ã¡ãœãããã€ã³ã¿ãŒã»ããããããªããžã§ã¯ãã¯èªåèªèº«ã«ãåãæ¿ãããŸããã ãããŠãã®åŸãã¡ãœããèªäœã®å®è¡ã
ãããïŒ ãããããã®çš®ã®ã€ã³ã¿ãŒã»ããã¯ãåã¡ãœãããåŒã³åºããããšãã«èµ·ãããŸããïŒ è³ªåã¯å ¬å¹³ã§ãã Page-ãªããžã§ã¯ããJavaèšèªãªããžã§ã¯ãã§ããããšãå¿ããªãã§ãã ããã ãã®ãããªãªããžã§ã¯ãã«ã¯ããã©ãŠã¶ã®å¯Ÿè©±æ§ã«é¢é£ä»ããããŠããªãpublicã¡ãœãããŸãã¯protectedã¡ãœãããå«ãŸããŠããå ŽåããããŸãã ã«ãªãæ¹æ³ æããã«ãã¡ãœãããã察話åã®å¯Ÿè©±ãè¡ãã¡ãœãããšä»ã®ãã¹ãŠã®ã¡ãœããã«åå²ããæ¹æ³ãèãåºãå¿ èŠããããŸãã

@PageMethodã¢ãããŒã·ã§ã³ã¯ãã®ãããªãã»ãã¬ãŒã¿ããšããŠæ©èœããŸãã ã€ãŸããã¡ãœããããã®ãããªããŒã«ãŒã§ããŒã¯ãããŠããå ŽåãããŒãžãŸãã¯ãã®ãã©ã°ã¡ã³ããžã®äºååãæ¿ããå®è¡ãããŸã...
äžè¬çã«ããœãªã¥ãŒã·ã§ã³ã¯æ¬¡ã®ããã«ãªããŸãã
次ã«ãããŒãž-ãªããžã§ã¯ããäœæããå¯èœæ§ã«ã€ããŠå°ã説æããŸãã
èŠçŽ ãŸãã¯ããŒãžãã¬ãŒã³ããŒã·ã§ã³ã®ãããã¯ã¯ãäž»ã«3ã€ã®æ¹æ³ã§äœæã§ããŸãã
-Entityã¯ã©ã¹ã®åå«ãã -ããã¯ãäžè¬ã«ã¡ã€ã³ããŒãžãŸãã¯ä»ã®ããŒãžã§éããŠãããµãŒãã¹ã®ã¢ãã«ã®ãããªãã®ã§ãã 説æãããŠããäŸã§ã¯ãããã¯GoogleïŒæ€çŽ¢ãšã³ãžã³ïŒãGoogleDocsApplicationïŒGoogleãã©ã€ãïŒã§ãã ã¡ãªã¿ã«ãGoogleã®äŸã§ã¯ããã¢ããªã±ãŒã·ã§ã³ãã䜿çšããŠãååãšããŠãPage-ãªããžã§ã¯ããšåæ§ã«äœæ¥ã§ããããšã瀺ããŠããŸãã ããã«ãšæ€çŽ¢çµæã«èŠçŽ ãå«ããŸããã
ãEssenceãã¯ããµãŒãã¹ã®æåã®ïŒã¡ã€ã³ïŒéããŠãããŠã£ã³ããŠ/ã¿ãã«ãããªããžã§ã¯ããçæã§ããŸãïŒGoogleãã©ã€ãã®äŸãã docs.getContentïŒïŒ; ã-ãããã®ã¡ãœããã®1ã€ãã©ããããGoogleã®äŸ-ã searchBar = get ïŒSearchBar.classïŒ; â-ãããã®ã¡ãœããã®ããããã®åŒã³åºãïŒãŸãã¯æ°ãã衚瀺ããããŠã£ã³ããŠ/ã¿ãã«ååšãããã®ïŒ AnyGoogleDocument anyDocument = docs.getïŒAnyGoogleDocument.classã1ïŒ ;ïŒã
ãã®å³ã¯ãEntityã¯ã©ã¹ã®ã¡ãœããã®ãªã¹ãå šäœã瀺ããŠããŸãããããã®ã¡ãœããã¯ããã§ã«äœ¿çšããæºåãã§ããŠããããç¶æ¿è ã§éè€ããå¯èœæ§ããããŸãã

-Pageã¯ã©ã¹ã®å¥ã®åå«ããã ã€ãŸã...䜿çšå¯èœãªGoogleãã©ã€ãããã¥ã¡ã³ãã®ãªã¹ããããããã®äžã§ããŸããŸãªã¢ã¯ã·ã§ã³ïŒãªãŒãã³ãã¿ã°ã®æ¿å ¥ããããã¢ããã¡ãã¥ãŒã®æäœãã¢ã¯ã·ã§ã³ããŒäžã®ãã¿ã³ïŒãå®è¡ããŸãã ããããã¹ãŠãåå¥ã®ã¯ã©ã¹ã§èª¬æããŸãïŒäžèšã®äŸ-GoogleDocsMainPageContentïŒã
ãããã®ã¢ã¯ã·ã§ã³ã®çµæãšããŠè¡šç€ºãããèŠçŽ ïŒã¢ã¯ã»ã¹èšå®ãã€ã¢ãã°ãããŸããŸãªã¢ãŒãã«ãã©ãŒã ãªã©ïŒã¯ããã®ããŒãžã®äžéšã§ãã ãããããããã¯æ©èœçã«ã¯ããããéé¢ãããŠãããã®ããã«èããããšãã§ããŸãã
ãã®ãããªèŠçŽ ã¯ãPageã®åå¥ã®ç¶æ¿ã¯ã©ã¹ã§èª¬æã§ããŸãã
åæ§ã«ã䟿å®äžããã倧ãããããéçãªãããã¯ïŒããŒãã«ãšãã£ã¿ãŒãããã¥ã¡ã³ããšãã£ã¿ãŒãªã©ïŒãèšè¿°ããããšãã§ããŸãã
説æãããŠãããã¹ãŠã®ç¶æ³ã§ãæå®ããã芪ã䜿çšããŠãªããžã§ã¯ããäœæã§ããŸãã
ãã®å³ã¯ãPageã¯ã©ã¹ã®ã¡ãœããã®ãªã¹ãå šäœã瀺ããŠããŸãããããã®ã¡ãœããã¯ããã§ã«äœ¿çšããæºåãã§ããŠããããç¶æ¿è ã§éè€ããå¯èœæ§ããããŸãã

ãã¹ãçšã«äžèšã®ãªããžã§ã¯ããäœæããããã®ãã¹ãŠã®ã¡ãœããã¯ãã¹ã¯ãªãŒã³ã·ã§ããã®ã¯ã©ã¹ã¡ãœããã®ã©ãããŒã§ãã

-TestObjectFactoryã䜿çšããŸã ã ãããŸã§ã®ãšããããã®æ¹æ³ã¯ããµãŒãã¹ã䜿çšããã«ç¬èªã«æ©èœã§ããã³ã³ããŒãã³ããããå Žåã«é©ããŠããŸãã ããšãã°ãããã¥ã¡ã³ããã¹ãã¬ããã·ãŒãããã¬ãŒã³ããŒã·ã§ã³ãªã©ã ã¢ã¯ã»ã¹æš©ãšããã¥ã¡ã³ããžã®ãªã³ã¯ãããã°ããµãŒãã¹ã®å©ããåããã«éãããšãã§ããŸãã ãã®ãããªç¶æ³ã ãã確èªããå¿ èŠãããå Žåã¯ã確èªã§ããŸãã 次ã«ã2çªç®ã®ãŠãŒã¹ã±ãŒã¹ãç¹°ãè¿ãããŸãã ãããããã®ãªãã·ã§ã³ã¯ãããŸã§ã®ãšããæãæ©èœããŠããŸããã
ãã®ã·ã¹ãã ã®åºæ¬çãªã¡ã«ããºã ãšãžã§ãŒã¯ã«ã€ããŠè©±ãããšãã§ããŸããã ãããããã®ç« ã¯éåžžã«å€§ãããªããŸãã ããã¯ãå¥ã®ã¡ã¢ã®äž»é¡ã§ããå ŽåããããŸãã
5.ãã°ã§ã¯ãªããæ©èœã§ãïŒ

èªåãã¹ãã®å®è¡äžã«çºçããäŸå€ã¯ãåé¡ãéç¥ããŸãã
ããã¯ãéçºè ã®ãã°ã®ã·ã°ãã«ã§ããå¯èœæ§ããããŸãã ãã¹ãèªäœã®èšè¿°ã¯äžååã§ãã ãããŠããã®æ²é³Žã¯ãã§ã«ä¿®æ£ãããŠããã¯ãã§ãã ããŒã«èªäœãäŸå€ã§ã¯ãããŸããã Seleniumã®æ¬ é¥ã®ãªã¹ãã¯ããã«ãããŸã ã
ããããããã¯ç§ã話ããŠããããšã§ã¯ãããŸããã
ãã®ç¶æ³ã¯ãããã§ããïŒ ããšãã°ãæåãã¹ãã®æ®µéã§æ¬ é¥ãæ€åºãããŸããã ããã¯ãã°ãã©ãã«ãŒã«ãªã¹ããããŠãããããã€ããŒãã§ããå¯èœæ§ããããŸãã ãã®ãã°ã¯ãŠãŒã¶ãŒã«ãšã£ãŠèŽåœçã§ã¯ãªããç°¡åã«åé¿ã§ããŸãã çŸæç¹ã§ã¯ãéçºè ã«ã¯ããéèŠãªã¿ã¹ã¯ãããããã®æ¬ é¥ã®ä¿®æ£ã¯ããè¯ãææãŸã§æ®ãããšãã§ããŸãã ãããŠä»ãååž°ãã¹ããå¿ èŠã§ãããã®ãã¹ã¯ã説æãããŠããæ¬ é¥ãéãæããŸãã ãã¹ããæžãããããããŠ...ãªããŠãã£ãïŒ ãã°ã®åå ãšãªã£ãæãããäŸå€ã§ã¯ã©ãã·ã¥ããŸãã
ç¶æ³ã¯ãç§ã¯ããªãã«èšããŸãããå¿«é©ã§ã¯ãããŸããã æåã®æ¹æ³ã¯ããšã©ãŒããã£ããããŠãã¹ããæåŸãŸã§ãã¹ã§ãããããªæŸèæãäœãããšã§ãã ããããªããšãã²ã©ãããšãèµ·ããå¯èœæ§ããããŸã-ãã¹ãã¯ãã®é倧ã§ãªããšã©ãŒã«å°éããã ãã§ãèœã¡ãŠæ®ãããã§ãã¯ããŸããã ãããŠãããã«ããçš®ã®æ²åãç»ããŸãã-éçºè ãšããã«æ··ä¹±ãäœãåºããŸããã ãããããã¯ã©ã³ãããæžããšããã¹ãã¹ã¯ãªããèªäœãããã¹ã察象ãèšè¿°ããã¯ã©ã¹ãè€éã«ãªãå¯èœæ§ããããŸãã ãã®æ¬ é¥ã¯ãã§ã«ä¿®æ£ãããŠããŸããããæŸèæããå¿ããããšããããŸãã ãããŠããããžã§ã¯ãå šäœãããã«äŒŒããã®ã«ãªãå¯èœæ§ããããŸãã

ããã«æªãç¶æ³ããããŸã...
äž»ãªäŸã¯ã StaleElementReferenceExceptionã®çºçã§ãã 詳现ã¯ãã¡ããã芧ãã ãã ã ããã¯ã䜿çšããããŒã«ãåã«èšèšãããŠããªãåŠçã«å¯ŸããŠããã¹ããããã¢ããªã±ãŒã·ã§ã³ã®éåžžã®åäœäžã«ç¶æ³ãçºçããå Žåã®äŸã§ãïŒ
ããšãã°ãGoogleãã©ã€ãããã¥ã¡ã³ãã®ãªã¹ããšã¹ãã¬ããã·ãŒãããã¥ã¡ã³ãã®ããã¹ãããäœæããããšãããšãã«ãããã«ééããŸããã ãã®å³ã¯ããã®ãããªäŸå€ãæãé »ç¹ã«çºçããã¢ã¯ã·ã§ã³ã瀺ããŠããŸãïŒåŒ·èª¿è¡šç€ºãããç·ã®èŠçŽ ãã¯ãªãã¯ããŸãïŒã

ãã¢ã¹ã¿ãªã¹ã¯ãã®å€ãå€æŽããåŸãããã¹ããã®ãããªãééã¯å°é·åãéãæ ã®ããã§ããã ãã¹ã¿ãŒããå ã®ç¶æ ã«æ»ãããšãããšãããŸãã¯å·ŠåŽã«ãããã§ãã¯ããã¯ã¹ã䜿çšããããšãããšããããã³å Žåã«ãã£ãŠã¯ããã¥ã¡ã³ããéãããšãããšãã«ãšã©ãŒãçºçããŸããã
ãã®ãšã©ãŒã«å¯ŸåŠããæ¹æ³ã¯ããã€ããããŸã- åãã¢ã¯ã·ã§ã³ã®åå®è¡ïŒã¢ã€ãã ã®æ€çŽ¢ãšã¢ã¯ã·ã§ã³ã®å®è¡ïŒãããã·ã³ã®ä»®æ³ã¡ã¢ãªã®å¢å ãŸã§ã ãªãã±ãŒïŒ ç§ãã§ããªã2çªç®ã®ãšä»®å®ããŸãã ãããããæåã®ãã®ã¯ç§ã®ããã«æ®ã£ãŠããŸãã
è©ŠããŠã¿ã
{
//ããã€ãã®ã¢ã¯ã·ã§ã³
}
catchïŒStaleElementReferenceException eïŒ
{
//åãã¢ã¯ã·ã§ã³ãããäžåºŠ
}
ã¯ããåäœããŸãã ãããããã®ããã«èšè¿°ãããåã¡ãœããã§ã¯ã©ã¹ãç¶æããã®ã¯ç°¡åã§ããïŒ ãããŠãããããã¹ããããæ©èœã§èŠ³å¯ããããïŒ
Googleãã©ã€ããããã¹ããããããšããåã«ã決å®ã¯çããŠããŸããã
ITestObjectExceptionHandlerã€ã³ã¿ãŒãã§ãŒã¹ãæãã€ããŸããã ãããŠã ããã¯ãããå®è£ ããæœè±¡ã¯ã©ã¹ã§ã ã å¯èœãªäŸå€åŠçã®ããã»ã¹ãç°¡çŽ åããããã«ãã³ã³ã¹ãã©ã¯ã¿ãŒãšthrowableListå±æ§ãè¿œå ãããŸããã ã¯ã©ã¹ãªããžã§ã¯ããç¶æ¿ããç®çã¯ãäŸå€ãåŠçããŠå€ãè¿ãããæ°ããäŸå€ãã¹ããŒããããšã§ãã
次ã
åã«èª¬æããPageããã³Entityã¯ã©ã¹ã«æ»ããŸãã ãããã«ã¯ã¯ã©ã¹ããããŸã- ãããã®å±æ§ãæã€ç¥å ã Pageããã³Entityã®ã€ã³ã¿ãŒã»ãã¿ãŒã®ç¥å ã«ã¯ã ãã®ãããªå®è£ ããããŸãã ç¹°ãè¿ãã«ãªããŸããã ããã¯ã€ã³ã¿ãŒã»ãã¿ãŒãPageã¯ã©ã¹ãšãã®åå«ã«å¯ŸããŠã©ã®ããã«æ©èœããããæãåºãããŸããå¿ èŠãªãã®ã¯åŒ·èª¿è¡šç€ºãããŸã/ ** / ã Entityã¯ã©ã¹ã®å®è£ ã¯éåžžã«äŒŒãŠããŸãã
.., . , , . , , .
Google Drive , , , StaleElementReferenceException. , Google Drive, .
: StaleElementReferenceException . (!). , Google .
, - , .
ããšãã°ã :
1. Google Drive
2.
3.
4. «»
5.
, , :





.

, - , , . , . : UnhandledAlertException. - , . , . , , , .
, :
1. ( ) ;
2. .
, , .
:
1. .
2. ( ) .
: . : FAILED TESTS BUT WITHIN SUCCESS PERCENTAGE. :

(!!!). . , , .
6. .



ãã£ãããçæéãªã³ã«ããŸãã ããããã誰ããããã¹ãã«çŽæ¥åæ Œããããšã«å ããŠã補åã®çŸåšã®ç¶æ ãå€æã§ãããããã§ãäœããã®ææ°ãå¿ èŠã§ããããšãç解ããŠããŸãã ããŠããŸãã¯ãã¹ãã«åæ Œããããã®è©³çŽ°ãå¿ èŠã§ã...ãããã®ã¿ã¹ã¯ã¯ããã®ã³ã°ãšã¬ããŒãã解決ããã ãã§ãã
å®éšã«javaã䜿çšããããããã®ã³ã°ã«é©åãªãã¬ãŒã ã¯ãŒã¯ãéžæãããšé ãçãã§ãã ãããŠãããããã®éžæè¢ããããŸããïŒ ãã®èšäºã®èè ã¯ãjavaã§ã®ãã°ã€ã³ã®ç¶æ³ãéåžžã«ãã説æããŠããŸãã ãããŠãæåã¯ç§èªèº«ãäœãåãåããããããããªãã£ãã ããã«ããã®ãã°ã䜿çšããŠã¬ããŒããäœæã§ããå¿ èŠããããŸãã
èŠçŽãããšïŒ
-ã¡ãã»ãŒãžãã¬ãã«ãã³ã³ãœãŒã«ãžã®åºåããŒã¿ãèšé²ã§ããã·ã³ãã«ãªãã¬ãŒãå¿ èŠã§ã-å°ãªããšãã
-äŸå€ã®ãªããžã§ã¯ããçºçããå ŽåãäŸå€ã®ãªããžã§ã¯ãã«ãåºå·ãã§ããã®ã¯éåžžã«è¯ãããšã§ãã
-ãããŠéåžžã«è¯ã-ãã¹ãäžã«å€æãããã¡ã€ã«ãžã®ãªã³ã¯ããã°ãšã³ããªã«æ·»ä»ããæ©èœã
æåã®2ã€ã®ãã€ã³ãã§ãã¹ãŠãæ確ã«ãªã£ããšæããŸãã 第äžã«ã ãã¡ã€ã«ã«ã¯ããããããã®ãxmlãã¡ã€ã«ãå ¥åãããããã¹ãããŸãã¯ãã©ãŠã¶ãŠã£ã³ããŠããååŸããã¹ã¯ãªãŒã³ã·ã§ããã䜿çšã§ããŸãã ããã¯ãããšãã°ãã°ãšã³ããªãåŠçããå Žåã«äŸ¿å©ã§ãã
ã¬ããŒãã«ã€ããŠïŒ
-1ã€ã®ãã¹ãã®å®è¡äžãšããã¹ãå šäœã®èµ·ååŸã®äž¡æ¹ã§çæãããã¬ããŒããå¿ èŠã§ãã
-ãã®ã¬ããŒãã§ã¯ãéžæãããã¹ãã§å®è¡ãããæé ã®èª¬æã確èªããããšæããŸãã
-ãã®ãããªè©³çŽ°ã«ã¯ãã¹ã¯ãªãŒã³ã·ã§ãããŸãã¯ãã®ä»ã®èŠèŠæ å ±ã衚瀺ã§ããããšãæãŸããã
ãã¹ãèªäœãå®è¡ããããã®ãã¬ãŒã ã¯ãŒã¯ãšããŠTestNGãéžæããããšãå¿ããªãã§ãã ããã ãªãã§ïŒ ãŸãããã¹ãã¬ããŒããçæããæ©èœãããããã§ãã ãããããã詳现ãªèª¿æ»ã®åŸã mavenãšantãšã®çµ±åæ§ ã jenkinsãhudsonãªã©ã®ç¶ç¶ççµ±åã·ã¹ãã ã§äœ¿çšã§ããæ©èœããã«ãã¹ã¬ããäœæ¥ãªã©ãä»ã®å€ãã®å©ç¹ãããããšã«æ°ä»ããŸããã èå³ããã人ã¯èª°ã§ãããã¥ã¡ã³ããèŠãããšãã§ããŸãã
ããããç§ã¯æ°ãæ£ã£ãŠããäœã...
ãã¬ãŒãšããŠã java.util.logging.Loggerã䜿çšããããšã«ããŸããã ãªãã§ïŒ
-1.4以éã®ãã¹ãŠã®Javaã§ããããžã§ã¯ããžã®äœåãªäŸåé¢ä¿ã¯ç¡çšã§ãã
-ãã©ãŠã¶ãã°ãšã®çµ±åã¯ç°¡åã§ãïŒMozilla Firefoxãä»ã®ãã©ãŠã¶ã®ãã°æœåºã¯ãŸã å®è£ ãããŠããŸããïŒã
-ä»ã®ãã®ã³ã°ã©ã€ãã©ãªïŒããšãã°ã log4j ã slf4j ã logbackãªã©ïŒã䜿çšããå Žåããã¬ãŒã«ã¡ãã»ãŒãžãéä¿¡ããããšã¯åžžã«å¯èœã§ãã
ãããïŒ
-ãã¬ãŒã®æ瀺çãªåæåãåãé€ãããã
-è€éãªãŠãŒã¹ã±ãŒã¹ããããŸã-ã¡ãã»ãŒãžéå±€ãæ§ç¯ããŸãã ååãšããŠããããã°æ å ±ã«å¯Ÿå¿ããå¿ èŠã®ããå€æ°ã®ã¬ãã«-FINEãFINERãFINEST ...äžèŠãªãã¹ãŠãäœããã®æ¹æ³ã§é®æããå¿ èŠããããŸãã
-éžæãããã¬ãŒãšäžèšã®ãã¬ãŒã¯ãã¡ãã»ãŒãžã«ãã¡ã€ã«ãæ·»ä»ã§ããŸããã ããã¯ãFileHandlersãªã©ã®åé¡ã§ã¯ãããŸããã
ä»æ±ºå®ã
ç§ã®ãããžã§ã¯ãã§ã¯ãçãæ確ãªååã®ã¯ã©ã¹-LogãäœæããŸããã 圌ã®äž»ãªæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
-debugïŒStringïŒ -FINEã¬ãã«ã®ã¡ãã»ãŒãžãçæããŸãããããã°ç®çã§äœ¿çšããããšããå§ãããŸã
-ãšã©ãŒïŒæååïŒ-é倧ã¬ãã«ã®ã¡ãã»ãŒãžãé倧ãªãšã©ãŒã«é¢ããã·ã°ãã«ãçæããŸãã
-ã¡ãã»ãŒãžïŒæååïŒ -INFOã¬ãã«ã®ã¡ãã»ãŒãžãçæããéåžžã®ç¶æ ã«é¢ããã·ã°ãã«ã
-èŠåïŒæååïŒ- èŠåã¬ãã«ã®ã¡ãã»ãŒãžãçæããèããããåé¡ã«é¢ããã·ã°ãã«ãçæããŸãã
-logïŒã¬ãã«ãæååïŒ- ãããã®ã¬ãã«ã®ããããã§ã¡ãã»ãŒãžãçæããã人ã®ããã«ã
ãã£ãããããäŸå€ã®ãªããžã§ã¯ããšããŠè¿œå ã®ãã©ã¡ãŒã¿ãŒãæã€åãã¡ãœããïŒ
-ãããã°ïŒæååãã¹ããŒå¯èœïŒ;
-ãšã©ãŒïŒStringãThrowableïŒ;
-ãã°ïŒã¬ãã«ãæååãã¹ããŒå¯èœïŒ;
-ã¡ãã»ãŒãžïŒStringãThrowableïŒ;
-èŠåïŒæååãã¹ããŒå¯èœïŒã
ããã«ïŒæ³šæïŒïŒããã¡ã€ã«ããªã³ã¯ããŠãã°ãæžã蟌ãæ©èœãæã€ã¡ãœããïŒ
-ãããã°ïŒæååããã¡ã€ã«ïŒ;
-ãšã©ãŒïŒæååããã¡ã€ã«ïŒ;
-ãã°ïŒã¬ãã«ãæååããã¡ã€ã«ïŒ;
-ã¡ãã»ãŒãžïŒæååããã¡ã€ã«ïŒ;
-èŠåïŒæååããã¡ã€ã«ïŒã
å®éããããã¯ãã¹ãŠjava.utils.logging.Logããã³java.utils.logging.LogRecordã®åçŽãªã©ãããŒã§ãã ãããã¯ãã¹ãŠããããžã§ã¯ãå ã®ã©ãããã§ãã¢ã¯ã»ã¹ã§ããéçãããªãã¯ã¡ãœããã§ãã
䜿çšäŸ ã³ã¡ã³ãã®ä»£ããã«äœ¿çšã§ããŸãã ããããããªãã¯ããã§èª°ããé©ãããã§ãããã
ããã§ã¯ããã¡ã€ã«ããã°ã«ãããã¯ãããã«ã¯ã©ãããã°ããã§ããïŒ å®éããã®ãã¬ãŒã¯LogRecordãªããžã§ã¯ãã§ã¯ãªãããã®åå«ãäœæãã LogRecWithAttachãšåŒãã§ããŸã ã ãã¹ãŠãã·ã³ãã«ã§ãïŒ ãç¥å ããšã®10ã®éãã5ãã€ã³ããã«ã«ãã®å¢å ãèŠã€ãã人ã
ãªãã±ãŒïŒ ãããã誰ãããã§ã«è³ªåãæã£ãŠãããããããŸããïŒãèè ããªãããªãã¯ãã®ãããªéå°ãå¿ èŠãªã®ã§ããïŒã
ãŸãããŸããç§ãå®è£ ãããéèŠãªæ©èœã®1ã€ã¯ãããŒãžããã¹ã¯ãªãŒã³ã·ã§ãããæ®ãããšã§ããã ã¹ã¯ãªãŒã³ã·ã§ããã¯ããã°ãã¬ããŒãã«è¿œå ã§ãããšæããŸãã 䟿å®äžããã°ãšã³ããªã«åçããŒãžãžã®ãªã³ã¯ãå«ãŸããŠãããšè¯ããšæããŸãã
ã¹ã¯ãªãŒã³ã·ã§ãããæ®ãæ©èœã¯ãPhotographerãšããã¯ã©ã¹ã«ãã£ãŠå®è¡ãããŸãã 圌ã®æ¹æ³ã®ãªã¹ãã¯ããã«ãããŸãïŒ

ãã®æ©èœã¯æ¬¡ã®ãšããã§ãã
1.ã¢ã¯ãã£ããªããŒãžããã¹ã¯ãªãŒã³ã·ã§ãããæ®ãããã¡ã€ã«ã«ä¿åããŸãã
2.å¿ èŠãªéèŠåºŠã®ãã°ãšã³ããªãäœæããä¿åããã¹ã¯ãªãŒã³ã·ã§ãããžã®ãªã³ã¯ãè¿œå ããŸãã
3.ãããããWebElementãäžéšã®ã¡ãœããã®ãã©ã¡ãŒã¿ãŒãšããŠæå®ãããŠããããšã«æ°ã¥ããã§ãããã ãããã®ã¡ãœããã¯ãããŒãžäžã®èŠçŽ ã匷調衚瀺ããåçãæ®ããèŠçŽ ãå ã®ç¶æ ã«æ»ããŸãã ãã®ãããªã¹ã¯ãªãŒã³ã·ã§ããã®äŸã¯ä»¥åã«ç€ºãããŸããã ããã«ãããã¯ã©ã€ãã®è²ã¯ãããŒãžã®éžæããããã©ã°ã¡ã³ãã®ç¶æ ã®ãæ£ç¢ºããã«äŸåããŸãã ãã®ãããã¹ã¯ãªãŒã³ã·ã§ããã¯ééã£ãïŒã¿ã€ãã®ïŒç¶æ ã瀺ããŠããŸãã

å 容ãæ£ãããªãããã¥ã¡ã³ãã®ãªã¹ãïŒããã¹ããæ¡ä»¶ã§ã¯ãããã¹ãããã¥ã¡ã³ããšMS AccessããŒã¿ããŒã¹ãããŒãããªãã§ãã ããïŒã¯æãããªã¬ã³ãžè²ã§åŒ·èª¿è¡šç€ºãããŸãã ãã®ãããªåçã¯ãPhotographer.takeAPictureOfAWarningã¡ãœããïŒWebDriverãWebElementãStringïŒã®åŒã³åºãã®1ã€ã«ãã£ãŠæ®åœ±ãããŸããã
確ãã«ã1ã€ïŒ!!!ïŒãããŸã-èŠçŽ ã¯javaScriptã䜿çšããŠéžæãããŸãã ã¹ã¯ãªãŒã³ã·ã§ããã«èŠçŽ ã®åº§æšãæ圱ãããšããã¢ã€ãã¢ããããŸããã ããŸããããŸããã ãã ãããã¬ãŒã å ã«ããèŠçŽ ãã¹ã¯ããŒã«ã®ããããŒãžã«é 眮ãããŠããèŠçŽ ã®å Žåããã®ãããªæ圱ïŒåã§å²ãŸããé åïŒã¯ãªãã»ããä»ãã§ååŸãããŸããã ç§ã¯ãã®èããæšãŠãªããã°ãªããŸããã§ããã ããããã®äžæ¹ã§-ä»ã§ã¯ç¹æ®å¹æã䜿ã£ãŠãããªãé²ç»ããæ©äŒããããŸãïŒ..
äžè¬çã«-ç§ã®åç家ã¯ãã°ãè£è¶³ããŸãã
2çªç®ã®ãæªããªãæ©äŒã¯ãååãšããŠãã¡ã€ã«ãæ·»ä»ããããšã§ãã ããšãã°ãèç©ãããã¡ãã»ãŒãžã«åºã¥ããŠããªã«ããŠã³ã衚瀺ããã¬ããŒãã§ãã¡ã€ã«ãžã®ãªã³ã¯ãèŠã€ããã®ã¯æ¬åœã«æªãã§ããïŒ ããšãã°ãäžèšã®äŸããGoogleãã©ã€ãã«ããŠã³ããŒãããããã®ã ãã®ãªã³ã¯ãã¯ãªãã¯ããŠã衚瀺çšã«éããŸãã
ãã®ããã1ã€ä»¥äžã®ãã¹ãã®ééã«é¢ããéçšã¬ããŒãã®äœæã«ã¹ã ãŒãºã«ç§»è¡ããŠããŸãã
ãŸããäžèšã®æ©èœãèæ ®ããŠãã°ãå€æããå¿ èŠãããå Žåã IlogConverterãšåŒã°ããã€ã³ã¿ãŒãã§ã€ã¹ãæãä»ããŸãã ã
ãããŠãããã«äœ¿çšäŸããããŸãã ããšãã°ãlog4jã©ã€ãã©ãªãŒãè¿œå ã§äœ¿çšããŸãã ãã®ãã¬ãŒã«ãã¡ã€ã«ããŒã¿ãå¿ èŠã§ãã çä¿¡ã¡ãã»ãŒãžã«æ·»ä»ãã¡ã€ã«ããããã©ããããã§ãã¯ãããªããžã§ã¯ããæã€ã¯ã©ã¹ãäœæã§ããŸãã ååšããå Žåãè¿œå ã®log4jã¡ãã»ãŒãžãçæãããŸãã ãããŠããã®ãªããžã§ã¯ãããã°ããèããããšãã§ããããã«ãç§ã¯ãã®ãããªæ¹æ³ãææ¡ããŸã-ãã°ã addConverterïŒILogConverterïŒã ãã®ã¡ã«ããºã ã¯ã ãã®ã³ãŒãã®ãããã§æ©èœããŸã ã
ãããŠãããã¯æ°ããã¡ãã»ãŒãžã衚瀺ããããšãã«äœãèµ·ãããã§ãïŒ
convert.convertïŒrecïŒ;
ç§ã®ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãTestNGã¬ããŒãã®è©³çŽ°ãçæããååä»ãã€ã³ã¿ãŒãã§ã€ã¹ã®ãæšæºãå®è£ ã®ãããªãã®ãäœæããŸããã 圌女ã®ConverterToTestNGReportãåŒã³åºããŸããã 圌女ã¯äœãããŠããã®ïŒ ç¹å®ã®htmlãã³ãã¬ãŒãïŒãããŸã§ã«æçµå±æ§ãšããŠããŒãã³ãŒãã£ã³ã°ãããŠããïŒã«åŸã£ãŠãã°ããã¡ãã»ãŒãžãã€ã³ã¿ãŒã»ããããã¬ããŒãè¡ã圢æããŸãã
Reporter.setEscapeHtmlïŒfalseïŒ;
Reporter.logïŒhtmlInjectionïŒ;
ããã«ãã¡ãã»ãŒãžã«ã¹ã¯ãªãŒã³ã·ã§ãããæ·»ä»ãããŠããå Žå-ä»ã®ãã¡ã€ã«ãã<a href = \ãã®å Žåãã<img src = \ãã«å€æããŸãã 確ãã«ããã¡ã€ã«ãžã®ãªã³ã¯ã®ã¿ããããŸãã ä»ã®ãšãããäœããã®çç±ã§ããããã®ãªã³ã¯äžã®ãã¡ã€ã«èªäœã¯éããŸããã ããããç§ã«ãšã£ãŠã¯ïŒ!!!ïŒããã§ååã§ãã
çµæã¯ã次ã®ã¬ããŒãã®ã¹ããããã§ãã ãããã¯ã«ã¹ã¿ãã€ãºãããã¬ããŒãã§ã¯ãªãããšã«æ³šæããŠãã ããã






ãã¡ãããããã¯å€±ç€ŒãããããŸããããåããŠãããªããŸãã TestNGã¬ããŒãã®è©³çŽ°ãã«ã¹ã¿ãã€ãºã§ãããã©ãããç解ãã䟡å€ããããšæããŸãã ãã®å Žåããã®ãããªã«ã¹ã¿ã ãäœæããããŒãã³ãŒãã£ã³ã°ããããã³ãã¬ãŒãã®ä»£ããã«äœ¿çšã§ããŸãã
ãããŠãããŸã§ã®ãšãããšãŠãè¯ãã ããããããã ãã§ã¯ååã§ã¯ãããŸããã 説æããŸã...
ãªãã±ãŒïŒ 䜿ãããããã¬ãŒããããŸãã ã¬ããŒããäœæã§ããããŒã«ããããŸãã ãã ããåæ Œãããã¹ãã®ã¹ããŒã¿ã¹ããã°ã¡ãã»ãŒãžã®æ倧ã¬ãã«ãšåæããŠããããšã確èªããå¿ èŠããããŸãã
説æããŸãã äœãããªãã£ãå Žåããã¹ããæåŸãŸã§åæ Œãã倱æããªãã£ãå Žåããã¹ãã®ã¹ããŒã¿ã¹ã¯SUCCESSã«ãªããŸãã å®è¡äžã«ãã£ãããããªãäŸå€ãçºçããå Žåããã¹ãã®ã¹ããŒã¿ã¹ã¯FAILUREã«ãªããŸãã ãã¹ããäŸåããŠãããå®çŸ©ãã¹ãããã¹ããªãã£ãå Žå-SKIP ã 次ã«ããå®è¡äžã«äœããçºçããå Žåã«ãèŠåãŸãã¯é倧ã¬ãã«ã®ãšã³ããªããã°ã«èšé²ãããããã«ããã¹ããå®å šã«åæ ŒãããšèŠãªãããšã¯å¯èœã§ããïŒããšãã質åãèããŠã¿ãŸãããã ã€ãŸããåæ Œãããã¹ãã®ã¹ããŒã¿ã¹ã¯SUCCESSã§ããã詳现ãèŠããšãé»è²ãšèµ€ã®ç·ã衚瀺ãããŠããŸãã ããã¯å°ãªããšã誀ã£ãæ å ±ã ãšæããŸãã
ç§ã®è§£æ±ºçã¯ä»¥äžã§ãã
ãã¹ãèªäœã«ã¹ã¬ããïŒããã³TestNGããã«ãã¹ã¬ããããµããŒãïŒãé¢é£ä»ããã¯ã©ã¹ãå®è£ ããŸããã 次ã«ãç¹å®ã®ãã¹ãïŒ ITestResultãå®è£ ããã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ïŒãåç §ããŠãã°ã¡ãã»ãŒãžãä¿åãããŸãã ãã®æç¹ã§ç§ã¯åæ¢ããŸããã ãã°ã¡ãã»ãŒãžããã¹ãã«ã©ã®ããã«ãªã³ã¯ãããŠãããã瀺ããŸãã åè¿°ã®ConverterToTestNGReportã®ãªããžã§ã¯ãã«ãã£ãŠçæãããŸã ã æåŸã«ã次ã®ãããªã¯ã©ã¹ãšããŠITestListenerã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããŸããã
-ãã¹ãïŒãã¹ãã¡ãœããïŒã®å®è¡ãéå§ããåã«ãConverterToTestNGReportã®ã€ã³ã¹ã¿ã³ã¹ããªã¹ããŒãšããŠãã°ã«è¿œå ããŸãã
-åãã¹ãã¡ãœããã®å®è¡åŸããã°ã®èšé²ãããäºå®ãšééã®ã¹ããŒã¿ã¹ãåæããŸãã
1.ãã¹ããæåŸãŸã§åæ Œãããããã°ã«SEVEREã¬ãã«ã®ã¡ãã»ãŒãžãããå Žåããã®ééã®ã¹ããŒã¿ã¹ã¯FAILUREã«å€ãããŸãã
2.ãã¹ããæåŸãŸã§åæ ŒããSEVEREãŸãã¯WARNINGã®ã¬ãã«ã®ã¡ãã»ãŒãžããªãã£ãå Žåããã®ã¹ããŒã¿ã¹ã¯å€æŽãããŸãã-SUCCESS ã
3.èŠåã¬ãã«ã®ã¡ãã»ãŒãžãèšé²ãããå Žåãã¹ããŒã¿ã¹ãSUCCESS_PERCENTAGE_FAILUREã«å€æŽããããšããå§ãããŸãã ãŸãã¯ãããŠãŒã¶ãŒãã«èªåã«é©ããã¹ããŒã¿ã¹ãéžæãããŸã ã
ãããŠä»ããã£ããŒã¬ïŒ
äžèšã®ã¬ããŒããäœæããã«ã¯ã次ã®ã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠããããŸãã
@ListenersïŒ{ReportBuildingTestListener.class}ïŒ
ãããªãã¯ã¯ã©ã¹NewTest {
ãã®ç« ã®çµè«ãšããŠããã®ã³ã°ã¯ãã§ã«ã»ãŒèªååãããŠãããšèšããããšæããŸãã ã€ãŸã å€ã®å ¥åïŒå ¥åã®ååŸïŒãã¯ãªãã¯ãšéä¿¡ïŒã¢ã¯ã·ã§ã³ãå®äºããåïŒãæ°ããã¿ã/ãã©ãŠã¶ãŠã£ã³ããŠã®å€èŠ³ããªã³ã¯ãã¯ãªãã¯ããçµæ-ã€ã³ã¿ã©ã¯ãã£ããªã¢ã¯ã·ã§ã³ãã°ã©ãã£ã«ã«ã«èšé²ãããŸãã ãã以å€ã®å Žåã¯ãããã€ãã®ãæšæºãããã¹ãã¡ãã»ãŒãžãçæãããŸãã
ãããã®æ©èœã®äžéšã¯ã¯ã©ã¹ã«ãã£ãŠåŒãç¶ãããŸããã¯ã©ã¹ã¯ãSeleniumãæ§æããããŒã«ãšäžäœã¬ãã«ã®ã¯ã©ã¹ã®éã®ã¬ã€ã€ãŒã§ãã
ããã¯ã ExtendedEventFiringWebDriver - EventFiringWebDriverã®åå«ã§ãã ãå®éã«ãã¹ãŠã®æ±ããäœæ¥ãè¡ããŸãã ãã®ã也ç¥ãã¯ããã¹ããããã¯ã©ã¹ãšããŠã®WebDriverEncapsulationã®äžéšã§ããIExtendedWebDriverEventListenerã€ã³ã¿ãŒãã§ã€ã¹ïŒæ¡åŒµWebDriverEventListener ïŒ ã®å®è£ ã«ãã£ãŠå®è¡ãããŸãã WindowSwitcherãšSingleWindow ããã©ãŠã¶ãŒãŠã£ã³ããŠ/ã¿ããããŒãžã£ãŒãããã³ãŠã£ã³ããŠ/ã¿ãèªäœã®è¡šç€ºã¯ããã®ã³ã°æ©èœã®äžéšãåŒãç¶ããŸãã
ãã®ã³ã°èªäœã¯ããããžã§ã¯ãå šäœã«å¯ŸããŠæ§æã§ããŸãã ãã ããæ§æãšãããã®ã¯ã©ã¹ã«ã€ããŠã¯ãå¥ã®èšäºã§ã話ãããããšæããŸãã
7.ããããã¢ããã°ã¯ãããŸãããïŒ




ã ããïŒ ã¿ã¹ã¯ã®1ã€ã¯ãé¡äŒŒäœãèŠã€ããŠãããããæäœããããšããããšã§ããã ããã¯å¿ãåºããŸãã ããã«ãå€ãã®äŸ¿å©ãªæ©èœãæ¢ã«å®è£ ãããŠããŸãã ãããŠããªãåãããšãããèªè»¢è»ãæžãã®ã§ããïŒ ãšã«ãããããŸããããŸããïŒ å¿ èŠãªæ©èœãã©ã®ããã«å®è£ ãããŠãããã確èªãããããã®äœ¿çšæ¹æ³ãåŠã¶ãšãã¯ããã«åœ¹ç«ã¡ãŸãã
ããããå®éã«ã¯ãé¡æšã¯äœã§ããïŒ
ç§ã絶察ã«å®è£ ããããšãæåŠããæ©èœã¯ãã¯ã©ã¹ãäœããã®åœ¢ã§WebElementãå®è£ ãããªããžã§ã¯ãã§åäœããŸãã ã€ãŸã ç§ã¯ãã®æ¹åã«äœãããªãããšã«ããŸãã ãããªã«åºããããŸãã- ãã®çŽ æŽããããã¬ãŒã ã¯ãŒã¯ã«é¢ããã¬ããŒãã ããããå®éã«è©ŠããŠã¿ãããšã«èå³ãçããŸããã Googleãã©ã€ãã§ã®å®éšäžã«å®å šã«æåããŸããã ãããŠãæéããããã«yandex-qatools htmlelementsãšã®çžäºäœçšã確ç«ããããšãã§ããŸããã ããšãã°ã ããã¯ããã®ãã¢ãããžã§ã¯ãã®ãã¹ãŠã®Pageãªããžã§ã¯ããç¶æ¿ãããæœè±¡ã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãŒã®å€èŠ³ã§ãã ããã ããã¹ãŠã®Googleããã¥ã¡ã³ãã®äžè¬çãªããããã£ãèšè¿°ããã¯ã©ã¹ã®ãã®ãããªå±æ§ã®ã»ãããååŸããŸããã ããã«WebElementã衚瀺ãããŸããïŒ ããŒãžãã£ãŒã«ãã説æãããã¹ãŠã®ã¿ã€ããããå±æ§ãããã³ãããã®ããã€ãã¯ãååä»ãã©ã€ãã©ãªã®ããã±ãŒãžã«å«ãŸããŠãããã®ã§ãã å¿ èŠãªèŠçŽ ã®äžéšãããã«ãããŸããã§ããã ãããããã®ããŒã«ã䜿çšããŠç°¡åã«èª¬æã§ããŸãã ã
ããã«ãããããã¹ãŠã¯ãç§ã眮ããŠããæ©èœãç ç²ã«ããããšãªãå¯èœã§ããã ãŸã£ããéã§ãã åã«èª¬æããããŒãžã®èª¬æã®å解ã¯ãããã«èŠèŠçã«ãªããŸããã ããã¯åæ¹ã«ãšã£ãŠå¥œéœåãªç¶æ³ã§ãïŒ
ããŒãžäžã®ãã£ãŒã«ããæäœããããã®å¥ã®èå³æ·±ãææ³ã¯ãthucydidesãã¬ãŒã ã¯ãŒã¯ã«å®è£ ãããŠããPageObjectã¯ã©ã¹ã®ç¶æ¿è ã®äŸã䜿çšããŠæ瀺ãããŸã ïŒè©³çŽ°ã¯åŸè¿°ïŒã
ãããã£ãŠããã®æ¹åã§ç¡é§ãªä»äºãããªãããšãæ¯æããè°è«ã¯ååãããã»ã©ã§ãã
ç§ã®ãç 究ãã®éçšã§ãç§ã¯å¥ã®ããŒã«ã«åºããããŸãã -ãã§ã«èšåãããããžã ã 圌ã«ã€ããŠã®èšäºãèªãã§ããªããžããªãèŠãŠãäœããæžãããšããŠãç§ã¯åœŒã®èœåã䜿ã£ãŠäœãšã圌ãšåéãäœãããšãæåã§ãããšããçµè«ã«éããŸããã ãããŠç§ãä¿¡ããŠãããã«ã¯å€ãã®çç±ããããŸãïŒ
-èªåãã¹ãã®æ®µéçãªæ§æã
-åã«åäœããã³ãŒããšããŠã§ã¯ãªãã JBehaveãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠã¹ã¯ãªãããèšè¿°ããæ©èœ ã
-ããŒãžãæäœããããã®äŸ¿å©ãªæ¹æ³ãšããŒã«ã®ã»ããã
-JIRAããã³ä»ã®èª²é¡è¿œè·¡ãšã®çµ±å ã
-ã¬ããŒãã ã«ããŒã«ã€ããŠã ç©èªã ç
1ã

2ã

3ã

å®ãèšããšãç§ã¯ãããžãã¹ãšçµã¿åãããŠ2ã€ç®ã®ãã¢ãããžã§ã¯ããäœæããããšãèããŠããŸããã ååãªæéãç±æããããŸããã§ããã ããããããããç§ã¯åœŒã«æ»ã£ãŠããã§ãããã ã¢ã€ãã¢ãå ±æãããããã©ã®çšåºŠå®çŸå¯èœããç¥ãããã ãã§ãã ãããŠãç§ãäœãå®è£ ãããã«ã€ããŠèª¬æããŸãã
- ãã¯ãã¹ãã©ã€ãããå®è£ ããŸãã ã
-1ã€ã®ãã¹ãã§è€æ°ã®éããŠãããã©ãŠã¶ãŒã§åäœããæ©èœã
- æ§æå¯èœæ§ãå®è£ ããŸããã
䜿çšãããã©ãŠã¶ãŒãæ©èœãã©ã¡ãŒã¿ãŒãã¿ã€ã ã¢ãŠãïŒWebdriverã®åŸ æ©ã¿ã€ã ã¢ãŠããç¬èª-æ°ãããŠã£ã³ããŠ/ã¿ãã®åŸ æ©æéã«é¢é£ããŠãããããåãæ¿ããïŒãæå®ããŠããããžã§ã¯ãå šäœã«å¯ŸããŠ1ã€ã®èšå®ãè¡ãããšãã§ããŸãã
äžè¬çãªèšå®ãšéšåçã«éè€ããå¯èœæ§ã®ããè¿œå /åå¥ã®èšå®ãè¡ãããšãã§ããŸãã
ã€ãŸã -äžè¬ã«ããã©ãŠã¶ããã®æ©èœ/èšå®ãããã³ã¿ã€ã ã¢ãŠãã®ã»ããã瀺ãããŸãã ããã«-ãã©ãŠã¶ãŒãšæ©èœã®ã¿ã ãã®èšå®ã䜿çšããŠæ°ããWebdriverã€ã³ã¹ã¿ã³ã¹ãäœæãããšãæå®ããããã©ãŠã¶ãŒãéããå¿ èŠã«å¿ããŠæ§æãããŸãããã¿ã€ã ã¢ãŠãã¯äžè¬çãªèšå®ããååŸãããŸãã
ããã¯ãããšãã°ããã¹ãããã©ã¡ãŒã¿ãŒåããããã«äœ¿çšã§ããŸãã TestNGã®ãã©ã¡ãŒã¿ãŒåã®äŸ ã ç§ã®äŸ ã
- ã³ã³ãã³ããåç §ããã«ãã©ãŠã¶ãŠã£ã³ããŠ/ã¿ãã管çããã¡ã«ããºã ïŒå¿ èŠãªããŒãžã®èªã¿èŸŒã¿ãå«ãïŒã
-Webdriverã€ã³ã¹ã¿ã³ã¹ãæé«ã¬ãã«ã§é衚瀺ã«ããããŒã«ã®ã»ãã ã ãã¹ãŠã®äœæ¥ã¯ããããéããŠè¡ãããŸãã å©ç¹ã¯äœã§ãã-HasInputDevices ã Options ã JavascriptExecutorãªã©ã®ã€ã³ã¿ãŒãã§ãŒã¹ã®äœ¿çšã«é¢é£ãããã¹ãŠã®æ±ãäœæ¥ ãã§ã«å®äºããŸããã äŸã
çã«ããªã£ãŠããå Žåã¯ãå¥ã®èšäºã§äžèšã«ã€ããŠèª¬æããŸãã
-4ããã³5ã§èª¬æãããŠããã€ã³ã¿ã©ã¯ãã£ããªçžäºäœçšãå®è£ ãããªããžã§ã¯ããç·šæããæ¹æ³ã
-6ã§èª¬æãããã®ã³ã°ãšãTestNGã¬ããŒãã®äŸã䜿çšããŠã¬ããŒããäœæããæ¹æ³ã
äžèšãããããããã«ãç§ã¯WebDriverãšé¢é£ã³ã³ããŒãã³ãã®æäœã«éäžããããšããŸããã
ãã®ç¹ã«é¢ããŠãããã¥ãã£ãã«ã¯ãªããã®ïŒããã«é ãã®å°è±¡ã®ããå°è±¡ïŒïŒ
- éããŠããããŒãžã®ãããã远跡ããã³æ§ç¯ããæ©èœã Pagesããã³PageUrlsã¯ã©ã¹ ã ãªã³ã¯ã«çŽæ¥ç§»åããããååŸã«ç§»åãããããããšããã§ããŸããã
- èŠçŽ ãæäœããããã®ããŒã«ãè¿œå ã®æåŸ å€ã»ãã ã PageObject ã
ãããŠä»ãäžè¬çãªã¢ã€ãã¢ïŒ
1.ã¡ã«ããºã ã䜿çšããŠãã©ãŠã¶ãéãããã
2.åè¿°ã®Entityã¯ã©ã¹ã®åå«ã®ãªããžã§ã¯ã-Pagesãªããžã§ã¯ãã®ã©ãããŒã ãããã£ãŠãäž¡æ¹ã®ã¯ã©ã¹ã®æ©èœãçµã¿åãããããšããŸãã
3. PageïŒç¬¬4ç« ïŒã¯ã©ã¹ãšPageObjectïŒthucydidesïŒã¯ã©ã¹ã®ç¶æ¿ã®æ©èœãäœããã®æ¹æ³ã§çµã¿åãããããšãã§ããŸãã
4.çªå·3ã®ã¬ããŒãã«æ»ããŸããããã芧ã®ãšãããã¹ãããã¯éåžžã«å€§ãããªãå ŽåããããŸãïŒæåã®ã¹ãããã«ã¯1åãããã30ç§ä»¥äžãããŸãïŒã 確ãã«ãããã¯ã¢ãããã¯ãªã¹ãããã§ã¯ãããŸããã ãã®ã¬ããŒãã«è¡šç€ºãããã¹ã¯ãªãŒã³ã·ã§ããã¯ãã¹ãããã®æåŸã®ç¶æ ã§ãã ã¹ãããã倱æããå Žåã¯ã©ããªããŸããïŒ ããšãã°ã補åã誀ã£ãç¶æ ã«ãªã£ãåå ã®å³ãèŠããã§ãã
ã§ãããã第6ç« ã§èª¬æããçŠç¹ãåããšãå®è¡äžã«å€éšããåŒã³åºãããšãã§ããã¬ããŒãã®ã¹ããã詳现ãäœæããæ©äŒãããã°ãããã¯çŽ æŽãããããšã ãšæããŸãã
5.ä»ã®ãã¹ãŠãããã¥ãã€ããè¡ããŸãã
ãã®ãããªãã®ïŒ
çŸæç¹ã§ã¯ããµãŒãããŒãã£è£œã®ããŒã«ã䜿çšããŠæ©èœãæ¡åŒµã§ããªããã¢ã³ã¹ã¿ãŒã®ãããªã·ã¹ãã ãéçºããããšã¯çæ³çãªéžæè¢ã§ã¯ãªããšæããŸãã , :
â ;
â , , Selenium Webdriver .

.
8. .
.
Google Drive. Yandex QA Tools Html Elements. , - . . FireFox, Chrome, Safari RemoteWebDriver, Chrome.
*.jar . - , :
1. jdk7.
2. maven project.
3. . selenium ( 2.35) TestNG!
4. pom.xml .
, . . , - . , . . - . . . , , , ?
9. .

, . âŠ
, , , . , â â , - .
, . , - . , , . - , , .
. , . - . :
â . :
FireFox ( 21.0);
Chrome (26-30);
Internet Explorer ( 9.0.8112);
Safari (5.1.7 Windows);
Opera (12.16)
HTMLUnitDriver â ;
RemoteWebDriver c .
â iPhone Android, PhantomJS.
â TestNG. .
â Junit .
â .
, - . ( ), , .
ããããïŒ