HTMLã©ã³ããŒ
Execute HTML Selenium IDE exports from command line
Selenium-IDE (çµ±åéçºç°å¢) ã¯ãSelenium ãã¹ãã±ãŒã¹ãéçºããããã®ããŒã«ã§ãã Selenium-IDE ã¯äœ¿ãããã Firefox ãã©ã°ã€ã³ã§ãäžè¬ã«ãã¹ãã±ãŒã¹ãéçºããããã®æãå¹ççãªæ¹æ³ã§ãã Selenium-IDE ã§ã¯ã³ã³ããã¹ãã¡ãã¥ãŒã䜿çšã§ããŸãã ã³ã³ããã¹ãã¡ãã¥ãŒã䜿ããšããŸãçŸåšãã©ãŠã¶ã«è¡šç€ºãããŠããããŒãžäžã® UI èŠçŽ ãéžæããæ¬¡ã« Selenium ã³ãã³ãã®ãªã¹ãããç®çã®ã³ãã³ããéžæã§ããŸãã ã³ãã³ãã®ãã©ã¡ãŒã¿ã¯ãéžæããã UI èŠçŽ ã®ã³ã³ããã¹ãã«åŸã£ãŠããããããå®çŸ©ããããã®ã䜿ãããŸãã Selenium-IDE ãäœ¿ãæ¹æ³ã¯ãæéã®ç¯çŽã«ãªãã ãã§ãªããSelenium ã¹ã¯ãªããã®æ§æãåŠã¶ææ®µãšããŠãåªããŠããŸãã
ãã®ç« ã§ã¯ Selenium-IDE ã«ã€ããŠè©³ããåãäžããSelenium-IDE ã广çã«äœ¿ãæ¹æ³ã«ã€ããŠèª¬æããŸãã
Firefoxã䜿çšããŠãæåã«SeleniumHQããŠã³ããŒãããŒãžããIDEãããŠã³ããŒãããŸãã
Firefoxã¯ãäžæ £ããªå Žæããã¢ããªã³ãã€ã³ã¹ããŒã«ããªãããã«ä¿è·ãããããæ¬¡ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ãã€ã³ã¹ããŒã«ãç¶è¡ããã«ã¯âèš±å¯âãã¯ãªãã¯ããå¿ èŠããããŸãã
FirefoxããããŠã³ããŒããããšã次ã®ãŠã£ã³ããŠã衚瀺ãããŸãã
ãä»ããã€ã³ã¹ããŒã«ããéžæããŸãã Firefoxã®ãã¢ããªã³ããŠã£ã³ããŠããããã¢ããããæåã«ããã°ã¬ã¹ããŒã衚瀺ãããŸãã ããŠã³ããŒããå®äºãããšã次ã®ãããªç»é¢ã«ãªããŸãã
Firefoxãåèµ·åããŸãã Firefoxã®åèµ·ååŸãFirefoxã®ãããŒã«ãã¡ãã¥ãŒã«ã¯ããSelenium-IDEãã衚瀺ãããŸãã
Selenium-IDEãå®è¡ããã«ã¯ãFirefoxã®ãããŒã«ãã¡ãã¥ãŒãããSelenium-IDEããéžæããã ãã§ãã 空ã®ã¹ã¯ãªããç·šéãŠã£ã³ããŠãšããã¹ãã±ãŒã¹ãèªã¿èŸŒãã ãæ°èŠäœæãããããã¡ãã¥ãŒã®ãã Selenium-IDE ã®ãŠã£ã³ããŠã衚瀺ãããŸãã
ããã¡ã€ã«ãã¡ãã¥ãŒã«ã¯ããã¹ãã±ãŒã¹ãšãã¹ãã¹ã€ãŒãïŒãã¹ãã±ãŒã¹ã®ã¹ã€ãŒãïŒã®ãªãã·ã§ã³ããããŸãã ãããã䜿çšããŠãæ°ãããã¹ãã±ãŒã¹ã远å ãããã¹ãã±ãŒã¹ãéãããã¹ãã±ãŒã¹ãä¿åããéžæããèšèªã§ãã¹ãã±ãŒã¹ããšã¯ã¹ããŒãã§ããŸãã æè¿ã®ãã¹ãã±ãŒã¹ãéãããšãã§ããŸãã ããããã¹ãŠã®ãªãã·ã§ã³ã¯ããã¹ãã¹ã€ãŒãã§ã䜿çšã§ããŸãã
ãç·šéãã¡ãã¥ãŒã§ã¯ããã¹ãã±ãŒã¹ã®ã³ãã³ããç·šéããããã®ãã¹ãŠã®æäœãã³ããŒã貌ãä»ããåé€ãå ã«æ»ããéžæã§ããŸãã ããªãã·ã§ã³ãã¡ãã¥ãŒã§ã¯ãããŸããŸãªèšå®ã倿Žã§ããŸãã ç¹å®ã®ã³ãã³ãã®ã¿ã€ã ã¢ãŠãå€ãèšå®ããSeleniumã³ãã³ãã®åºæ¬ã»ããã«ãŠãŒã¶ãŒå®çŸ©ã®ãŠãŒã¶ãŒæ¡åŒµæ©èœã远å ãããã¹ãã±ãŒã¹ãä¿åãããšãã«äœ¿çšãã圢åŒïŒèšèªïŒãæå®ã§ããŸãã ããã«ããã¡ãã¥ãŒã¯ Firefox æšæºã®ããã«ããã¡ãã¥ãŒã§ããã®äžã® ãUI-Element Documentationã ã ãã Selenium-IDE ã«é¢ä¿ã®ããé ç®ã§ãã
ããŒã«ããŒã«ã¯ããã¹ãã±ãŒã¹ããããã°ããããã®ã¹ãããå®è¡æ©èœãã¯ããããã¹ãã±ãŒã¹ã®å®è¡ãã³ã³ãããŒã«ããããã®ããŸããŸãªãã¿ã³ã䞊ãã§ããŸãã å³ç«¯ã®èµ€ãäžžã®ãã¿ã³ã¯ããRecordã(èšé²) ãã¿ã³ã§ãã
ãSpeed Controlã (é床調ç¯): ãã¹ãã±ãŒã¹ã®å®è¡é床ã調ç¯ããŸãã
ãRun Allã (ãã¹ãŠå®è¡): è€æ°ã®ãã¹ãã±ãŒã¹ãæã€ãã¹ãã¹ã€ãŒããèªã¿èŸŒãŸããŠãããšãã«ãã¹ãã¹ã€ãŒãå šäœãå®è¡ããŸãã
ãRunã (å®è¡): çŸåšéžæãããŠãããã¹ããå®è¡ããŸãã ãã¹ãã1ã€ããèªã¿èŸŒãŸããŠããªãå Žåããã®ãã¿ã³ãšãRun Allããã¿ã³ã®åäœã¯åãã§ãã
ãPauseã / ãResumeã (äžæåæ¢/åé) : å®è¡äžã®ãã¹ããäžæåæ¢ãŸãã¯åéããŸãã
ãStepã(ã¹ãããå®è¡): ã³ãã³ãã1ã€ãã€å®è¡ãããã¹ãã±ãŒã¹ã®ã1ã¹ãããå®è¡ããè¡ããŸãã ãã¹ãã±ãŒã¹ããããã°ãããšãã«äœ¿ããŸãã
ãTestRunner Modeã (TestRunner ã¢ãŒã): ãã¹ãã±ãŒã¹ã Selenium-Core TestRunner ã§èªã¿èŸŒãã§ãã©ãŠã¶ã§å®è¡ããããšãã§ããŸãã TestRunner ã¯ä»ã¯ããŸã䜿ãããŠãããããããéæšå¥šãšãªãã§ãããã ãã®ãã¿ã³ã¯ããã¹ãã±ãŒã¹ãè©äŸ¡ããŠãTestRunner ãšã®åŸæ¹äºææ§ããããã©ããã調ã¹ãããã«çšæãããŠããŸãã ã»ãšãã©ã®ãŠãŒã¶ãŒã¯ããã®ãã¿ã³ã䜿ãå¿ èŠã¯ãªãã§ãããã
ãApply Rollup Rulesã(ããŒã«ã¢ããã«ãŒã«ãé©çš): ãã®é«åºŠãªæ©èœãå©çšãããšãäžé£ã® Selenium ã³ãã³ãã®ç¹°ãè¿ãã 1 ã€ã®ã¢ã¯ã·ã§ã³ã«ãŸãšããããšãã§ããŸãã ããŒã«ã¢ããã«ãŒã«ã®è©³çްã«ã€ããŠã¯ãããã«ãã ã¡ãã¥ãŒã® [UI-Element Documentation] ãåç §ããŠãã ããã
ã¹ã¯ãªããã¯ããã¹ãã±ãŒã¹ããã€ã³ã«è¡šç€ºãããŸãã ãã€ã³ã«ã¯2ã€ã®ã¿ãããããŸãã æ¬¡ã«ç€ºãã®ã¯ãã³ãã³ããšãã®ãã©ã¡ãŒã¿ãèªã¿ããããããŒãã«ã圢åŒã§è¡šç€ºããããã® [ãããŒãã«ãã¿ãã§ãã
ãã 1 ã€ã®ããœãŒã¹ãã¿ãã«ã¯ããã¹ãã±ãŒã¹ããã€ãã£ã圢åŒã§è¡šç€ºãããŸãã ãã¡ã€ã«ã¯ãã®ãã€ãã£ã圢åŒã§ä¿åãããŸãã ããã©ã«ãã§ã¯ HTML ã§ãããJava ã C# ãªã©ã®ããã°ã©ãã³ã°èšèªãããã㯠Python ãªã©ã®ã¹ã¯ãªããèšèªã«å€æŽããããšãã§ããŸãã 詳现ã«ã€ããŠã¯ãããªãã·ã§ã³ã ã¡ãã¥ãŒãåç §ããŠãã ããã ããœãŒã¹ã ã¿ãã§ã¯ããã¹ãã±ãŒã¹ãçã®åœ¢åŒã§ç·šéããããšãã§ããæäœã®ã³ããŒãåãåãã貌ãä»ããå¯èœã§ãã
ãã³ãã³ãããã察象ããããã³ ãå€ã å ¥åãã£ãŒã«ãã«ã¯ãçŸåšéžæãããŠããã³ãã³ããšãã®ãã©ã¡ãŒã¿ã衚瀺ãããŸãã ãããã®å ¥åãã£ãŒã«ãã§ã¯ãçŸåšéžæãããŠããã³ãã³ããä¿®æ£ã§ããŸãã äžçªäžã®ãã€ã³ã® ããªãã¡ã¬ã³ã¹ã ã¿ãã§ãã³ãã³ãã«å¯ŸããŠæå®ãããŠãã 1 ã€ç®ã®ãã©ã¡ãŒã¿ã¯ãå¿ ã ã察象ã ãã£ãŒã«ãã«å ¥åããŸãã ããªãã¡ã¬ã³ã¹ã ã¿ãã§ 2 ã€ç®ã®ãã©ã¡ãŒã¿ãæå®ãããŠããå Žåããã®ãã©ã¡ãŒã¿ã¯ ãå€ã ãã£ãŒã«ãã«å ¥åããŸãã
ãã³ãã³ãããã£ãŒã«ãã«æåãå ¥åãããšãå ¥åããæåã«å¿ããŠããããããŠã³ãªã¹ãã«é ç®ã衚瀺ãããã®ã§ããã®ãªã¹ãããç®çã®ã³ãã³ããéžæã§ããŸãã
äžçªäžã®ãã€ã³ã¯ãããŸããŸãªæ©èœã§äœ¿ãããŸãã ããã°ããããªãã¡ã¬ã³ã¹ãããUI-Elementããããã³ ãRollupã ã®4ã€ã®ã¿ãããããŸãã
ãã¹ãã±ãŒã¹ãå®è¡ãããšãããã°ã ã¿ããéžæããŠããªããŠãããšã©ãŒã¡ãã»ãŒãžãšãã¹ãã®é²è¡ç¶æ³ãç€ºãæ å ±ã¡ãã»ãŒãžãèªåçã«ãã®ãã€ã³ã«è¡šç€ºãããŸãã ãããã®ã¡ãã»ãŒãžã¯ããã°ãã°ãã¹ãã±ãŒã¹ã®ãããã°ã«åœ¹ç«ã¡ãŸãã ãã°ãæ¶å»ããã«ã¯ ãæ¶å»ã ãã¿ã³ãã¯ãªãã¯ããŸãã ãæ å ±ã ãã¿ã³ãã¯ãªãã¯ãããšãããããããŠã³ãªã¹ãã衚瀺ãããŸãã ãªã¹ãã§ç®çã®é ç®ãéžæããã°ãç»é¢ã«è¡šç€ºããæ å ±ã®ã¬ãã«ãæå®ã§ããŸãã
ããªãã¡ã¬ã³ã¹ã ã¿ãã¯ããããŒãã«ã ã¿ãã§ Selenese ã³ãã³ããšãã©ã¡ãŒã¿ãå ¥åãããä¿®æ£ãããããå Žåã«ããã©ã«ãã§éžæãããã¿ãã§ãã ãããŒãã«ã ã¿ãã衚瀺ãããŠããå Žåãããªãã¡ã¬ã³ã¹ã ãã€ã³ã«ã¯çŸåšã®ã³ãã³ãã®ãªãã¡ã¬ã³ã¹ã衚瀺ãããŸãã ãããŒãã«ã ã¿ãã® ããœãŒã¹ã ã¿ãã®ã©ã¡ãã§äœæ¥ããŠããå Žåããã³ãã³ããå ¥åãŸãã¯ä¿®æ£ãããšãã¯ãã察象ã ãã£ãŒã«ããš ãå€ã ãã£ãŒã«ãã§æå®ãããã©ã¡ãŒã¿ããããªãã¡ã¬ã³ã¹ã ãã€ã³ã®ãã©ã¡ãŒã¿ãªã¹ãã«æå®ãããŠãããã®ãšäžèŽããŠããããšã確èªããããšãéåžžã«éèŠã§ãã æå®ãããã©ã¡ãŒã¿ã®æ°ã¯ãããªãã¡ã¬ã³ã¹ã ãã€ã³ã§æå®ãããŠããæ°ãšäžèŽããªããã°ãªããããã©ã¡ãŒã¿ã®é åºã ããªãã¡ã¬ã³ã¹ã ãã€ã³ã®ãããšäžèŽããªããã°ãªããŸããã ããã«ãæå®ãããã©ã¡ãŒã¿ã®åããããªãã¡ã¬ã³ã¹ã ãã€ã³ã§æå®ãããŠããåãšäžèŽããŠããªããã°ãªããŸããã ããã 3ã€ã®ãã¡ã1ã€ã§ãäžèŽããªããã®ãããã°ãã³ãã³ãã¯æ£åžžã«å®è¡ãããŸããã
ããªãã¡ã¬ã³ã¹ã ã¿ãã¯ã¯ã€ãã¯ãªãã¡ã¬ã³ã¹ãšããŠå€§ãã«åœ¹ç«ã¡ãŸãããSeleniumãªãã¡ã¬ã³ã¹ãåç §ããããšããã°ãã°å¿ èŠã«ãªããŸãã
ãããã®2ã€ã®ãã€ã³ (é«åºŠãªæ©èœãæ±ãããã®ãã€ã³) ã«ã€ããŠã¯ãSelenium-IDE ã® ããã«ãã ã¡ãã¥ãŒã® ãUI-Element Documentationã ãåç §ããŠãã ããã
ãã¹ãã±ãŒã¹ãéçºããããã®äž»ãªæ¹æ³ã¯3ã€ãããŸãã å€ãã®å Žåããã¹ãéçºè ã¯ããã 3 ã€ã®ãã¯ããã¯ããã¹ãŠäœ¿ãå¿ èŠããããŸãã
Selenium ãåããŠäœ¿ããŠãŒã¶ãŒã¯ãWeb ãµã€ãã§ã®æäœãèšé²ããŠãã¹ãã±ãŒã¹ãäœæããããšãå€ãããã§ããSelenium-IDE ãæåã«éãããšãããRecordã ãã¿ã³ã¯ããã©ã«ãã§ãªã³ã«ãªã£ãŠããŸãã
Selenium-IDEã§èªåçã«èšé²ãéå§ããããªãå Žåã¯ãOptions > Options⊠ã«ç§»åããâStart recording immediately on open.âã®éžæãè§£é€ããŠãããããªãã«ã§ããŸãã
èšé²äžã¯ããŠãŒã¶ãŒã®æäœã«åºã¥ã㊠Selenium-IDE ããã¹ãã±ãŒã¹ã«ã³ãã³ããèªåçã«æ¿å ¥ããŸãã æ¬¡ã«ç€ºãã®ã¯ãå žåçãªãŠãŒã¶ãŒã®æäœã§ãã
ããã€ã泚æãã¹ãç¹ã次ã«ç€ºããŸãã
ãã¹ãã±ãŒã¹ã§ã¯ãWeb ããŒãžã®ããããã£ããã§ãã¯ããå¿ èŠãããã§ãããã ããã«ã¯ã assert ã³ãã³ããš verify ã³ãã³ãã䜿ãå¿ èŠããããŸãã ããã§ã¯ããããã®ã³ãã³ãã®çްããªç¹ã«ã¯è§ŠããŸããã ãã¹ãã±ãŒã¹ã«è¿œå ããæ¹æ³ã ãã説æããŸãã ã³ãã³ãã®è©³çްã«ã€ããŠã¯ã âSeleneseâ Selenium ã³ãã³ã ã«é¢ããç« ãåç §ããŠãã ããã
Selenium-IDE ã®èšé²æ©èœããªã³ã®ç¶æ ã§ããã¹ã察象ã®ã¢ããªã±ãŒã·ã§ã³ã衚瀺ããŠãããã©ãŠã¶ãéžæããããŒãžäžã®ä»»æã®å Žæãå³ã¯ãªãã¯ããŸãã ãããšã verify ã³ãã³ãã assert ã³ãã³ããå«ãã³ã³ããã¹ãã¡ãã¥ãŒã衚瀺ãããŸãã
åã㊠Selenium ã䜿ãå Žåã«ã¯ãSelenium ã³ãã³ãã1ã€ãã衚瀺ãããªããããããŸããã ããããIDE ã䜿ã£ãŠãããšãã¡ãã¥ãŒã«è¡šç€ºãããã³ãã³ããã©ãã©ãå¢ããŠãããŸãã Selenium-IDE ã¯ãçŸåšã® Web ããŒãžäžã§éžæãããŠãã UI èŠçŽ ã«å¿ããŠãå¿ èŠãªã³ãã³ããšãã©ã¡ãŒã¿ã®äºæž¬ã詊ã¿ãŸãã
å®éã«ãã®æ©èœãããããŠã¿ãŸãããã é©åœãª Web ããŒãžãéããããŒãžäžã®ããã¹ããéžæããŸãã æ®µèœ1ã€ããèŠåºããããã§ãããã æ¬¡ã«ãéžæããããã¹ããå³ã¯ãªãã¯ããŸãã ã³ã³ããã¹ãã¡ãã¥ãŒã衚瀺ããã verifyTextPresent ã³ãã³ããšããã®ã³ãã³ãã«ãµãããããã©ã¡ãŒã¿ãšããŠãéžæãããããã¹ãèªäœã衚瀺ãããã¯ãã§ãã
ãŸãããå©çšå¯èœãªå šãŠã®ã³ãã³ãã ãšããé ç®ãããããšã«æ³šç®ããŠãã ããã ãã®é ç®ãéžæãããšãéåžžã«å€ãã®ã³ãã³ãããçŸåšéžæãããŠãã UI èŠçŽ ã®ãã¹ãã«é©ãããã©ã¡ãŒã¿æ¡ãšãšãã«è¡šç€ºãããŸãã
ããã€ãã»ãã® UI èŠçŽ ã«ã€ããŠããåãããã«ããããŠã¿ãŠãã ããã ããšãã°ãç»åãå³ã¯ãªãã¯ãããããã¿ã³ããã§ãã¯ããã¯ã¹ãªã©ã®ãŠãŒã¶ãŒã³ã³ãããŒã«ãå³ã¯ãªãã¯ãããããŠã¿ãŠãã ããã verifyTextPresent 以å€ã®ãªãã·ã§ã³ãèŠãã«ã¯ããå©çšå¯èœãªå šãŠã®ã³ãã³ãã ã䜿ãå¿ èŠããããããããŸããã ãã£ããã»ãã®ãªãã·ã§ã³ãéžæãããšããã䜿ãããã³ãã³ãããããã¬ãã«ã®ã³ã³ããã¹ãã¡ãã¥ãŒã«è¡šç€ºãããããã«ãªããŸãã ããšãã°ãç»åã«å¯Ÿã㊠verifyElementPresent ãéžæãããšã次ã«ç»åãéžæããŠå³ã¯ãªãã¯ãããšãã«ããããã¬ãã«ã®ã³ã³ããã¹ãã¡ãã¥ãŒã«ãã®ã³ãã³ãã衚瀺ãããããã«ãªããŸãã
ç¹°ãè¿ãã«ãªããŸããããããã®ã³ãã³ãã®è©³çްã«ã€ããŠã¯ãSelenium ã®ã³ãã³ãã«é¢ããç« ã§èª¬æããŸãã ãšããããããã§ã¯ãIDE ã䜿ã£ãŠããŸããŸãªã³ãã³ãããã¹ãã±ãŒã¹ã«èšé²ãéžæãããã¹ãã±ãŒã¹ãå®è¡ããŠã¿ãŠãã ãããIDE ã䜿ã£ãŠããã¡ã«ãSelenium ã®ã³ãã³ãã«ã€ããŠãèªç¶ã«å€ãã®ããšãåŠã¹ãã¯ãã§ãã
ãã¹ãã±ãŒã¹å ã®ã³ãã³ããæ¿å ¥ããå ŽæãéžæããŸãã å³ã¯ãªãã¯ã㊠ãã³ãã³ããæ¿å ¥ã ãã¯ãªãã¯ããŸãã ã³ãã³ãç·šéçšã®ããã¹ããã£ãŒã«ãã䜿ã£ãŠãæ°ããã³ãã³ããšãã®ãã©ã¡ãŒã¿ãå ¥åããŸãã
ãã¹ãã±ãŒã¹å ã®ã³ãã³ããæ¿å ¥ããå Žæãéžæãã3 åãããªãè¡ã 1 ã€äœæããã®ã«å¿ èŠãª HTML ã¿ã°ãå ¥åããŸãã ãã®è¡ã® 1 åç®ã«ã¯ã³ãã³ããã2 åç®ã«ã¯æåã®ãã©ã¡ãŒã¿ã (ãã©ã¡ãŒã¿ãå¿ èŠãªå Žå)ã3 åç®ã«ã¯ 2 ã€ç®ã®ãã©ã¡ãŒã¿ã (ãã©ã¡ãŒã¿ãå¿ èŠãªå Žå) å ¥åããŸãããããŒãã«ã ã¿ã°ã«æ»ããšãã¯ããã®åã«ãã¹ãã±ãŒã¹ãä¿åããŸãã
<tr>
<td>Command</td>
<td>target (locator)</td>
<td>Value</td>
</tr>
ãã¹ãã±ãŒã¹ã®å¯èªæ§ãé«ããããã«ã³ã¡ã³ããå ¥åã§ããŸãã ãã¹ãã±ãŒã¹ã®å®è¡æã«ã¯ã³ã¡ã³ãã¯ç¡èŠãããŸãã
åçŽæ¹åã®ç©ºçœ (1 è¡ä»¥äžã®ç©ºçœè¡) ããã¹ãã«è¿œå ããã«ã¯ã空ã®ã³ã¡ã³ããäœæããå¿ èŠããããŸãã 空ã®ã³ãã³ãã§ã¯å®è¡æã«ãšã©ãŒãçºçããŸãã
ãã¹ãã±ãŒã¹å ã®ã³ã¡ã³ããæ¿å ¥ããå ŽæãéžæããŸãã å³ã¯ãªãã¯ã㊠ãã³ã¡ã³ããæ¿å ¥ã ãã¯ãªãã¯ããŸãã ãã³ãã³ãã ãã£ãŒã«ãã«ã³ã¡ã³ããå ¥åããŸãã å ¥åããã³ã¡ã³ãã¯çŽ«è²ã®ãã©ã³ãã§è¡šç€ºãããŸãã
ãã¹ãã±ãŒã¹å
ã®ã³ã¡ã³ããæ¿å
¥ããå ŽæãéžæããŸãã
HTML ã¹ã¿ã€ã«ã®ã³ã¡ã³ããããªãã¡ <!-- ããã¯ã³ã¡ã³ãã§ã -â>
ãå
¥åããŸãã
倿Žããè¡ãéžæãããã³ãã³ãããã察象ããããã³ ãå€ã ãã£ãŒã«ãã䜿ã£ãŠå 容ãç·šéããŸãã
ããœãŒã¹ã ã¿ã㯠WYSIWYG ãšãã£ã¿ã«çžåœããæ©èœãæã£ãŠããã®ã§ãç®çã®è¡ (ã³ãã³ãããã©ã¡ãŒã¿ããŸãã¯ã³ã¡ã³ã) ãç·šéããŸãã
ã»ãšãã©ã®ããã°ã©ã ãšåæ§ã«ãããã¡ã€ã«ãã¡ãã¥ãŒã«ã¯ãä¿åãããã³ãéããã³ãã³ãããããŸãã ãã ããSeleniumã¯ãã¹ãã±ãŒã¹ãšãã¹ãã¹ã€ãŒããåºå¥ããŸãã åŸã§äœ¿çšããããã«Selenium-IDEãã¹ããä¿åããã«ã¯ãåã ã®ãã¹ãã±ãŒã¹ãä¿åãããããã¹ãã¹ã€ãŒããä¿åããŸãã ãã¹ãã¹ã€ãŒãã®ãã¹ãã±ãŒã¹ãä¿åãããŠããªãå Žåã¯ããã¹ãã¹ã€ãŒããä¿åããåã«ä¿åããããæ±ããããŸãã
æ¢åã®ãã¹ãã±ãŒã¹ãŸãã¯ã¹ã€ãŒããéããšãSelenium-IDEã®ãã¹ãã±ãŒã¹ãã€ã³ã«Seleniumã³ãã³ãã衚瀺ãããŸãã
Selenium-IDE ã«ã¯ããã¹ãã±ãŒã¹ãå®è¡ããããã®ããŸããŸãªãªãã·ã§ã³ãããã1ã€ã®ãã¹ãã±ãŒã¹ã®å®è¡ã忢ãšåéã1 è¡ãã€ã®å®è¡ãçŸåšéçºäžã®ã³ãã³ãã ãã®å®è¡ããã¹ãã¹ã€ãŒãå šäœã®å®è¡ãªã©ãå¯èœã§ãã Selenium-IDE ã§ã¯ããã¹ãã±ãŒã¹ãéåžžã«æè»ã«å®è¡ã§ããŸãã
ãã¹ãã±ãŒã¹ã®å®è¡
ãRunã ãã¿ã³ãã¯ãªãã¯ãããšãçŸåšè¡šç€ºãããŠãããã¹ãã±ãŒã¹ãå®è¡ãããŸãã
ãã¹ãã¹ã€ãŒãã®å®è¡
ãRun Allã ãã¿ã³ãã¯ãªãã¯ãããšãçŸåšèªã¿èŸŒãŸããŠãããã¹ãã¹ã€ãŒãã«å«ãŸãããã¹ãŠã®ãã¹ãã±ãŒã¹ãå®è¡ãããŸãã
忢ãšåé
ãPauseã ãã¿ã³ãã¯ãªãã¯ãããšãå®è¡äžã®ãã¹ãã±ãŒã¹ã忢ã§ããŸãã ãã¹ãã±ãŒã¹ã®å®è¡ã忢ãããšããã¿ã³ã®ã¢ã€ã³ã³ã¯ ãResumeã ãã¿ã³ã®ã¢ã€ã³ã³ã«å€ãããŸããå®è¡ãåéããã«ã¯ããResumeã ãã¿ã³ãã¯ãªãã¯ããŸãã
éäžã§å®è¡ã忢
ãã¹ãã±ãŒã¹å ã§ãã¬ãŒã¯ãã€ã³ããæå®ãããšãç¹å®ã®ã³ãã³ãã§ãã¹ãã±ãŒã¹ã忢ããããšãã§ããŸãã ãã®æ©èœã¯ããã¹ãã±ãŒã¹ããããã°ãããšãã«äŸ¿å©ã§ãã ãã¬ãŒã¯ãã€ã³ããæå®ããã«ã¯ãã³ãã³ããéžæããå³ã¯ãªãã¯ããŠè¡šç€ºãããã³ã³ããã¹ãã¡ãã¥ãŒã§ ããã¬ãŒã¯ãã€ã³ãã®æå®/è§£é€ã ãã¯ãªãã¯ããŸãã
éäžããå®è¡ãéå§
ãã¹ãã±ãŒã¹ã®éäžã«ããç¹å®ã®ã³ãã³ãããå®è¡ãéå§ããããšãã§ããŸãã ãã®æ©èœãããã¹ãã±ãŒã¹ããããã°ãããšãã«äŸ¿å©ã§ãã éå§äœçœ®ãæå®ããã«ã¯ãã³ãã³ããéžæããå³ã¯ãªãã¯ããŠè¡šç€ºãããã³ã³ããã¹ãã¡ãã¥ãŒã§ ãéå§äœçœ®ã®æå®/è§£é€ã ãã¯ãªãã¯ããŸãã
ä»»æã®ã³ãã³ãã®å®è¡
1 ã€ã®ã³ãã³ãã ããããã«ã¯ãªãã¯ãããšããã®ã³ãã³ããå®è¡ããããšãã§ããŸãã ãã®æ©èœã¯ãã³ãã³ãã 1 ã€èšè¿°ãããšãã«äŸ¿å©ã§ãã äœæäžã®ã³ãã³ããé©åãã©ããããããªããšãã§ããã³ãã³ããå³åº§ã«ãã¹ãã§ããŸãã ã³ãã³ããããã«ã¯ãªãã¯ããã ãã§ãé©åã«å®è¡ããããã©ãã確èªã§ããŸãããã®æ©èœã¯ãã³ã³ããã¹ãã¡ãã¥ãŒãããå©çšã§ããŸãã
Selenium-IDE ãŠã£ã³ããŠã®äžéšã«ãã ãBase URLã ãã£ãŒã«ãã䜿ããšããã¹ãã±ãŒã¹ãç°ãªããã¡ã€ã³ã§å®è¡ã§ããã®ã§äŸ¿å©ã§ãã ããšãã°ã http://news.portal.com ãšããååã®ãµã€ãã http://beta.news.portal.com ãšããååã§ã€ã³ããŠã¹ã®ããŒã¿ãµã€ããæã£ãŠãããšããŸãã ãã®å Žåããããã®ãµã€ãã察象ã§ã open ã¹ããŒãã¡ã³ãã§å§ãŸããã¹ãŠã®ãã¹ãã±ãŒã¹ã«ã€ããŠã open ã®åŒæ°ã« 絶察 URL (http: ãŸã㯠https: ãªã©ã®ãããã³ã«ã§å§ãŸã URL) ã§ã¯ãªãã çžå¯Ÿ URL ãæå®ããŸãã ãããšãSelenium-IDE ã¯ã[Base URL] ãã£ãŒã«ãã«å ¥åãããå€ã®æåŸã«ã open ã³ãã³ãã®åŒæ°ã远å ããŠã絶察 URL ãäœæããŸãã ããšãã°æ¬¡ã®ãã¹ãã±ãŒã¹ã¯ã http://news.portal.com/about.html ã察象ã«å®è¡ãããŸãã
ããã§ããBase URLã ãã£ãŒã«ãã®èšå®ã倿ŽããŠãã¹ãã±ãŒã¹ãå®è¡ããã°ãåããã¹ãã±ãŒã¹ãä»åºŠã¯ http://beta.news.portal.com/about.html ã察象ã«å®è¡ãããŸãã
Selenium ã³ãã³ãã¯ãå€ãã®å ŽåseleneseãšåŒã°ãããã¹ããå®è¡ããã³ãã³ãã®ã»ããã§ãã ãããã®ã³ãã³ãã®ã·ãŒã±ã³ã¹ã¯ãã¹ãã¹ã¯ãªããã§ãã ããã§ã¯ããããã®ã³ãã³ãã詳现ã«èª¬æããSeleniumã䜿çšãããšãã«Webã¢ããªã±ãŒã·ã§ã³ããã¹ãããéã«éžæã§ããå€ãã®éžæè¢ã瀺ããŸãã
Seleniumã«ã¯ãæ³åã§ããããããæ¹æ³ã§Webã¢ããªãå®å šã«ãã¹ãããããã®è±å¯ãªã³ãã³ãã»ãããçšæãããŠããŸãã ãã®äžé£ã®ã³ãã³ãã¯ãããseleneseãšåŒã°ããŸãã ãããã®ã³ãã³ãã¯ãåºæ¬çã«ãã¹ãèšèªãäœæããŸãã
seleneseã§ã¯ãHTMLã¿ã°ã«åºã¥ããŠUIèŠçŽ ã®ååšããã¹ãããããç¹å®ã®ã³ã³ãã³ãããã¹ãããããå£ãããªã³ã¯ããã¹ãããããå ¥åãã£ãŒã«ããéžæãªã¹ããªãã·ã§ã³ããã©ãŒã ãéä¿¡ããããããŒãã«ããŒã¿ãªã©ããã¹ãã§ããŸãã ããã«ãSeleniumã³ãã³ãã¯ããŠã£ã³ããŠãµã€ãºãããŠã¹äœçœ®ãã¢ã©ãŒããAjaxæ©èœããããã¢ãããŠã£ã³ããŠãã€ãã³ãåŠçãããã³ãã®ä»ã®å€ãã®Webã¢ããªã±ãŒã·ã§ã³æ©èœã®ãã¹ãããµããŒãããŠããŸãã ã³ãã³ããªãã¡ã¬ã³ã¹ã«ã¯ã䜿çšå¯èœãªãã¹ãŠã®ã³ãã³ãããªã¹ããããŠããŸãã
ã³ãã³ãã¯ãSeleniumã«äœããã¹ãããäŒããŸãã Seleniumã³ãã³ãã«ã¯ã ã¢ã¯ã·ã§ã³ ã ã¢ã¯ã»ãµ ãã¢ãµãŒã·ã§ã³ ãšãã3ã€ã®"ãã¬ãŒããŒ"ããããŸãã
ã¢ã¯ã·ã§ã³ ã¯ãäžè¬çã«ã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ãæäœããã³ãã³ãã§ãã âãã®ãªã³ã¯ãã¯ãªãã¯ããâ ã âãã®ãªãã·ã§ã³ãéžæããâ ãšãã£ãããšãå®è¡ããŸãã ã¢ã¯ã·ã§ã³ã倱æãããããšã©ãŒãããå ŽåãçŸåšã®ãã¹ãã®å®è¡ã¯åæ¢ãããŸãã
âAndWaitâ æ¥å°ŸèŸã䜿çšããŠãå€ãã®ã¢ã¯ã·ã§ã³ãåŒã³åºãããšãã§ããŸããïŒäŸ : âclickAndWaitâïŒ ãã®æ¥å°ŸèŸã¯ãã¢ã¯ã·ã§ã³ã«ãã£ãŠãã©ãŠã¶ãŒããµãŒããŒãåŒã³åºãããšãããã³Seleniumãæ°ããããŒãžã®èªã¿èŸŒã¿ãåŸ ã€ããšãSeleniumã«äŒããŸãã
ã¢ã¯ã»ãµãŒ ã¯ã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ã調ã¹ãçµæã倿°ã«ä¿åããŸããïŒäŸ : âstoreTitleâïŒ ãŸããã¢ãµãŒã·ã§ã³ãèªåçã«çæããããã«ã䜿çšãããŸãã
ã¢ãµãŒã·ã§ã³ ã¯ã¢ã¯ã»ãµãŒã«äŒŒãŠããŸãããã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ãæåŸ ã©ããã«ãªã£ãŠããããšãæ€èšŒããŸãã ããšãã°ãâããŒãžã¿ã€ãã«ãXã§ããããšã確èªããâ ãâãã®ãã§ãã¯ããã¯ã¹ããªã³ã«ãªã£ãŠããããšã確èªããâ ãªã©ã§ãã
ãã¹ãŠã®Seleniumã¢ãµãŒã·ã§ã³ã¯ãâassertâãâverifyâãããã³ âwaitFor"ã®3ã€ã®ã¢ãŒãã§äœ¿çšã§ããŸãã ããšãã°ãâassertTextâãâverifyTextâãâwaitForText"ã䜿çšã§ããŸãã âassertâ ã倱æãããšããã¹ãã¯äžæ¢ãããŸãã âverifyâ ã倱æãããšããã¹ãã¯å®è¡ãç¶ç¶ãã倱æãèšé²ããŸãã ããã«ãããåäžã® âassertâ ã§ã¢ããªã±ãŒã·ã§ã³ãæ£ããããŒãžã«ããããšã確èªããç¶ããŠãã©ãŒã ãã£ãŒã«ãã®å€ãã©ãã«ãªã©ããã¹ãããããã® âverifyâ ã¢ãµãŒã·ã§ã³ã倿°è¡ãããŸãã
âwaitForâ ã³ãã³ãã¯ãäœããã®æ¡ä»¶ãçã«ãªããŸã§åŸ æ©ããŸãïŒAjaxã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã«åœ¹ç«ã¡ãŸãïŒã æ¡ä»¶ããã§ã«çã§ããã°ãããã«æåããŸãã ãã ããçŸåšã®ã¿ã€ã ã¢ãŠãèšå®å ã§æ¡ä»¶ãçã«ãªããªãå Žåããããã¯å€±æãããã¹ãã忢ããŸãïŒä»¥äžã®setTimeoutã¢ã¯ã·ã§ã³ãåç §ïŒã
Seleniumã³ãã³ãã¯åçŽã§ãã³ãã³ããš2ã€ã®ãã©ã¡ãŒã¿ãŒã§æ§æãããŠããŸãã äŸãã°ã
verifyText | //div//a[2] | Login |
ãã©ã¡ãŒã¿ãŒã¯å¿ ãããå¿ èŠã§ã¯ãããŸããã ã³ãã³ãã«äŸåããŸãã äž¡æ¹ã®ãã©ã¡ãŒã¿ãå¿ èŠãªå Žåãããã°ã1ã€ã®ãã©ã¡ãŒã¿ãå¿ èŠãªå ŽåããããŸãã ãŸããã³ãã³ãããã©ã¡ãŒã¿ããŸã£ããåãåããªãå ŽåããããŸãã ããã«ããã€ãã®äŸããããŸãã
goBackAndWait | ||
verifyTextPresent | Welcome to My Home Page | |
type | id=phone | (555) 666-7066 |
type | id=address1 | ${myVariableAddress} |
ã³ãã³ããªãã¡ã¬ã³ã¹ã§ã¯ãåã³ãã³ãã®ãã©ã¡ãŒã¿ãŒèŠä»¶ã«ã€ããŠèª¬æããŠããŸãã
ãã©ã¡ãŒã¿ãŒã¯ç°ãªããŸãããéåžžã¯ã
ãã±ãŒã¿ãŒãããã¹ããã¿ãŒã³ãSelenium倿°ãããã³ã³ãã³ãèªäœã«ã€ããŠã¯ãSeleniumã³ãã³ãã®ç« ã§è©³ãã説æããŸãã
Selenium-IDEããå®è¡ãããSeleniumã¹ã¯ãªããã¯ãHTMLããã¹ããã¡ã€ã«åœ¢åŒã§ä¿åãããŸãã ããã¯ã3ã€ã®åãæã€HTMLããŒãã«ã§æ§æãããŸãã æåã®åã¯Seleniumã³ãã³ãã瀺ãã2çªç®ã®åã¯ã¿ãŒã²ããã§ãããæåŸã®åã«ã¯å€ãå«ãŸããŠããŸãã 2çªç®ãš3çªç®ã®åã¯ãéžæããSeleniumã³ãã³ãã«ãã£ãŠã¯å€ãå¿ èŠãšããªãå ŽåããããŸãããååšããå¿ èŠããããŸãã åããŒãã«è¡ã¯ãæ°ããSeleniumã³ãã³ãã衚ããŸãã 以äžã¯ãããŒãžãéããããŒãžã¿ã€ãã«ãã¢ãµãŒãããããŒãžäžã®ã³ã³ãã³ããæ€èšŒãããã¹ãã®äŸã§ãã
<table>
<tr><td>open</td><td>/download/</td><td></td></tr>
<tr><td>assertTitle</td><td></td><td>Downloads</td></tr>
<tr><td>verifyText</td><td>//h2</td><td>Downloads</td></tr>
</table>
ãã©ãŠã¶ã§ããŒãã«ãšããŠã¬ã³ããªã³ã°ããããšã次ã®ããã«ãªããŸãã
open | /download/ | |
assertTitle | Downloads | |
verifyText | //h2 | Downloads |
The Selenese HTML syntax can be used to write and run tests without requiring knowledge of a programming language. With a basic knowledge of selenese and Selenium-IDE you can quickly produce and run testcases.
ãã¹ãã¹ã€ãŒãã¯ããã¹ãã®ã³ã¬ã¯ã·ã§ã³ã§ãã å€ãã®å Žåããã¹ãã¹ã€ãŒãå ã®ãã¹ãŠã®ãã¹ãã1ã€ã®é£ç¶ããããžã§ããšããŠå®è¡ããŸãã
Selenium-IDEã䜿çšããå Žåããã¹ãã¹ã€ãŒãã¯åçŽãªHTMLãã¡ã€ã«ã䜿çšããŠå®çŸ©ããããšãã§ããŸãã æ§æãç°¡åã§ãã HTMLããŒãã«ã¯ãã¹ãã®ãªã¹ããå®çŸ©ããåè¡ã¯åãã¹ããžã®ãã¡ã€ã«ã·ã¹ãã ãã¹ãå®çŸ©ããŸãã äŸã§ãã¹ãŠãããããŸãã
<html>
<head>
<title>Test Suite Function Tests - Priority 1</title>
</head>
<body>
<table>
<tr><td><b>Suite Of Tests</b></td></tr>
<tr><td><a href="./Login.html">Login</a></td></tr>
<tr><td><a href="./SearchValues.html">Test Searching for Values</a></td></tr>
<tr><td><a href="./SaveValues.html">Test Save</a></td></tr>
</table>
</body>
</html>
ãããšäŒŒããã¡ã€ã«ã䜿çšãããšãSelenium-IDEããæ¬¡ã ã«ãã¹ããå®è¡ã§ããŸãã
Selenium-RCã䜿çšããŠããå Žåããã¹ãã¹ã€ãŒããç¶æã§ããŸãã ããã¯ããã°ã©ãã³ã°ã«ãã£ãŠè¡ãããããã€ãã®æ¹æ³ã§è¡ãããšãã§ããŸãã éåžžãJunitã¯ãJavaã§Selenium-RCã䜿çšããŠããå Žåã«ãã¹ãã¹ã€ãŒããç¶æããããã«äœ¿çšãããŸãã ããã«ãC#ãéžæãããèšèªã§ããå ŽåãNunitã䜿çšã§ããŸãã Selenium-RCã§Pythonã®ãããªã€ã³ã¿ãŒããªã¿ãŒèšèªã䜿çšããå Žåããã¹ãã¹ã€ãŒãã®ã»ããã¢ããã«ããã€ãã®ç°¡åãªããã°ã©ãã³ã°ãå«ãŸããŸãã Selenium-RCã䜿çšããçç±ã¯ãã¹ãŠããã¹ãã«ããã°ã©ãã³ã°ããžãã¯ã䜿çšããããšã§ãããããéåžžããã¯åé¡ã«ãªããŸããã
Seleniumã®ç޹ä»ãçµäºããããã«ãããã€ãã®å žåçãªSeleniumã³ãã³ãã玹ä»ããŸãã ãããã¯ããããããã¹ããæ§ç¯ããããã«æãäžè¬çã«äœ¿çšãããã³ãã³ãã§ãã
open
URLã䜿çšããŠããŒãžãéããŸãã
click/clickAndWait
ã¯ãªãã¯æäœãå®è¡ãããªãã·ã§ã³ã§æ°ããããŒãžãããŒããããã®ãåŸ ã¡ãŸãã
verifyTitle/assertTitle
æåŸ ãããããŒãžã¿ã€ãã«ãæ€èšŒããŸãã
verifyTextPresent
æåŸ ãããããã¹ããããŒãžã®ã©ããã«ããããšã確èªããŸãã
verifyElementPresent
HTMLã¿ã°ã§å®çŸ©ãããŠãããæåŸ ãããUIèŠçŽ ãããŒãžã«ååšããããšã確èªããŸãã
verifyText
æåŸ ãããããã¹ããšããã«å¯Ÿå¿ããHTMLã¿ã°ãããŒãžã«ååšããããšã確èªããŸãã
verifyTable
ããŒãã«ã®æåŸ ãããå å®¹ãæ€èšŒããŸãã
waitForPageToLoad
æåŸ ãããæ°ããããŒãžãããŒãããããŸã§å®è¡ãäžæåæ¢ããŸãã clickAndWaitã䜿çšããããšèªåçã«åŒã³åºãããŸãã
waitForElementPresent
HTMLã¿ã°ã§å®çŸ©ãããŠããããã«ãæåŸ ãããUIèŠçŽ ãããŒãžã«è¡šç€ºããããŸã§å®è¡ãäžæåæ¢ããŸãã
ããŒãžäžã® UI èŠçŽ ã®æ€èšŒã¯ãèªååããããã¹ãã§ã¯ããããæããã䜿ãããæ©èœã§ãããã Selenese ã§ã¯ãUI èŠçŽ ãããŸããŸãªæ¹æ³ã§ãã§ãã¯ããããšãã§ããŸãã å®éã®ãã¹ã察象ã¯ã©ã®æ¹æ³ã䜿ããã«ãã£ãŠå·Šå³ãããã®ã§ããããã®æ¹æ³ã®éããçè§£ããããšãéèŠã«ãªããŸãã
ããšãã°ãçŸåšãã¹ãããããšããŠããã®ã¯ã次ã®ã©ãã§ããããâŠã
ããã¹ãèŠåºãããã¹ãããå Žåããããããã¹ã察象ãšããŠé©ããŠããã®ã¯ãããŒãžå é ã®ããã¹ããšãã®äœçœ®ã§ãããã äžæ¹ãç»åãããŒã ããŒãžäžã«ååšãããã©ããããã¹ãããå Žåã§ãWeb ãã¶ã€ããŒãå ·äœçãªç»åãã¡ã€ã«ãšãã®ããŒãžäžã®äœçœ®ãé »ç¹ã«å€æŽããŠãããããªã±ãŒã¹ã§ã¯ã(å ·äœçãªç»åãã¡ã€ã«ã§ã¯ãªã) ç»å ã ããŒãžäžã®ã©ããã«ååšããŠãããã©ããããã¹ãããæ¹ãé©åã§ãããã
âassertâ (ã¢ãµãŒã) ãš âverifyâ (æ€èšŒ) ã®ã©ã¡ãã䜿ããã¯ãå©äŸ¿æ§ããããŠãšã©ãŒã®æ±ããã©ããããã«ãã£ãŠæ±ºãŸããŸãã æåŸ ãããããŒãžããã©ãŠã¶ã«è¡šç€ºãããŠãããã©ããããã§ãã¯ãããã¹ãããã§ã«å€±æããŠããã®ã«ããã®ããŒãžã®æåã®ãã©ã°ã©ããæ£ãããã®ãã©ããããã§ãã¯ããŠããã»ãšãã©æå³ã¯ãããŸããã ç®çã®ããŒãžã衚瀺ãããŠããªããã°ããã¹ãã±ãŒã¹ãäžæ¢ããŠãäœãåå ããã調ã¹ãŠãåé¡ã解決ããæ¹ãããã§ãããã äžæ¹ãæåã®ãšã©ãŒã§ãã¹ãã±ãŒã¹ãäžæ¢ãããããŒãžäžã®å€ãã®å±æ§ããã§ãã¯ãããå ŽåããããŸãã ããããã°ã該åœããããŒãžäžã®ãã¹ãŠã®ãšã©ãŒããŸãšããŠèŠçŽããé©åãªå¯Ÿå¿çãè¬ããããšãã§ããŸãã Selenium ã®ã³ãã³ãã䜿ãå Žåãâassertâ ã§ã¯ããã¹ãããšã©ãŒã«ãªããçŸåšã®ãã¹ãã±ãŒã¹ã¯äžæ¢ãããŸãããâverifyâ ã§ã¯ããã¹ãã¯ãšã©ãŒã«ãªããã®ã®ããã¹ãã±ãŒã¹ã®å®è¡ã¯ç¶è¡ãããŸãã
ãã®æ©èœãäžæã«æŽ»çšããã«ã¯ããã¹ãã®ã³ãã³ããè«ççã«ã°ã«ãŒãåããåã°ã«ãŒãã âassertâ ã§å§ãããã®åŸã« 1 ã€ãŸãã¯è€æ°ã® âverifyâ ã³ãã³ããç¶ããŠèšè¿°ããŸãã äŸã次ã«ç€ºããŸãã
Command | Target | Value |
---|---|---|
open | /download/ | |
assertTitle | Downloads | |
verifyText | //h2 | Downloads |
assertTable | 1.2.1 | Selenium IDE |
verifyTable | 1.2.2 | June 3, 2008 |
verifyTable | 1.2.3 | 1.0 beta 2 |
äžèšã®äŸã§ã¯ãæåã«ããŒãžãéããæ¬¡ã«ã¿ã€ãã«ãæåŸ å€ãšæ¯èŒããããšã§æ£ããããŒãžãããŒããããããšãâã¢ãµãŒãâããŸãã ãããæåããå Žåã«ã®ã¿ã次ã®ã³ãã³ããå®è¡ãããããã¹ããäºæ³ãããå Žæã«ååšããããšãâæ€èšŒâããŸãã ãã¹ãã±ãŒã¹ã¯ãæåã®ããŒãã«ã®2è¡ç®ã®æåã®åã«æåŸ å€ãå«ãŸããŠããããšãâã¢ãµãŒãâããŸãã ããã«åæ Œããå Žåã«ã®ã¿ããã®è¡ã®æ®ãã®ã»ã«ãâæ€èšŒâãããŸãã
verifyTextPresent
ã³ãã³ãã¯ã ç¹å®ã®ããã¹ããããŒãžäžã®ã©ããã«ååšããããšãæ€èšŒããã®ã«äœ¿ããŸãã
ãã®ã³ãã³ãã¯åŒæ°ã 1 ã€ã ãåããŸãã
åŒæ°ã«ã¯ãæ€èšŒããããã¹ãã®ãã¿ãŒã³ãæå®ããŸãã
次ã«äŸã瀺ããŸãã
Command | Target | Value |
---|---|---|
verifyTextPresent | Marketing Analysis |
ãã®äŸã§ã¯ãçŸåšãã¹ãã®å¯Ÿè±¡ã«ãªã£ãŠããããŒãžäžã§ âMarketing Analysisâ ãšããããã¹ãæååãæ¢ãããã®æååãããŒãžäžã®ã©ããã«ãããã©ãããæ€èšŒããŸãã verifyTextPresent ã³ãã³ãã¯ãããã¹ãããèªäœãããŒãžäžã«ååšãããã©ããã ãã調ã¹ããšãã«äœ¿ããŸãã ããã¹ããããŒãžäžã«çŸããå Žæããã¹ãã®å¯Ÿè±¡ã«å«ããå¿ èŠãããå Žåã«ã¯ããã®ã³ãã³ãã¯äœ¿ããªãã§ãã ããã
ãã®ã³ãã³ãã¯ãç¹å®ã® UI èŠçŽ ã«ã€ããŠããã®å 容ã§ã¯ãªããèŠçŽ ã®ååšèªäœããã§ãã¯ããã®ã«äœ¿ããŸãã å ·äœçã«ã¯ããã¹ãã¯ãã§ãã¯ãããHTML ã¿ã°ã ãããã§ãã¯ããŸãã äžè¬çãªäœ¿ãæ¹ãšããŠãç»åãååšãããã©ããã®ãã§ãã¯ãªã©ããããŸãã
Command | Target | Value |
---|---|---|
verifyElementPresent | //div/p/img |
ãã®äŸã§ã¯ã<img> HTML ã¿ã°ã®ååšã«ãã£ãŠæå®ãããç»åããããŒãžäžã«ååšãããã©ããããã㊠<img> ã¿ã°ã <div> ã¿ã°ãš <p> ã¿ã°ã«ç¶ããŠåºçŸãããã©ãããæ€èšŒããŠããŸãã æåã® (1 ã€ã ãã®) ãã©ã¡ãŒã¿ã¯ãèŠçŽ ãæ¢ãæ¹æ³ã Selenese ã³ãã³ãã«æç€ºããããã® ãã±ãŒã¿ ã§ãã ãã±ãŒã¿ã«ã€ããŠã¯ã次ã®ã»ã¯ã·ã§ã³ã§èª¬æããŸãã
verifyElementPresent
ã䜿çšããŠãããŒãžå
ã®HTMLã¿ã°ã®ååšã確èªã§ããŸãã
ãªã³ã¯ã段èœãåå² <div>ãªã©ã®ååšã確èªã§ããŸãã
ããã«ããã€ãã®äŸã瀺ããŸãã
Command | Target | Value |
---|---|---|
verifyElementPresent | //div/p | |
verifyElementPresent | //div/a | |
verifyElementPresent | id=Login | |
verifyElementPresent | link=Go to Marketing Research | |
verifyElementPresent | //a[2] | |
verifyElementPresent | //head/title |
ãããã®äŸã¯ãUIèŠçŽ ããã¹ãããããŸããŸãªæ¹æ³ã瀺ããŠããŸãã ç¹°ãè¿ãã«ãªããŸããããã±ãŒã¿ã«ã€ããŠã¯æ¬¡ã®ã»ã¯ã·ã§ã³ã§èª¬æããŸãã
ããã¹ããšãã®UIèŠçŽ ã®äž¡æ¹ããã¹ãããå¿
èŠãããå Žåã¯ãverifyText
ã䜿çšããŸãã
verifyTextã¯ãã±ãŒã¿ãŒã䜿çšããå¿
èŠããããŸãã
XPath ãã±ãŒã¿ãŒãŸã㯠DOM ãã±ãŒã¿ãŒãéžæããå Žåãç¹å®ã®ããã¹ãããããŒãžäžã®ã»ãã® UI ã³ã³ããŒãã³ããšã®çžå¯Ÿäœçœ®ã§æå®ãããç¹å®ã®å Žæã«åºçŸãããã©ãããæ€èšŒã§ããŸãã
Command | Target | Value |
---|---|---|
verifyText | //table/tr/td/div/p | This is my text and it occurs right after the div inside the table. |
å€ãã® Selenium ã³ãã³ãã§ã¯ã察象ãæå®ããå¿
èŠããããŸãã
ãã®å¯Ÿè±¡ã¯ãWeb ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããã¹ãå
ã§èŠçŽ ãç¹å®ããããã®ãã®ã§ããã±ãŒã·ã§ã³ã¹ãã©ããžãŒã«ç¶ããŠã locatorType=location
ã®åœ¢ã§ãã±ãŒã·ã§ã³ãæå®ããŸãã
å€ãã®å Žåããã±ãŒã·ã§ã³ã®ã¿ã€ãã¯çç¥ã§ããŸãã
ãã±ãŒã·ã§ã³ã®ã¿ã€ãã«ã€ããŠã¯ã以äžã§äŸãæããªãã説æããŸãã
ãã®æ¹æ³ã¯ãèŠçŽ ãç¹å®ããæ¹æ³ãšããŠããããæãäžè¬çã§ããã±ãŒã¿ã¿ã€ããšããŠèªèããããã®ã䜿ãããŠããªãå Žåã®æ±çšããã©ã«ãã§ãã ãã®ã¹ãã©ããžãŒã§ã¯ãid 屿§ãæã€èŠçŽ ã®ãã¡ããã±ãŒã·ã§ã³ã«äžèŽããæåã®èŠçŽ ã䜿ãããŸãã id 屿§ã«äžèŽããèŠçŽ ããªãå Žåã«ã¯ãname 屿§ãæã€èŠçŽ ã®ãã¡ããã±ãŒã·ã§ã³ã«äžèŽããæåã®èŠçŽ ã䜿ãããŸãã
ããšãã°ãããŒãžãœãŒã¹ã«æ¬¡ã®ãã㪠id 屿§ãš name 屿§ããã£ããšããŸãã
<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
</form>
</body>
<html>
ãã®å Žåãæ¬¡ã®ãã±ãŒã¿ã¹ãã©ããžãŒã¯ãäžã® HTML æçã®ãã¡ãè¡çªå·ã§ç€ºãããéšåã®èŠçŽ ãè¿ããŸãã
identifier=loginForm
(3)identifier=password
(5)identifier=continue
(6)continue
(6)identifier
ã¿ã€ãã®ãã±ãŒã¿ãŒã¯ããã©ã«ãã§ãããããäžèšã®æåã®3ã€ã®äŸã® identifier=
ã¯å¿
èŠãããŸããã
ãã®ã¿ã€ãã®ãã±ãŒã¿ã¯ identifier ãã±ãŒã¿ã¿ã€ããããéå®ã®åºŠåãã¯é«ããªããŸããããããšåæã«ãããæç€ºçã«ãªããŸããèŠçŽ ã® id 屿§ãããã£ãŠããå Žåã«äœ¿çšããŸãã
<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />
</form>
</body>
<html>
id=loginForm
(3)name ãã±ãŒã¿ã¿ã€ãã¯ãname 屿§ã«äžèŽããæåã®èŠçŽ ãç¹å®ããŸãã 1ã€ã® name 屿§ã«å¯ŸããŠãè€æ°ã®èŠçŽ ãåãå€ãæã£ãŠããå Žåã«ã¯ããã£ã«ã¿ã䜿ã£ãŠãã±ãŒã·ã§ã³ã¹ãã©ããžãŒã®ç²ŸåºŠãé«ããããšãã§ããŸãã ããã©ã«ãã®ãã£ã«ã¿ã¿ã€ã㯠value ã§ã (value 屿§ã«äžèŽ)ã
<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />
</form>
</body>
<html>
name=username
(4)name=continue value=Clear
(7)name=continue Clear
(7)name=continue type=button
(7)泚 : äžéšã®ã¿ã€ãã® XPath ãã±ãŒã¿ã DOM ãã±ãŒã¿ãšç°ãªãããããŸã§ã«ç€ºãã 3 ã€ã®ã¿ã€ãã®ãã±ãŒã¿ã䜿ãã°ãããŒãžäžã®äœçœ®ã«é¢ä¿ãªã UI èŠçŽ ããã¹ãããããšãã§ããŸãã ãããã£ãŠãããŒãžã®æ§é ãæ§æãå€ãã£ãŠãããã¹ãã¯ãã¹ããŸãã ããŒãžã®æ§é ãå€ãã£ããã©ããã«ã€ããŠã¯ããã¹ããããå Žåããã¹ãããããªãå Žåãããã§ãããã Web ãã¶ã€ããŒãé »ç¹ã«ããŒãžã«æãå ããŠããŠãããŒãžã®æ©èœãååž°ãã¹ãã®å¯Ÿè±¡ã«ããå¿ èŠãããå Žåã«ã¯ãid 屿§ã name 屿§ããŸãã¯ä»»æã® HTML ããããã£ã«ãããã¹ããéåžžã«éèŠã«ãªããŸãã
XPath ã¯ãXML ããã¥ã¡ã³ãå ã®ããŒããç¹å®ããããã«äœ¿ãããèšèªã§ãã HTML 㯠XML (XHTML) ã®å®è£ ã§ãããããã®ã§ãSelenium ãŠãŒã¶ãŒã¯ XPath ãšãã匷åãªèšèªã䜿ã£ãŠãWeb ã¢ããªã±ãŒã·ã§ã³å ã®èŠçŽ ãç¹å®ããããšãã§ããŸãã XPath ã¯ãid 屿§ã name 屿§ã«ããèŠçŽ ã®ç¹å®ãšããåçŽãªæ¹æ³ã (ãµããŒããããšåœæã«) ããã«æ¡åŒµããŠãããããŒãžäžã®3çªç®ã®ãã§ãã¯ããã¯ã¹ãç¹å®ãããªã©ãããããçš®é¡ã®æ°ããå¯èœæ§ãéããŠãããèšèªã§ãã
XPathã䜿ãäž»ãªçç±ã®1ã€ã¯ãç¹å®ãããèŠçŽ ã«å¯Ÿå¿ããé©å㪠id 屿§ã name 屿§ããªãå Žåãããããšã§ãã XPathã䜿ããšãèŠçŽ ã絶察çã«ç¹å®ããã (ãã ãããã®ããæ¹ã¯æšå¥šãããŸãã)ãid 屿§ãŸã㯠name 屿§ãæã€èŠçŽ ããã®çžå¯Ÿäœçœ®ã§èŠçŽ ãç¹å®ãããã§ããŸãã XPath ãã±ãŒã¿ã䜿ã£ãŠãid ã name 以å€ã®å±æ§ããèŠçŽ ãç¹å®ããããšãã§ããŸãã
絶察 XPath ã«ã¯ãã«ãŒã (html) ããã®ãã¹ãŠã®èŠçŽ ã®äœçœ®ãå«ãŸããŠããããããã£ãŠ ãã¢ããªã±ãŒã·ã§ã³ã«ããããªå€æŽãå ããã ãã§ãXPath ã«ããç¹å®ãããŸããããªãå¯èœæ§ããããŸãã id 屿§ãŸã㯠name 屿§ãæã€è¿ãã®èŠçŽ (çæ³çã«ã¯èŠªèŠçŽ ) ãèŠã€ããããšã«ãã£ãŠã察象ãšãªãèŠçŽ ãçžå¯Ÿé¢ä¿ã«åºã¥ããŠç¹å®ã§ããããã«ãªããŸãã ããã¯ãã¢ããªã±ãŒã·ã§ã³ã«å€æŽãå ããããŠãå€ããå¯èœæ§ã¯äœãããã¹ããããå ç¢ã«ããããšãã§ããŸãã
xpath
ãã±ãŒã¿ãŒã®ã¿ã â//â ã§å§ãŸããããXPathãã±ãŒã¿ãŒãæå®ãããšãã« xpath=
ã©ãã«ãå«ããå¿
èŠã¯ãããŸããã
<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />
</form>
</body>
<html>
xpath=/html/body/form[1]
(3) - 絶察ãã¹ïŒHTMLãå°ãã ã倿Žãããå Žåã«å£ããŸãïŒ//form[1]
(3) - HTMLã®æåã®ãã©ãŒã èŠçŽ xpath=//form[@id='loginForm']
(3) - âidâ ãšããååã®å±æ§ãšå€ âloginFormâãæã€ãã©ãŒã èŠçŽ xpath=//form[input/@name='username']
(3) - ânameâãšããååã®å±æ§ãšå€ âusernameâ ãæã€å
¥ååèŠçŽ ãæã€æåã®ãã©ãŒã èŠçŽ //input[@name='username']
(4) - ânameâãšããååã®å±æ§ãšâusernameâ ãšããå€ãæã€æåã®å
¥åèŠçŽ //form[@id='loginForm']/input[1]
(4) - âidâãšããååã®å±æ§ãšâloginFormâãšããå€ãæã€ãã©ãŒã èŠçŽ ã®æåã®å
¥ååèŠçŽ //input[@name='continue'][@type='button']
(7) - ânameâãšããååã®å±æ§ãšâcontinueâãšããå€ã®å±æ§ãâtypeâãšããååã®å±æ§ãšâbuttonâãšããå€ã®å
¥å//form[@id='loginForm']/input[4]
(7) - âidâãšããååã®å±æ§ãšâloginFormâãšããå€ãæã€ãã©ãŒã èŠçŽ ã®4çªç®ã®å
¥ååèŠçŽ ãããã®äŸã§ã¯ãããã€ãã®åºæ¬çãªäœ¿ãæ¹ã瀺ããŠããŸããXPath ã®æå®æ¹æ³ã®è©³çްã«ã€ããŠã¯ã次ã®åèè³æãèªãããšããå§ãããŸãã
ãŸããèŠçŽ ã®XPathãæ€åºããã®ã«åœ¹ç«ã€éåžžã«äŸ¿å©ãªFirefoxã¢ããªã³ãããã€ããããŸãã
ããã¯ããªã³ã¯ã®ããã¹ãã䜿çšããŠWebããŒãžã®ãã€ããŒãªã³ã¯ãç¹å®ããç°¡åãªæ¹æ³ã§ãã åãããã¹ãã®2ã€ã®ãªã³ã¯ãååšããå Žåãæåã«äžèŽãããã®ã䜿ãããŸãã
<html>
<body>
<p>Are you sure you want to do this?</p>
<a href="continue.html">Continue</a>
<a href="cancel.html">Cancel</a>
</body>
<html>
link=Continue
(4)link=Cancel
(5)ããã¥ã¡ã³ããªããžã§ã¯ãã¢ãã«ã¯HTMLããã¥ã¡ã³ãã衚ããJavaScriptã䜿çšããŠã¢ã¯ã»ã¹ã§ããŸãã ãã®ãã±ãŒã·ã§ã³ã¹ãã©ããžãŒã§ã¯ãããŒãžäžã®èŠçŽ ã«è©äŸ¡ããã JavaScript ã䜿çšããŸãã åã«éå±€åãããèšæ³ã䜿ã£ãŠèŠçŽ ã®äœçœ®ãç¹å®ã§ããŸãã
âdocumentâ ã§å§ãŸãã®ã¯ dom
ãã±ãŒã¿ãŒã ããªã®ã§ãDOMãã±ãŒã¿ãŒãæå®ãããšãã« dom=
ã©ãã«ãå«ããå¿
èŠã¯ãããŸããã
<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />
</form>
</body>
<html>
dom=document.getElementById('loginForm')
(3)dom=document.forms['loginForm']
(3)dom=document.forms[0]
(3)document.forms[0].username
(4)document.forms[0].elements['username']
(4)document.forms[0].elements[0]
(4)document.forms[0].elements[3]
(7)Selenium ããèªäœã«å ããã»ãã®ãµã€ããæ¡åŒµæ©èœãå©çšããã°ãäœæäžã®ã¢ããªã±ãŒã·ã§ã³ã® DOM ã«ã€ããŠè©³ããç¥ãããšãã§ããŸãã W3Schoolsã«ã¯é©åãªãªãã¡ã¬ã³ã¹ããããŸãã
CSS (Cascading Style Sheets) ã¯ãHTML ããã¥ã¡ã³ããš XML ããã¥ã¡ã³ãã®ã¬ã³ããªã³ã°ã«ã€ããŠèšè¿°ããããã®èšèªã§ãã CSS ã§ã¯ãã»ã¬ã¯ã¿ã䜿ã£ãŠãããã¥ã¡ã³ãå ã®èŠçŽ ã«ã¹ã¿ã€ã«ããããã£ããã€ã³ãããŠããŸãã Selenium ã§ã¯ããããã®ã»ã¬ã¯ã¿ããã±ãŒã·ã§ã³ã¹ãã©ããžãŒãšããŠå©çšã§ããŸãã
<html>
<body>
<form id="loginForm">
<input class="required" name="username" type="text" />
<input class="required passfield" name="password" type="password" />
<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />
</form>
</body>
<html>
css=form#loginForm
(3)css=input[name="username"]
(4)css=input.required[type="text"]
(4)css=input.passfield
(5)css=#loginForm input[type="button"]
(7)css=#loginForm input:nth-child(2)
(5)CSSã»ã¬ã¯ã¿ãŒã®è©³çްã«ã€ããŠã¯ãthe W3C publicationãã芧ãã ããã 詳ãããªãã¡ã¬ã³ã¹ãããã«ãããŸãã
次ã®ç¶æ³ã§ã¯ããã±ãŒã¿ãŒã¿ã€ããçç¥ããããšãã§ããŸãã
ãã±ãŒã¿ãŒæŠç¥ãæç€ºçã«å®çŸ©ãããŠããªããã±ãŒã¿ãŒã¯ãããã©ã«ãã§èå¥åãã±ãŒã¿ãŒæŠç¥ã䜿çšããŸãã
idã«ããç¹å®
ããã芧ãã ããã
â//â ã§å§ãŸããã±ãŒã¿ãŒã¯ãXPathãã±ãŒã¿ãŒæŠç¥ã䜿çšããŸãã
XPathã«ããç¹å®
ãã芧ãã ããã
âdocumentâ ã§å§ãŸããã±ãŒã¿ãŒã¯ãDOMãã±ãŒã¿ãŒæŠç¥ã䜿çšããŸãã
DOMã«ããç¹å®
ãã芧ãã ããã
ãã±ãŒã¿åæ§ã ãã¿ãŒã³ ã Selenese ã³ãã³ãã§ãã°ãã°å¿ èŠã«ãªãã¿ã€ãã®ãã©ã¡ãŒã¿ã§ãããã¿ãŒã³ãæå®ããå¿ èŠãããã³ãã³ããšããŠã¯ã verifyTextPresent ã verifyTitle ã verifyAlert ã assertConfirmation ã verifyText ã verifyPrompt ãªã©ããããŸãã ãŸãããã§ã«ç€ºãããªã³ã¯ãã±ãŒã¿ã§ãããã¿ãŒã³ã䜿çšã§ããŸãã ãã¿ãŒã³ã䜿ããšãããã¹ããæ£ç¢ºã«æå®ããªããŠããæåŸ ãããããã¹ããç¹æ®æåã®äœ¿çšãéã㊠èšè¿° ããããšãã§ããŸãã
ãã¿ãŒã³ã«ã¯ã globbing ã regular expressions ã exact ã® 3 ã€ã®çš®é¡ããããŸãã
ã»ãšãã©ã®ãŠãŒã¶ãŒã¯ãã°ããã³ã°ã«ã€ããŠã¯ãã§ã«ããç¥ã£ãŠããããšã§ãããã
ã°ããã³ã°ã¯ãDOS ã Unix/Linux ã®ã³ãã³ãã©ã€ã³ã§ ls *.c
ãªã©ãšããŠãã¡ã€ã«åãå±éãããšãã«äœ¿ãããŠããŸãã
ãã®äŸã§ã¯ãçŸåšã®ãã£ã¬ã¯ããªå
ã«ååšããæ¡åŒµå .c
ã§çµãããã¹ãŠã®ãã¡ã€ã«ã衚瀺ãããŸãã
ã°ããã³ã°ã«ã¯ããªãå¶éããããŸãã
Selenium ã®å®è£
ã§ãµããŒããããŠããç¹æ®æåã¯ã次㮠2 ã€ã ãã§ãã
*
ãäœã«ã§ãäžèŽãããŸããããªãã¡ãäœããªãã1 æåã ããè€æ°ã®æåã®ãã¹ãŠã«äžèŽããŸãã
[ ]
( æåã¯ã©ã¹ )ãâè§ãã£ãå
ã®ä»»æã® 1 æåã«äžèŽ"ããŸãã
ããã·ã¥æå (ãã€ãã³ã â-â) ã䜿ã£ãŠæåã®ç¯å² (ASCII æåã»ããã§é£ç¶ããæåã®ç¯å²) ãæå®ã§ããŸãã
æåã¯ã©ã¹ã®ã¯ãããã«ã€ããŠã¯ãããã€ãå®äŸãæããæ¹ãããããããã§ãããã
[aeiou]
ã¯ä»»æã®å°æåã®æ¯é³ã«äžèŽããŸãã
[0-9]
ã¯ä»»æã®æ°åã«äžèŽããŸãã
[a-zA-Z0-9]
ã¯ä»»æã®è±æ°åã«äžèŽããŸãã
ã°ããã³ã°ã®ã»ãšãã©ã®å®è£ ã§ã¯ã3 ã€ç®ã®ç¹æ®æåãšã㊠? ãå«ãŸããŠããŸãã ããããSelenium ã®ã°ããã³ã°ãã¿ãŒã³ã§ãµããŒããããŠããã®ã¯ãã¢ã¹ã¿ãªã¹ã¯ (*) ãšæåã¯ã©ã¹ã ãã§ãã
Selenese ã³ãã³ãã§ã°ããã³ã°ãã¿ãŒã³ãæå®ããã«ã¯ãæå®ãããã¿ãŒã³ã®åã« glob: ã©ãã«ãä»ããŸãã ãã ããã°ããã³ã°ãã¿ãŒã³ã¯ããã©ã«ããªã®ã§ããã®ã©ãã«ãçç¥ããŠãã¿ãŒã³ã ããæå®ããããšãã§ããŸãã
次ã«ç€ºãã®ã¯ãã°ããã³ã°ãã¿ãŒã³ã®äœ¿çšäŸã§ãã ããŒãžäžã®å®éã®ãªã³ã¯ããã¹ã㯠âFilm/Television Departmentâ ã§ããã æ£ç¢ºã«äžèŽããããã¹ãã§ã¯ãªãããã¿ãŒã³ã䜿ããšããªã³ã¯ã®ããã¹ãã âFilm & Television Departmentâ ã âFilm and Television Departmentâ ã«å€æŽãããå Žåã§ãã click ã³ãã³ããåäœããããã«ãªããŸãã ã°ããã³ã°ãã¿ãŒã³ã®ã¢ã¹ã¿ãªã¹ã¯ã¯ã âFilmâ ãšããåèªãš âTelevisionâ ãšããåèªã®éã«äœããªããŠãããŸãã¯äœããã£ãŠãäžèŽããŸãã
Command | Target | Value |
---|---|---|
click | link=glob:Film*Television Department | |
verifyTitle | glob:*Film*Television* |
ãªã³ã¯ãã¯ãªãã¯ããŠè¡šç€ºãããããŒãžã®å®éã®ã¿ã€ãã«ã¯ âDe Anza Film And Television Department - Menuâ ã§ãããæ£ç¢ºã«äžèŽããããã¹ãã§ã¯ãªãããã¿ãŒã³ã䜿ããšãããŒãžã®ã¿ã€ãã«ã« âFilmâ ãš âTelevisionâ ã® 2 ã€ã®åèªã (ãã®é åºã§) åºçŸããéãã verifyTitle
ã¯ãã¹ããŸãã
ããšãã°ãããŒãžã®ãªãŒããŒãã¿ã€ãã«ãççž®ã㊠âFilm & Television Departmentâ ãšããŠãããã¹ãã¯ãã¹ããŸãããªã³ã¯ãšãªã³ã¯ãåäœãããã©ããã®ãã¹ã (äžã®äŸã§ã¯ verifyTitle
) ãšã®äž¡æ¹ã§ãã¿ãŒã³ã䜿ãããšã§ããããããã¹ãã±ãŒã¹ã®ä¿å®ã®æéã倧å¹
ã«æžããããšãã§ããŸãã
æ£èŠè¡šçŸ ãã¿ãŒã³ã¯ãSelenese ããµããŒãããŠãã 3 çš®é¡ã®ãã¿ãŒã³ã®äžã§æã匷åã§ãã
æ£èŠè¡šçŸã¯ã»ãšãã©ã®é«æ°Žæºããã°ã©ãã³ã°èšèªãå€ãã®ããã¹ããšãã£ã¿ãããã« Linux/Unix ã®ã³ãã³ãã©ã€ã³ãŠãŒãã£ãªãã£ã§ãã grep ã sed ã awk ãªã©ãããŸããŸãªããŒã«ã§ããµããŒããããŠããŸãã
Selenese ã§ã¯ãæ£èŠè¡šçŸãã¿ãŒã³ã䜿ããšããã以å€ã®æ¹æ³ã§ã¯å®çŸãé£ããæ°å€ãã®ã¿ã¹ã¯ãå®è¡ããããšãã§ããŸãã
ããšãã°ãããŒãã«ã®ç¹å®ã®ã»ã«ã«å
¥åãããŠããã®ãæ°åã ããã©ããããã¹ãããå¿
èŠããããšããŸãã
ãã®å Žåã regexp: [0-9]+
ãšæå®ããã ãã§ãä»»æã®é·ãã®æ°åã«äžèŽãããããšãã§ããŸãã
Selenese ã®ã°ããã³ã°ãã¿ãŒã³ã§ãµããŒãããŠããã®ã¯ * ãš [ ] (æåã¯ã©ã¹) ã ãã§ãããSelenese ã®æ£èŠè¡šçŸãã¿ãŒã³ã§ã¯ JavaScript ã«ååšãããã®ãšåãå¹ åºãç¹æ®æåã䜿çšã§ããŸãã æ¬¡ã«ç€ºãã®ã¯ããããã®ç¹æ®æåã§ãã
PATTERN | MATCH |
---|---|
. | any single character |
[ ] | character class: any single character that appears inside the brackets |
* | quantifier: 0 or more of the preceding character (or group) |
+ | quantifier: 1 or more of the preceding character (or group) |
? | quantifier: 0 or 1 of the preceding character (or group) |
{1,5} | quantifier: 1 through 5 of the preceding character (or group) |
| | alternation: the character/group on the left or the character/group on the right |
( ) | grouping: often used with alternation and/or quantifier |
Selenese ã®æ£èŠè¡šçŸãã¿ãŒã³ã§ã¯ãå
é ã« regexp:
ãŸã㯠regexpi:
ãä»ããå¿
èŠããããŸãã
åè
ã¯å€§æåãšå°æåãåºå¥ããŸãããåŸè
ã¯å€§æåãšå°æåãåºå¥ããŸããã
Selenese ã³ãã³ãã§ã®æ£èŠè¡šçŸãã¿ãŒã³ã®äœ¿ãæ¹ã«ã€ããŠã¯ãããã€ãå®äŸãæããæ¹ãããããããã§ãããã æåã®äŸã¯ãããããæããã䜿ãããæ£èŠè¡šçŸã§ãã .* (âãããã¹ã¿ãŒâ) ã䜿ã£ããã®ã§ãã ãã® 2 æåã®äžŠã³ã¯ããä»»æã®æåã® 0 å以äžã®ç¹°ãè¿ããããã£ãšãã¿ãã ããŠèšãã°ãããã¹ãŠããŸãã¯äœããªãããã®ã«äžèŽããŸãã1 æåã®ã°ããã³ã°ãã¿ãŒã³ã§ * (ã¢ã¹ã¿ãªã¹ã¯ 1 ã€) ãšæå®ããã®ãšç䟡ã§ãã
Command | Target | Value |
---|---|---|
click | link=glob:Film*Television Department | |
verifyTitle | regexp:.*Film.*Television.* |
äžã®ãã¹ãäŸã¯ããã§ã«ç€ºããã°ããã³ã°ãã¿ãŒã³ã䜿ã£ããã¹ãã®äŸãšæ©èœçã«ã¯åãã§ãã éãã¯ãããªãã£ãã¯ã¹ (glob: ã®ä»£ããã« regexp: ã䜿ãããŠããããš) ãšãããã¹ãŠããŸãã¯äœããªãããã¿ãŒã³ãæå®ãããŠããããš ( * ã®ä»£ããã« .* ã䜿ãããŠããããš) ã ãã§ãã
次ã«ç€ºãã®ã¯ãã¢ã©ã¹ã«å·ã¢ã³ã«ã¬ãžã®æ¥ã®åºæå»ã«é¢ããæ å ±ãæ²èŒãããŠãã Yahoo! Weather ã®ããŒãžã察象ãšããããå°ãè€éãªãã¹ãäŸã§ãã
Command | Target | Value |
---|---|---|
open | http://weather.yahoo.com/forecast/USAK0012.html | |
verifyTextPresent | regexp:Sunrise: *[0-9]{1,2}:[0-9]{2} [ap]m |
äžã®äŸã§äœ¿ãããŠããæ£èŠè¡šçŸã 1 ã€ãã€èŠãŠã¿ãŸãããã
Sunrise: * | Sunrise: ãšããæååãšããã«ç¶ã 0 å以äžã®ç©ºçœ |
[0-9]{1,2} | 1 åãŸã㯠2 åã®æ°å (æéã衚ã) |
: | æå : ãã®ãã® (ç¹æ®æåã¯äœ¿ãããŠããªã) |
[0-9]{2} | 2 åã®æ°å (åã衚ã) ãšããã«ç¶ã 1 åã®ç©ºçœ |
[ap]m | æå âaâ ãŸã㯠âpâ ãšããã«ç¶ã âmâ (am ãŸã㯠pm) |
Selenium ã® å®å
šäžèŽ ãã¿ãŒã³ã¯ãããã»ã©äœ¿ãæ©äŒã¯ãªãã§ãããã
å®å
šäžèŽãã¿ãŒã³ã§ã¯ãç¹æ®æåã¯äžå䜿ããŸããã
ãããã£ãŠã(ã°ããã³ã°ãã¿ãŒã³ãšæ£èŠè¡šçŸãã¿ãŒã³ã§ã¯ç¹å¥ãªæå³ãæã€) ã¢ã¹ã¿ãªã¹ã¯æåãæ€çŽ¢ããå¿
èŠãããå Žåã«ã¯ãå®å
šäžèŽãã¿ãŒã³ã䜿ãã®ã 1 ã€ã®æ¹æ³ã§ãã
ããšãã°ãããããããŠã³ãªã¹ãã§ âReal *â ãšããã©ãã«ã®ä»ããé
ç®ãéžæããå Žåãæ¬¡ã®ãããªã³ãŒãã§ã¯ãæåŸ
ã©ããã«åäœããå Žåãããã§ãªãå ŽåããããŸãã
glob:Real *
ãã¿ãŒã³ã«å«ãŸããã¢ã¹ã¿ãªã¹ã¯ã¯ãããã¹ãŠããŸãã¯äœããªãããã®ã«äžèŽããŸãã
ãããã£ãŠãç®çã® select ã®ãªãã·ã§ã³ããåã« âReal Numbersâ ãšããã©ãã«ã®ä»ãããªãã·ã§ã³ãããã°ããããéžæãããç®çã® âReal *â ãšãããªãã·ã§ã³ã¯éžæãããªãããšã«ãªããŸãã
Command | Target | Value |
---|---|---|
select | //select | glob:Real * |
é
ç® âReal *â ã確å®ã«éžæãããããã«ããã«ã¯ã exact:
ããªãã£ãã¯ã¹ã䜿ã£ãŠæ¬¡ã®ããã« å®å
šäžèŽ ãã¿ãŒã³ãæå®ããŸãã
Command | Target | Value |
---|---|---|
select | //select | exact:Real * |
ãã ããæ£èŠè¡šçŸãã¿ãŒã³ã§æ¬¡ã®ããã«ã¢ã¹ã¿ãªã¹ã¯ããšã¹ã±ãŒãããŠãåãçµæãåŸãããŸãã
Command | Target | Value |
---|---|---|
select | //select | regexp:Real \* |
ã»ãšãã©ã®ãã¹ã¿ãŒã¯ãã¢ã¹ã¿ãªã¹ã¯ããæåãéã«å ¥ã£ãè§ãã£ãã®å¯Ÿ (ã°ããã³ã°ãã¿ãŒã³ã®æåã¯ã©ã¹æå®) ãæ€çŽ¢ããå¿ èŠã¯ãªãã§ãããã ãããã£ãŠã倧åã®ãŠãŒã¶ãŒã«ãšã£ãŠã¯ãã°ããã³ã°ãã¿ãŒã³ãšæ£èŠè¡šçŸãã¿ãŒã³ã ãã§ååãªã¯ãã§ãã
ããã³ãã³ããšãã®ã³ãã³ãã«å¯Ÿå¿ãã AndWait ã³ãã³ããšã®éãã¯ãéåžžã®ã³ãã³ã (click ãªã©) ããæäœãå®è¡ãããšå¯èœãªéãéããã«æ¬¡ã®ã³ãã³ãã®å®è¡ãç¶ããã®ã«å¯Ÿãã AndWait ã³ãã³ã (clickAndWait ãªã©) ã¯ãæäœãå®è¡ãããåŸãããŒãžãèªã¿èŸŒãŸãããŸã§ åŸ æ©ãã ãã Selenium ã«æç€ºããç¹ã«ãããŸãã
ç®çã®æäœã«ãã£ãŠãã©ãŠã¶ãã»ãã®ããŒãžã«ç§»åããããçŸåšã®ããŒãžããªããŒããããããå Žåã«ã¯ãåžžã« AndWait ã³ãã³ãã䜿ããŸãã
ãã ããã»ãã®ããŒãžãžã®ç§»åãããŒãžã®æŽæ°ã䌎ããªãæäœã«å¯Ÿã㊠AndWait ã³ãã³ãã䜿ããšããã¹ãã¯å€±æããŸãã ãã¹ãã倱æããçç±ã¯ãã»ãã®ããŒãžãžã®ç§»åãæŽæ°ãè¡ãããªããŸãŸ AndWait ã®ã¿ã€ã ã¢ãŠãã«éããŠãSelenium ãã¿ã€ã ã¢ãŠãäŸå€ãçºçãããããã§ãã
AJAX é§åå Web ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããŒãžãæŽæ°ããããšãªãããµãŒããŒããããŒã¿ãååŸãããŸãã ãã®å Žåãå®éã«ã¯ããŒãžãæŽæ°ãããªãããã andWait ã³ãã³ãã¯åäœããŸããã äžå®æéããã¹ãã®å®è¡ã忢ããããæ¹ããåªãã察å¿çãšã¯èšããŸããã åœè©²æç¹ã§ã®ã·ã¹ãã ã®å¿çæ§èœãè² è·ããã®ä»ã®å¶åŸ¡äžå¯èœãªèŠçŽ ã«ãã£ãŠãæå®ãããæéãããæ©ãããããã¯é ããç®çã® Web èŠçŽ ã衚瀺ãããããšãããããã®å Žåã«ã¯ãã¹ãã倱æããããã§ãã æãé©åãªã¢ãããŒãã¯ãåçãªæéãå¿ èŠãªèŠçŽ ã衚瀺ãããã®ãåŸ ã£ãŠãèŠçŽ ãèŠã€ããæ¬¡ç¬¬ããã¹ãã®å®è¡ãç¶è¡ããããæ¹ã§ãã
waitFor ã³ãã³ãã䜿ããšããã®ãããªããæ¹ãå®çŸã§ããŸãã waitForElementPresent ã waitForVisible ã¯ãåçãªæéãåŸ æ©ããç®çã®æ¡ä»¶ãæºãããããã©ãããæ¯ç§ãã§ãã¯ããæ¡ä»¶ãæºãããããšåæã«ã¹ã¯ãªããã®æ¬¡ã®ã³ãã³ãã®å®è¡ãç¶ããŸãã
ã¹ã¯ãªãããå®è¡ãããšããã®ã¹ã¯ãªããã«å«ãŸããã³ãã³ããé åºã«åŸã£ãŠå®è¡ãããŸãã
Selenese ããèªäœã¯ãæ¡ä»¶å€å®æ (if-else ãªã©) ãŸãã¯å埩 (forãwhile ãªã©) ããµããŒãããŠããŸããã ãããŒå¶åŸ¡ã䜿ããªããŠããå€ãã®æçšãªãã¹ãã¯å®è¡ã§ããŸãã ããããè€æ°ã®ããŒãžãé¢ä¿ããããšãå€ãåçã³ã³ãã³ãããã¡ããšãã¹ãããã«ã¯ãããã°ã©ãã³ã°ããžãã¯ããã°ãã°å¿ èŠã«ãªããŸãã
ãããŒå¶åŸ¡ãå¿ èŠã«ãªã£ãå Žåã«ã¯ã次㮠3 ã€ã®éžæè¢ããããŸãã
a) Selenium-RC ãšãJava ã PHP ãšãã£ãã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªã䜿ã£ãŠã¹ã¯ãªãããå®è¡ããããã°ã©ãã³ã°èšèªã®æã€ãããŒå¶åŸ¡æ©èœãå©çšããã
b) ã¹ã¯ãªããã®å
éšãã storeEval ã³ãã³ãã䜿ã£ãŠå°ã㪠JavaScript ã³ãŒãã®æçãå®è¡ããã
c) goto_sel_ide.js extension
æ¡åŒµã¹ã¯ãªãããã€ã³ã¹ããŒã«ããã
ã»ãšãã©ã®ãã¹ã¿ãŒã¯ããã¹ãã¹ã¯ãªãããããã°ã©ãã³ã°èšèªãã¡ã€ã«ã«ãšã¯ã¹ããŒãããSelenium-RC API ãå©çšããæ¹æ³ãéžæããããšã«ãªãã§ããã (Selenium-RC API ã«ã€ããŠã¯ãSelenium-RC ã«é¢ããç« ãåç §)ã ãã ããçµç¹ã«ãã£ãŠã¯ãå¯èœãªéããã¹ãã¹ã¯ãªããã Selenium-IDE ããå®è¡ããæ¹ãéœåãããå ŽåããããŸã (ãã¹ãã®å®è¡ã倿°ã®å¥çŽç€Ÿå¡ã«æ åœãããŠããçµç¹ããååãªããã°ã©ãã³ã°ã¹ãã«ãæåŸ ã§ããªãã±ãŒã¹ãªã©)ã ãã®ãããªå Žåã«ã¯ãJavaScript ã³ãŒãã®æçãå©çšããæ¹æ³ããgoto_sel_ide.js æ¡åŒµã¹ã¯ãªãããäœ¿ãæ¹æ³ãæ€èšãããšããã§ãããã
Selenium 倿°ã䜿ããšãã¹ã¯ãªããã®åé ã§å®æ°ãæ ŒçŽããããšãã§ããŸãã ãŸããããŒã¿é§ååãã¹ãèšèšãšçµã¿åãããŠäœ¿ãå Žåã«ã¯ (ããšã®ã»ã¯ã·ã§ã³ã§åãäžããŸã)ãã³ãã³ãã©ã€ã³ãã»ãã®ããã°ã©ã ããŸãã¯ãã¡ã€ã«ãããã¹ãããã°ã©ã ã«æž¡ãå€ã Selenium 倿°ã«æ ŒçŽããããšãã§ããŸãã
ãã¬ãŒã³ãª store ã³ãã³ãã¯ããããããã store ã³ãã³ã矀ã®äžã§æãåºæ¬çãªã³ãã³ãã§ãSelenium 倿°ã«åçŽã«å®æ°å€ãæ ŒçŽããã®ã«äœ¿çšã§ããŸãã store ã³ãã³ãã¯ã倿°ã«æ ŒçŽããããã¹ãå€ãš Selenium 倿°ã® 2 ã€ã®ãã©ã¡ãŒã¿ãåããŸãã 倿°ã®ååãä»ãããšãã¯ãè±æ°æåã ããäœ¿ãæšæºçãªåœåèŠåã«åŸã£ãŠãã ããã
Command | Target | Value |
---|---|---|
store | paul@mysite.org |
äžã®ããã«èšè¿°ãããšãã¹ã¯ãªããã®ããšã®æ¹ã§ã倿°ã«æ ŒçŽãããå€ãå©çšã§ããŸãã 倿°ã®å€ã«ã¢ã¯ã»ã¹ããã«ã¯ã次ã«ç€ºãããã«ã倿°ããã¬ãŒã¹ ({}) ã§å²ã¿ãå é ã«ãã«èšå·ãä»ããŸãã
Command | Target | Value |
---|---|---|
verifyText | //div/p | \${userName} |
倿°ã®äžè¬çãªäœ¿ãæ¹ã® 1 ã€ã«ãå ¥åãã£ãŒã«ããžã®å ¥åãæ ŒçŽããæäœããããŸãã
Command | Target | Value |
---|---|---|
type | id=login | \${userName} |
Selenium 倿°ã¯ãæåã®ãã©ã¡ãŒã¿ã«ã 2 çªç®ã®ãã©ã¡ãŒã¿ã«ã䜿çšããããšãã§ããŸãã ã³ãã³ãã®ãã©ã¡ãŒã¿ã«å€æ°ã䜿ãããŠããå Žåã倿°ã¯ããã®ã³ãã³ããå®è¡ããã»ãã®ããããæäœã«å ç«ã£ãŠ Selenium ã«ãã£ãŠè§£éãããŸãã Selenium 倿°ããã±ãŒã¿è¡šçŸã®å éšã§äœ¿ãããšãã§ããŸãã
verify ããã³ assert ã³ãã³ãã®ããããã«å¯Ÿãã察å¿ãã store ã³ãã³ããååšããŸãã ãããã®ã³ãã³ãã®ãã¡ããã䜿ããããã®ã以äžã«ç€ºããŸãã
storeElementPresent ã¯ãverifyElementPresent ã«å¯Ÿå¿ããã³ãã³ãã§ãã ãã®ã³ãã³ãã¯ãUI èŠçŽ ãèŠã€ãã£ããã©ããã«å¿ããŠãããŒã«å€ (âtrueâ ãŸã㯠âfalseâ ã®ãããã) ãæ ŒçŽããŸãã
StoreText ã¯ãverifyText ã«å¯Ÿå¿ããã³ãã³ãã§ãã ãã®ã³ãã³ãã¯ãã±ãŒã¿ã䜿ã£ãŠããŒãžäžã®ç¹å®ã®ããã¹ããæ¢ããŸãã ããã¹ããèŠã€ãã£ãå Žåã«ã¯ããã®ããã¹ãã倿°ã«æ ŒçŽãããŸãã storeText ã䜿ããšããã¹ã察象ã®ããŒãžããããã¹ããæœåºããããšãã§ããŸãã
storeEval ã®æåã®ãã©ã¡ãŒã¿ã«ã¯ã¹ã¯ãªãããæå®ããŸãã JavaScript ã Selenese ã«åãèŸŒãæ¹æ³ã«ã€ããŠã¯ã次ã®ã»ã¯ã·ã§ã³ã§åãäžããŸãã ãã¹ãã®äžã§ storeEval ã䜿ããšãã¹ã¯ãªããã®å®è¡çµæã倿°ã«æ ŒçŽããããšãã§ããŸãã
JavaScript ã¯ã ã¹ã¯ãªãã ãšéã¹ã¯ãªãã (äžè¬ã«ã¯åŒ) ã® 2 ã€ã®çš®é¡ã® Selenese ãã©ã¡ãŒã¿ã§äœ¿çšã§ããŸãã ã»ãšãã©ã®å Žåã¯ãSelenese ãã©ã¡ãŒã¿ã«æå®ããã JavaScript ã³ãŒãã®æçã®äžã§ããã¹ãã±ãŒã¹å€æ°ã«ã¢ã¯ã»ã¹ãããæäœãããããããšãå€ãã§ãããã ãã¹ãã±ãŒã¹å ã§äœæããããã¹ãŠã®å€æ°ã¯ãJavaScript ã® é£æ³é å ã«æ ŒçŽãããŸãã飿³é åãšã¯ãé£çªã®æ·»åã§ã¯ãªããæååãæ·»åã«ãã€é åã®ããšã§ãã äœæãããã¹ãã±ãŒã¹ã®å€æ°ãæ ŒçŽããã飿³é åã«ã¯ã storedVars ãšããååãä»ããããŸãã JavaScript ã³ãŒãã®æçã§å€æ°ã«ã¢ã¯ã»ã¹ãããæäœãããããã«ã¯ãå¿ ã storedVars[âyourVariableNameâ] ã®åœ¢ã§åç §ããå¿ èŠããããŸãã
ããã€ãã® Selenese ã³ãã³ããããšãã° assertEval ã verifyEval ã storeEval ã waitForEval ãªã©ã®ã³ãã³ãã§ã¯ã ã¹ã¯ãªãã ãã©ã¡ãŒã¿ãæå®ããŸãããããã®ãã©ã¡ãŒã¿ã§ã¯ç¹å¥ãªæ§æã¯å¿ èŠãããŸããã Selenium-IDE ãŠãŒã¶ãŒãªããJavaScript ã³ãŒãã®æçã®é©åãªãã£ãŒã«ããå ¥åããã ãã§ã (éåžžãå ¥åå ã®ãã£ãŒã«ã㯠察象 ãã£ãŒã«ãã§ãã ã¹ã¯ãªãã ãã©ã¡ãŒã¿ã¯äžè¬ã«ãæåã®ãã©ã¡ãŒã¿ãå¯äžã®ãã©ã¡ãŒã¿ã®ããããã ããã§ã) ã
次ã«ç€ºãã®ã¯ãJavaScript ã³ãŒãã®æçã䜿ã£ãŠç°¡åãªç®è¡æŒç®ãè¡ãäŸã§ãã
Command | Target | Value |
---|---|---|
store | 10 | hits |
storeXpathCount | //blockquote | blockquotes |
storeEval | storedVars[âhitsâ].storedVars[âblockquotesâ] | paragraphs |
次ã«ç€ºãã®ã¯ãJavaScript ã³ãŒãã®æçã§ã¡ãœãããåŒã³åºãäŸã§ãã
ãã®äŸã§ã¯ãJavaScript String ãªããžã§ã¯ãã® toUpperCase
ã¡ãœãããš toLowerCase
ã¡ãœãããåŒã³åºããŠããŸãã
Command | Target | Value |
---|---|---|
store | Edith Wharton | name |
storeEval | storedVars[ânameâ].toUpperCase() | uc |
storeEval | storedVars[ânameâ].toUpperCase() | lc |
ã³ãã³ããåããã©ã¡ãŒã¿ã®çš®é¡ã ã¹ã¯ãªãã ã§ã¯ãªãå Žåã§ãããã©ã¡ãŒã¿ã«äœ¿ãå€ã JavaScript ã䜿ã£ãŠçæããããšãã§ããŸãã
ãã ãããã®å Žåã«ã¯ç¹å¥ãªæ§æãå¿
èŠã«ãªããJavaScript ã³ãŒãã®æçããã¬ãŒã¹ã§å²ã¿ããã®åã«ã©ãã« javascript ãä»ããå¿
èŠããããŸãã
å
·äœçã«ã¯ã javascript {*ããã«ã³ãŒããèšè¿°*}
ã®ããã«æå®ããŸãã
次ã«ç€ºãã®ã¯ã type
ã³ãã³ãã® 2 çªç®ã®ãã©ã¡ãŒã¿ value
ããç¹å¥ãªæ§æã䜿ã£ãŠ JavaScript ã³ãŒãããçæããäŸã§ãã
Command | Target | Value |
---|---|---|
store | league of nations | searchString |
type | q | javascript{storedVars[âsearchStringâ].toUpperCase()} |
Selenese ã«ã¯ããã¹ãåºåã«ããã¹ããæžã蟌ãããšãã§ããç°¡åãªã³ãã³ããçšæãããŠããŸãã ãã®ã³ãã³ãã䜿ããšããã¹ãã®å®è¡äžã«é²æç¶æ³ãç€ºãæ å ±ãã³ã³ãœãŒã«ã«è¡šç€ºã§ããã®ã§äŸ¿å©ã§ãã ãããã®æ å ±ã䜿ãã°ããã¹ãçµæã®ã¬ããŒãã«å®è¡æã®ç¶æ³ãåã蟌ãããšãã§ããã®ã§ããã¹ãã§åé¡ãèŠã€ãã£ããšãã«ãããŒãžäžã®ã©ãã«ãã°ãããã®ãæ¢ãã®ã«åœ¹ç«ã¡ãŸãã ãŸããecho æã䜿ããšãSelenium 倿°ã®å 容ãåºåã§ããŸããæ¬¡ã«äŸã瀺ããŸãã
Command | Target | Value |
---|---|---|
echo | Testing page footer now. | |
echo | Username is \${userName} |
次ã®ãããªããŒãžããã¹ãããŠãããšããŸãã
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function output(resultText){
document.getElementById('output').childNodes[0].nodeValue=resultText;
}
function show_confirm(){
var confirmation=confirm("Chose an option.");
if (confirmation==true){
output("Confirmed.");
}
else{
output("Rejected!");
}
}
function show_alert(){
alert("I'm blocking!");
output("Alert is gone.");
}
function show_prompt(){
var response = prompt("What's the best web QA tool?","Selenium");
output(response);
}
function open_window(windowName){
window.open("newWindow.html",windowName);
}
</script>
</head>
<body>
<input type="button" id="btnConfirm" onclick="show_confirm()" value="Show confirm box" />
<input type="button" id="btnAlert" onclick="show_alert()" value="Show alert" />
<input type="button" id="btnPrompt" onclick="show_prompt()" value="Show prompt" />
<a href="newWindow.html" id="lnkNewWindow" target="_blank">New Window Link</a>
<input type="button" id="btnNewNamelessWindow" onclick="open_window()" value="Open Nameless Window" />
<input type="button" id="btnNewNamedWindow" onclick="open_window('Mike')" value="Open Named Window" />
<br />
<span id="output">
</span>
</body>
</html>
ãŠãŒã¶ãŒã¯ãã¢ã©ãŒã/確èªããã¯ã¹ã«å¿çãããšãšãã«ãæ°ããéãããããã¢ãããŠã£ã³ããŠã«ãã©ãŒã«ã¹ãç§»åããå¿ èŠããããŸãã 幞ããªããšã«ãSeleniumã¯JavaScriptãããã¢ãããã«ããŒã§ããŸãã
ãã ããã¢ã©ãŒã/確èª/ããã³ãããåå¥ã«è©³çްã«èª¬æããåã«ããããã®å ±éç¹ãçè§£ããŠãããšåœ¹ç«ã¡ãŸãã ã¢ã©ãŒãã確èªããã¯ã¹ãããã³ããã«ã¯ãã¹ãŠæ¬¡ã®ããªãšãŒã·ã§ã³ããããŸãã
Command | Description |
---|---|
assertFoo(pattern) | ãã¿ãŒã³ããããã¢ããã®ããã¹ããšäžèŽããªãå Žåããšã©ãŒãã¹ããŒããŸã |
assertFooPresent | ãããã¢ãããå©çšã§ããªãå Žåã¯ãšã©ãŒãã¹ããŒããŸã |
assertFooNotPresent | ãããã¢ãããååšããå Žåããšã©ãŒãã¹ããŒããŸã |
storeFoo(variable) | ãããã¢ããã®ããã¹ãã倿°ã«ä¿åããŸã |
storeFooPresent(variable) | ãããã¢ããã®ããã¹ãã倿°ã«ä¿åããtrueãŸãã¯falseãè¿ããŸã |
Seleniumã§å®è¡ããŠããå ŽåãJavaScriptãããã¢ããã¯è¡šç€ºãããŸããã
ããã¯ã颿°åŒã³åºããå®è¡æã«å®éã«Seleniumã®JavaScriptã«ãã£ãŠãªãŒããŒã©ã€ããããããã§ãã
ãã ãããããã¢ããã衚瀺ãããªããããšãã£ãŠããããã¢ãããåŠçããå¿
èŠã¯ãããŸããã
ãããã¢ãããåŠçããã«ã¯ããã® assertFoo(pattern)
颿°ãåŒã³åºãå¿
èŠããããŸãã
ãããã¢ããã®ååšãã¢ãµãŒãããªããšã次ã®ã³ãã³ãããããã¯ãããæ¬¡ã®ãããªãšã©ãŒã衚瀺ãããŸãã [ãšã©ãŒ]ãšã©ãŒïŒäºæããªã確èªããããŸããïŒ [ãªãã·ã§ã³ãéžæããŠãã ããã]
ã¢ã©ãŒãã¯åŠçãæãç°¡åãªãããã¢ãããªã®ã§ãå§ããŸãããã ãŸãããã©ãŠã¶ã§äžèšã®HTMLãµã³ãã«ãéããâShow alertâ ãã¿ã³ãã¯ãªãã¯ããŸãã ã¢ã©ãŒããéãããšãâAlert is gone.â ãšããããã¹ãã衚瀺ãããŸãã ããŒãžã«è¡šç€ºãããŸãã æ¬¡ã«ãSelenium IDEèšé²ã§åãæé ãå®è¡ããã¢ã©ãŒããéããåŸã«ããã¹ãã远å ãããããšã確èªããŸãã ãã¹ãã¯æ¬¡ã®ããã«ãªããŸãã
Command | Target | Value |
---|---|---|
open | / | |
click | btnAlert | |
assertAlert | Iâm blocking! | |
verifyTextPresent | Alert is gone. |
ããªãã¯ãããã¯ãããããç§ã¯ãã®ã¢ã©ãŒããã¢ãµãŒãããããšããããšã¯ãªãããšèããŠãããããããŸããã
ãã ããããã¯Selenium-IDEã®åŠçã§ãããã¢ã©ãŒããéããŸãã
ãã®ã¹ããããåé€ããŠãã¹ããåçãããšã次ã®ãšã©ãŒã衚瀺ãããŸã [ãšã©ãŒ]ãšã©ãŒïŒäºæããªãã¢ã©ãŒãããããŸããïŒ [I'm blocking!]
ã
ã¢ã©ãŒãã®ååšã確èªããã«ã¯ãã¢ã©ãŒãã®ã¢ãµãŒã·ã§ã³ãå«ããå¿
èŠããããŸãã
ã¢ã©ãŒããååšããããšãã¢ãµãŒããããããã¢ã©ãŒãã«å«ãŸããããã¹ããããããªããæ°ã«ããå¿
èŠããªãå Žåã¯ãassertAlertPresent
ã䜿ãããšãã§ããŸãã
ããã¯trueãŸãã¯falseãè¿ããfalseã¯ãã¹ãã忢ããŸãã
確èªã¯ã¢ã©ãŒããšã»ãŒåãããã«åäœãã assertConfirmation
ãš assertConfirmationPresent
ã¯å¯Ÿå¿ããã¢ã©ãŒããšåãç¹æ§ãæäŸããŸãã
ãã ããããã©ã«ãã§ã¯ã確èªã衚瀺ããããšãã«Seleniumã¯OKãéžæããŸãã
ãµã³ãã«ããŒãžã®"確èªãã€ã¢ãã°ã衚瀺"ãã¿ã³ãã¯ãªãã¯ããŠèšé²ã詊ã¿ãŸããããããã¢ããã®"ãã£ã³ã»ã«"ãã¿ã³ãã¯ãªãã¯ããŠãåºåããã¹ããã¢ãµãŒãããŸãã
ãã¹ãã¯æ¬¡ã®ããã«ãªããŸãã
Command | Target | Value |
---|---|---|
open | / | |
click | btnConfirm | |
chooseCancelOnNextConfirmation | ||
assertConfirmation | Choose an option. | |
verifyTextPresent | Rejected |
chooseCancelOnNextConfirmation
颿°ã¯ãåŸç¶ã®ãã¹ãŠã®ç¢ºèªãfalseãè¿ãããšãSeleniumã«äŒããŸãã
chooseOkOnNextConfirmationãåŒã³åºãããšã§ãªã»ããã§ããŸãã
Seleniumã¯æªåŠçã®ç¢ºèªããããšèŠæ ãèšãã®ã§ããã®ãã¹ããåçã§ããªãããšã«æ°ä»ããããããŸããã ããã¯ãSelenium-IDEãèšé²ããã€ãã³ãã®é åºã«ãããã¯ãªãã¯ããŠchooseCancelOnNextConfirmationãééã£ãé åºã«ãªãããã§ãïŒèããŠã¿ãã°ãSeleniumã¯ã確èªãéãåã«ãã£ã³ã»ã«ããŠããããšãç¥ãããšãã§ããŸããïŒã ããã2ã€ã®ã³ãã³ããåãæ¿ãããšããã¹ãã¯æ£åžžã«å®è¡ãããŸãã
ããã³ããã¯ãassertPrompt
ããã³ assertPromptPresent
ã察å¿ããã¢ã©ãŒããšåãç¹æ§ãæäŸããããšã§ãã¢ã©ãŒããšã»ãŒåãããã«åäœããŸãã
ããã©ã«ãã§ã¯ãSeleniumã¯ããã³ããããããã¢ãããããšãã«ããŒã¿ã®å
¥åãåŸ
æ©ããŸãã
ãµã³ãã«ããŒãžã® âShow promptâ ãã¿ã³ãã¯ãªãã¯ããŠèšé²ã詊ã¿ãããã³ããã« âSeleniumâ ãšå
¥åããŸãã
ãã¹ãã¯æ¬¡ã®ããã«ãªããŸãã
Command | Target | Value |
---|---|---|
open | / | |
answerOnNextPrompt | Selenium! | |
click | id=btnPrompt | |
assertPrompt | Whatâs the best web QA tool? | |
verifyTextPresent | Selenium! |
ããã³ããã§"ãã£ã³ã»ã«"ãéžæãããšã answerOnNextPrompt ãåã«ç©ºçœã®ã¿ãŒã²ããã衚瀺ããããšã«æ°ä»ããããããŸããã Seleniumã¯ãããã³ããã®ãã£ã³ã»ã«ãšç©ºçœã®ãšã³ããªãåºæ¬çã«åããã®ãšããŠæ±ããŸãã
ãããã°ãšã¯ãã¹ãã±ãŒã¹ã®ãšã©ãŒãèŠã€ããŠè§£æ±ºããäœæ¥ã®ããšã§ãã ãããã°ã¯ãã¹ãã±ãŒã¹éçºã«å«ãŸããéåžžã®å·¥çšã§ãã
ã»ãšãã©ã® Selenium åå¿è ããããã°ã«ã€ããŠã¯ãã§ã«åºç€ç¥èãæã£ãŠããã§ããããããããã§ã¯ãããã°ãã®ãã®ã«ã€ããŠã¯ãµããŸããã ãããã°ãããã®ããŸã£ããåããŠãšããå Žåã«ã¯ã瀟å ãçµç¹å ã®éçºè ã«ã¢ããã€ã¹ãããã£ãŠãã ããã
Selenium-IDE ã§ã¯ããã¹ãã±ãŒã¹å ã®ä»»æã®äœçœ®ã§ãã¹ãã±ãŒã¹ã®å®è¡ãéå§ãŸãã¯åæ¢ããããã®ãã¬ãŒã¯ãã€ã³ãã®æå®ãšéå§äœçœ®ã®æå®ããµããŒããããŠããŸãã ãã®æ©èœã䜿ããšããã¹ãã±ãŒã¹ã®éäžã®ç¹å®ã®ã³ãã³ãã§ãã¹ãã±ãŒã¹ã®å®è¡ã忢ããããã®æç¹ã§ã®ãã¹ãã±ãŒã¹ã®åäœã調ã¹ãããšãã§ããŸãã ãã®å Žåãå ·äœçã«ã¯ã調ã¹ãããšããã³ãã³ãã®çŽåã®ã³ãã³ãã«ãã¬ãŒã¯ãã€ã³ããæå®ããŸãã
ãã¬ãŒã¯ãã€ã³ããæå®ããã«ã¯ãã³ãã³ããéžæããå³ã¯ãªãã¯ããŠè¡šç€ºãããã³ã³ããã¹ãã¡ãã¥ãŒã§ ãã¬ãŒã¯ãã€ã³ãã®æå®/è§£é€ ãã¯ãªãã¯ããŸãã ãã¹ãã±ãŒã¹ãæåãããã¬ãŒã¯ãã€ã³ããŸã§å®è¡ããã«ã¯ãâRunâ ãã¿ã³ãã¯ãªãã¯ããŸãã
ãã¹ãã±ãŒã¹ã®éäžããæåŸãŸã§ããŸãã¯æåãããã¬ãŒã¯ãã€ã³ããŸã§ã®éšåãå®è¡ã§ãããšäŸ¿å©ãªããšããããŸãã ããšãã°ãæåã« Web ãµã€ãã«ãã°ã€ã³ããæ¬¡ã«äžé£ã®ãã¹ããå®è¡ãããã¹ãã±ãŒã¹ãäœæããŠããŠããã°ã€ã³åŸã®äžé£ã®ãã¹ãã®ããããããããã°ãããå Žåãªã©ã§ãã ãã®å Žåããã°ã€ã³ã¯ 1 床ããã°äžèŠã«ãªããŸããããã®åŸã®ãã¹ãã¯ç¹°ãè¿ãå®è¡ããå¿ èŠããããŸãã ãã®ãããªãã¹ãã±ãŒã¹ã§ã¯ããã£ãããã°ã€ã³ããåŸããã°ã€ã³æäœã®åŸã«éå§äœçœ®ãæå®ãããã®éå§äœçœ®ãããã¹ãã±ãŒã¹ãå®è¡ããããšãã§ããŸãã ããããã°ããã¹ãã±ãŒã¹ãåå®è¡ãããã³ã«æåã§ Web ãµã€ããããã°ã¢ãŠãããå¿ èŠã¯ãªããªããŸãã
éå§äœçœ®ãæå®ããã«ã¯ãã³ãã³ããéžæããå³ã¯ãªãã¯ããŠè¡šç€ºãããã³ã³ããã¹ãã¡ãã¥ãŒã§ éå§äœçœ®ã®æå®/è§£é€ ãã¯ãªãã¯ããŸãããã¹ãã±ãŒã¹ãéå§äœçœ®ããå®è¡ããã«ã¯ãâRunâ ãã¿ã³ãã¯ãªãã¯ããŸãã
ãã¹ãã±ãŒã¹ã®ã³ãã³ãã 1 ã€ãã€å®è¡ (ã¹ãããå®è¡) ããã«ã¯ãæ¬¡ã®æé ã«åŸããŸãã
ããŒã«ããŒã® âRunâ ãã¿ã³ãã¯ãªãã¯ããŠãã¹ãã±ãŒã¹ã®å®è¡ãéå§ããŸãã
ããã« âPauseâ ãã¿ã³ãã¯ãªãã¯ããŠããã¹ãã±ãŒã¹ã®å®è¡ãäžæåæ¢ããŸãã
âStepâ ãã¿ã³ãç¹°ãè¿ãã¯ãªãã¯ããŸãã
æ€çŽ¢ãã¿ã³ã䜿ããšãçŸåš (ãã©ãŠã¶ã«) 衚瀺ãããŠãã Web ããŒãžäžã® UI èŠçŽ ã®ãã¡ãçŸåšéžæãããŠãã Selenium ã³ãã³ãã§äœ¿ãããŠããã®ã¯ã©ã® UI èŠçŽ ããç¥ãããšãã§ããŸãã
ãã®æ©èœã¯ãã³ãã³ãã®æåã®ãã©ã¡ãŒã¿ã§ãã±ãŒã¿ã䜿ãå Žåã«äŸ¿å©ã§ã (Selenium ã®ã³ãã³ãã«é¢ããç« ã® èŠçŽ ã®ç¹å®
ãåç
§)ã
æ€çŽ¢ãã¿ã³ã¯ãWeb ããŒãžäžã® UI èŠçŽ ãæå®ããå¿
èŠãããããããã³ãã³ããããªãã¡ click ã clickAndWait ã type ãããã³äžéšã® assert ãš verify ã³ãã³ããªã©ã§äœ¿çšã§ããŸãã
ããŒãã«ã¿ãã§ããã±ãŒã¿ãã©ã¡ãŒã¿ãæã€ããããã®ã³ãã³ããéžæããŸãã æ€çŽ¢ãã¿ã³ãã¯ãªãã¯ããŸãã Firebox ãã©ãŠã¶ã«è¡šç€ºãããŠãã Web ããŒãžã«æ³šç®ããŸãã ãã±ãŒã¿ãã©ã¡ãŒã¿ã§æå®ãããŠããèŠçŽ ããæããç·ã®åè§ã§å²ãã§è¡šç€ºãããŸãã
ãã¹ãã±ãŒã¹ããããã°ãããšãã¯ããã°ãã°ããŒãžãœãŒã¹ (ãã¹ã察象㮠Web ããŒãžã® HTML) ãåç §ããŠåé¡ã解決ããªããã°ãªããŸããã Firefox ã§ã¯ãããŒãžãœãŒã¹ãç°¡åã«åç §ã§ããŸãã å ·äœçã«ã¯ãç®çã® Web ããŒãžãå³ã¯ãªãã¯ããâããŒãžã®ãœãŒã¹ã衚瀺â ãéžæããã ãã§ãã ããã§ããœãŒã¹ã® HTML ãå¥ã®ãŠã£ã³ããŠã«è¡šç€ºãããŸãã ãã¹ã察象㮠UI èŠçŽ ã HTML ããèŠã€ããããã®ããŒã¯ãŒããæ€çŽ¢ããã«ã¯ããã®ãŠã£ã³ããŠã® âç·šéâ ã¡ãã¥ãŒã«ãã âæ€çŽ¢â ã䜿ã£ãŠãã ããã
ãŸãããœãŒã¹ãèŠãã Web ããŒãžã®äžéšãéžæããå³ã¯ãªãã¯ããŠè¡šç€ºãããã¡ãã¥ãŒãã âéžæããéšåã®ãœãŒã¹ã衚瀺â ãã¯ãªãã¯ããæ¹æ³ããããŸãã ãã®å Žåã¯ããœãŒã¹ã®äžéšã ããå¥ã®ãŠã£ã³ããŠã«è¡šç€ºãããéžæããéšåã匷調衚瀺ãããŸãã
Selenium-IDE ã¯ããã±ãŒã¿ååŒæ°ãèšé²ãããã³ã«è¿œå æ å ±ãä¿åãããã®è¿œå æ å ±ã䜿ã£ãŠã代ããã«äœ¿çšã§ããã»ãã®ãã±ãŒã¿ååŒæ°ããŠãŒã¶ãŒã«æç€ºã§ããããã«ããŠããŸãã ãã®æ©èœã¯ããã±ãŒã¿ã«ã€ããŠè©³ããåŠã¶äžã§éåžžã«æçãªã ãã§ãªããèšé²ãããåãšã¯ç°ãªãåã®ãã±ãŒã¿ã䜿ãå Žåã«ãã°ãã°å¿ èŠãšãªããŸãã
ãã±ãŒã¿ã¢ã·ã¹ã¿ã³ã¹ã¯ãSelenium-IDE ãŠã£ã³ããŠå ã® â察象â ãã£ãŒã«ãã®å³ç«¯ã«ããããããŠã³ãªã¹ããšããŠè¡šç€ºãããŸã (ããããããŠã³ãªã¹ãã衚瀺ãããã®ã¯ãâ察象â ãã£ãŒã«ãã«å ¥åãããŠããåŒæ°ããèšé²ããããã±ãŒã¿ååŒæ°ã§ããå Žåã ãã§ã)ã æ¬¡ã«ç€ºãã®ã¯ãããã³ãã³ãã®ããããããŠã³ãªã¹ãã®å 容ã§ãã ããããããŠã³ãªã¹ãã®æåã®åã«ã¯ã代ããã«äœ¿çšã§ãããã±ãŒã¿ã衚瀺ããã2 åç®ã«ã¯ããããã®åã衚瀺ãããããšã«æ³šæããŠãã ããã
ãã¹ãã¹ã€ãŒããšã¯ãã¹ãã±ãŒã¹ã®éåã®ããšã§ãSelenium-IDE ãŠã£ã³ããŠã®äžçªå·Šã«ãã âãã¹ãã¹ã€ãŒãâ ãã€ã³ã«è¡šç€ºãããŸãã âãã¹ãã¹ã€ãŒãâ ãã€ã³ãæåã§éãããéãããããã«ã¯ãâãã¹ãã±ãŒã¹â ãã€ã³ã®å³ç«¯ (ãã€ã³ãéããŠããå Žå㯠Selenium-IDE ãŠã£ã³ããŠå šäœã®å·Šç«¯ã«ãªããŸã) ã®ååã»ã©äžã«ããå°ããªç¹ãéžæããŸãã
âãã¹ãã¹ã€ãŒãâ ãã€ã³ã¯ãæ¢åã®ãã¹ãã¹ã€ãŒããéããããã ãŸã㯠ãŠãŒã¶ãŒã âãã¡ã€ã«â ã¡ãã¥ãŒã® âãã¹ãã±ãŒã¹ãæ°èŠäœæâ ãã¯ãªãã¯ãããšãèªåçã«éããŸãã åŸè ã®å Žåãæ°ãããã¹ãã±ãŒã¹ã¯çŽåã®ãã¹ãã±ãŒã¹ã®ããäžã«è¡šç€ºãããŸãã
æ¢åã®ãã¹ãã±ãŒã¹ããã¹ãã¹ã€ãŒãã«èªã¿èŸŒãæäœã¯ãSelenium-IDE ã§ã¯ãŸã ãµããŒããããŠããŸãããæ¢åã®ãã¹ãã±ãŒã¹ã远å ããŠããã¹ãã¹ã€ãŒããäœæãŸãã¯ä¿®æ£ããã«ã¯ããŠãŒã¶ãŒãæåã§ãã¹ãã¹ã€ãŒããã¡ã€ã«ãç·šéããå¿ èŠããããŸãã
ãã¹ãã¹ã€ãŒããã¡ã€ã«ã¯ã1 åã®ããŒãã«ãå«ã HTML ãã¡ã€ã«ã§ãã <tbody> ã»ã¯ã·ã§ã³å ã®åè¡ã®ã»ã«ã«ã¯ããã¹ãã±ãŒã¹ãžã®ãªã³ã¯ãåããããŠããŸãã æ¬¡ã«ç€ºãã®ã¯ã4 ã€ã®ãã¹ãã±ãŒã¹ãå«ããã¹ãã¹ã€ãŒãã®äŸã§ãã
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Sample Selenium Test Suite</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td>Test Cases for De Anza A-Z Directory Links</td></tr>
</thead>
<tbody>
<tr><td><a href="./a.html">A Links</a></td></tr>
<tr><td><a href="./b.html">B Links</a></td></tr>
<tr><td><a href="./c.html">C Links</a></td></tr>
<tr><td><a href="./d.html">D Links</a></td></tr>
</tbody>
</table>
</body>
</html>
泚 : ãã¹ãã±ãŒã¹ãã¡ã€ã«ã¯ãåŒã³åºãå ã®ãã¹ãã¹ã€ãŒããã¡ã€ã«ãšåãå Žæã«çœ®ãå¿ èŠã¯ãããŸããã å®éãMac OS ãš Linux ã·ã¹ãã ã§ã¯ãã®ãšããã§ãã ãã ãããã®é ç®ã®å·çæç¹ã§ã¯ãWindows ã·ã¹ãã ã§äœ¿ãå Žåã«ã¯ãã°ããã£ãŠããã¹ãã±ãŒã¹ãã¡ã€ã«ãåŒã³åºãå ã®ãã¹ãã¹ã€ãŒããã¡ã€ã«ãšå¥ã®å Žæã«çœ®ãããšã¯ã§ããŸããã
ãŠãŒã¶ãŒæ¡åŒµã¹ã¯ãªããã¯ããŠãŒã¶ãŒç¬èªã®ã«ã¹ã¿ãã€ãºãæ©èœãäœæã㊠Selenium ã®æ©èœãæ¡åŒµã§ãã JavaScript ãã¡ã€ã«ã§ãã å€ãã®å Žåãã³ãã³ãã®ã«ã¹ã¿ãã€ãºãšãã圢ãåããŸããããŠãŒã¶ãŒæ¡åŒµã¹ã¯ãªããã«ããæ©èœæ¡åŒµã¯ã³ãã³ãã®è¿œå ã ãã«éå®ãããŸããã
éèŠ : ãã®ã»ã¯ã·ã§ã³ã¯æéåãã§ããè¿æ¥äžã«æ¹èšããŸãã
ãŠãŒã¶ãŒãäœæããå€ãã®æç㪠æ¡åŒµã¹ã¯ãªãã ããããŸãã
.. _goto_sel_ide.js extension
:
ãããã Selenium-IDE ã®ãã¹ãŠã®æ¡åŒµã¹ã¯ãªããã®äžã§æã人æ°ãããã®ã¯ãwhile ã«ãŒããšããªããã£ããªæ¡ä»¶å€å®ã«ãã£ãŠãããŒå¶åŸ¡ãå¯èœã«ãã goto_sel_ide.js ã§ãããã ãã®æ¡åŒµã¹ã¯ãªããã®äœ¿çšäŸã«ã€ããŠã¯ãäœè ãçšæãã ããŒãž ãåç §ããŠãã ããã
ãã®æ¡åŒµã¹ã¯ãªãããã€ã³ã¹ããŒã«ããã«ã¯ãSelenium-IDE ã® âãªãã·ã§ã³â ã¡ãã¥ãŒã§ âèšå®â ãã¯ãªãã¯ãã âäžè¬â ã¿ãã® Selenium Core æ¡åŒµã¹ã¯ãªãã (user-extension.js) ã®ãã¹ ãã£ãŒã«ãã«ããã¡ã€ã«ã®ãã¹åãå ¥åããŸãã
OK ãã¿ã³ãã¯ãªãã¯ããããæ¡åŒµã¹ã¯ãªãããèªã¿èŸŒãããã«ãSelenium-IDE ããã£ããéããŠéãå¿ èŠããããŸãã ãŸããæ¡åŒµã¹ã¯ãªããã«å€æŽãå ããå ŽåããSelenium-IDE ããã£ããéããŠéãå¿ èŠããããŸãã
ç¬èªã®æ¡åŒµã¹ã¯ãªãããäœæããæ¹æ³ã«ã€ããŠã¯ãSelenium ãªãã¡ã¬ã³ã¹ ããã¥ã¡ã³ãã®çµããã®æ¹ã«èª¬æããããŸãã
ã¹ãããããšã«Selenium IDEãšãŠãŒã¶ãŒæ¡åŒµæ©èœããããã°ãããšéåžžã«åœ¹ç«ã€ããšããããŸãã XUL/ChromeããŒã¹ã®æ¡åŒµæ©èœããããã°ã§ãããšæãããå¯äžã®ãããã¬ãŒã¯ãããŒãžã§ã³32ãå«ãŸãããŸã§Firefoxã§ãµããŒããããŠããVenkmanã§ãã æ®µéçãªãããã°ã¯ãFirefox 32ããã³Selenium IDE 2.9.0ã§åäœããããšã確èªãããŠããŸãã
âãªãã·ã§ã³â ã¡ãã¥ãŒã® âèšå®â ãã¯ãªãã¯ãããšè¡šç€ºããã âãã©ãŒãããâ ã¿ãã§ã¯ããã¹ãã±ãŒã¹ã®ä¿åãšè¡šç€ºã«äœ¿ãèšèªãéžæã§ããŸãã ããã©ã«ã㯠âHTMLâ ã§ãã
äœæãããã¹ãã±ãŒã¹ã Selenium-RC ã䜿ã£ãŠå®è¡ããå Žåã«ã¯ãäœæããããã¹ãã±ãŒã¹ãããã°ã©ãã³ã°èšèªã«å€æããããã«ãã®æ©èœã䜿ãããŸãã ãã¹ãããã°ã©ã ã®éçºçšã« Selenium-RC ã§äœ¿ãèšèª (âJavaâãâPHPâ ãªã©) ãéžæããæ¬¡ã« âãã¡ã€ã«â ã¡ãã¥ãŒã® âä¿åâ ã䜿ã£ãŠãã¹ãã±ãŒã¹ãä¿åããŸãã ããã§ããã¹ãã±ãŒã¹ã¯ãéžæããèšèªã®äžé£ã®é¢æ°ã«å€æãããŸãã ãã¹ãããµããŒãããããã°ã©ã ã³ãŒãã¯ãåºæ¬çã«ããŠãŒã¶ãŒã«ä»£ãã£ãŠ Selenium-IDE ã«ãã£ãŠçæãããŸãã
çæãããã³ãŒããèªåã®ããŒãºã«åããªããšãã¯ãçæããã»ã¹ãå®çŸ©ãããèšå®ãã¡ã€ã«ãç·šéããããšã§ãçæãããã³ãŒãã倿Žã§ããããšã«æ³šæããŠãã ããããµããŒããããŠããèšèªããšã«èšå®ãããããããã®èšå®ãç·šéã§ããŸããèšå®ã¯ãâãªãã·ã§ã³â ã¡ãã¥ãŒã® âèšå®â ãã¯ãªãã¯ãããšè¡šç€ºããã âãã©ãŒãããâ ã¿ãã«ãããŸãã
Selenium-IDE èªäœã¯ Firefox ã察象ã«ãããã¹ãããå®è¡ã§ããŸããããSelenium-IDE ã§äœæãããã¹ãã¯ãSelenium-RC ãµãŒããŒãåŒã³åºãã·ã³ãã«ãªã³ãã³ãã©ã€ã³ã€ã³ã¿ãã§ãŒã¹ã䜿ãããšã§ãã»ãã®ãã©ãŠã¶ã察象ã«å®è¡ããããšãã§ããŸãã
詳现ã«ã€ããŠã¯ãSelenium-RC ã«é¢ããç« ã® Selenese ãã¹ãã®å®è¡
ãåç
§ããŠãã ããã
ç¹ã«é¢é£æ§ãé«ãã®ã¯ã -htmlSuite ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã§ãã
以äžã¯ãSelenium-IDE ã§çºçããããšãå€ãããŸããŸãªåé¡ã«ã€ããŠãå®éã®ç»é¢ã瀺ããªãã説æãããã®ã§ãã
Table view is not available with this format.
ãã®ã¡ãã»ãŒãžã¯ãSelenium IDEã®èµ·åæã«"ããŒãã«"ã¿ãã«è¡šç€ºãããããšããããŸãã åé¿çã¯ãSelenium IDEãéããŠå床éãããšã§ãã 詳现ã«ã€ããŠã¯ã issue 1008 ãåç §ããŠãã ããã ããã確å®ã«åçŸã§ããå Žåã¯ãä¿®æ£ã«åãçµãããšãã§ããããã«è©³çްãæäŸããŠãã ããã
error loading test case: no command found
ããã¡ã€ã«ãã¡ãã¥ãŒã®ãéããã䜿çšããŠããã¹ãã¹ã€ãŒããã¡ã€ã«ãéãããšããŸããã 代ããã«ããã¡ã€ã«ãã¡ãã¥ãŒã®ããã¹ãã¹ã€ãŒããéããã䜿çšããŠãã ããã
ãã®ãšã©ãŒã¡ãã»ãŒãžãæ¹åããããã«ãæ©èœã®æ¡åŒµããªã¯ãšã¹ããããŸããã 詳现ã¯ãissue 1010ãåç §ããŠãã ããã
ãã®ã¿ã€ãã® ãšã©ãŒ ã¯ãã¿ã€ãã³ã°ã®åé¡ã瀺ããŠããå¯èœæ§ããããŸãã ã€ãŸããã³ãã³ãã®ãã±ãŒã¿ãŒã«ãã£ãŠæå®ãããèŠçŽ ããã³ãã³ãã®å®è¡æã«å®å šã«ããŒããããŠããŸããã ã³ãã³ãã®åã« pause 5000 ãå ¥ããŠãåé¡ãæ¬åœã«ã¿ã€ãã³ã°ã«é¢é£ããŠãããã©ããã倿ããŠãã ããã ãã®å Žåã倱æããã³ãã³ãã®åã«é©å㪠waitFor* ãŸã㯠*AndWait ã³ãã³ãã䜿ã£ãŠèª¿æ»ããŠãã ããã
äžèšã® open ã³ãã³ãã®å Žåã®ããã«å€æ°çœ®æã䜿çšããããšããŠå€±æããå Žåã¯ãã¢ã¯ã»ã¹ããããšããŠããå€ãæã€å€æ°ãå®éã«äœæããŠããªãããšã瀺ããŸãã ããã¯ã倿°ã Target ãã£ãŒã«ãã«é 眮ããå¿ èŠãããå Žåã« Value ãã£ãŒã«ãã«é 眮ãããããã®éã®å ŽåããããŸãã äžèšã®äŸã§ã¯ãstoreã³ãã³ãã®2ã€ã®ãã©ã¡ãŒã¿ãŒããå¿ èŠãªãã®ãšéã®é åºã§èª€ã£ãŠé 眮ãããŠããŸãã Seleneseã³ãã³ãã®å Žåãæåã®å¿ é ãã©ã¡ãŒã¿ãŒã¯ Target ãã£ãŒã«ãã«å ¥åãã2çªç®ã®å¿ é ãã©ã¡ãŒã¿ãŒïŒååšããå ŽåïŒã¯ Value ãã£ãŒã«ãã«å ¥åããå¿ èŠããããŸãã
error loading test case: [Exception⊠âComponent returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIFileInputStream.init]â nresult: â0x80520012 (NS_ERROR_FILE_NOT_FOUND)â location: âJS frame :: chrome://selenium-ide/content/file-utils.js :: anonymous :: line 48â data: no]
ãã¹ãã¹ã€ãŒãã®ãã¹ãã±ãŒã¹ã®1ã€ãèŠã€ãããŸããã ãã¹ãã±ãŒã¹ãé 眮ãããŠããããšã瀺ããã¹ãã¹ã€ãŒããå®éã«é 眮ãããŠããããšã確èªããŠãã ããã ãŸããå®éã®ãã¹ãã±ãŒã¹ãã¡ã€ã«ã®ãã¡ã€ã«åãšåç §å ã®ãã¹ãã¹ã€ãŒããã¡ã€ã«ã®äž¡æ¹ã«.htmlæ¡åŒµåãä»ããŠããããšã確èªããŠãã ããã
ãã®ãšã©ãŒã¡ãã»ãŒãžãæ¹åããããã«ãæ©èœã®æ¡åŒµããªã¯ãšã¹ããããŸããã 詳现ã¯ãissue 1011ãåç §ããŠãã ããã
æ¡åŒµãã¡ã€ã«ã®å 容ããSelenium-IDEã«ãã£ãŠèªã¿åãããŠããŸããã Selenium-IDE ã® âãªãã·ã§ã³â ã¡ãã¥ãŒã§ âèšå®â ãã¯ãªãã¯ãã âäžè¬â ã¿ã ã® Selenium Core æ¡åŒµã¹ã¯ãªãã (user-extension.js) ã®ãã¹ ãã£ãŒã«ãã«é©åãªãã¹åãæå®ããŠããããšã確èªããŠãã ããã ãŸãã Selenium Core æ¡åŒµã¹ã¯ãªãã (user-extension.js) ã®ãã¹ ãã£ãŒã«ãã®å 容ã倿ŽããåŸã¯ãSelenium-IDEãåèµ·åããå¿ èŠããããŸãã
Execute HTML Selenium IDE exports from command line
Learn more or view the full list of sponsors.