Jubulaã¯ããã·ã¢ã®å€ãã®ãã¹ã¿ãŒã«ââã¯ç¥ãããŠããªããã¹ãèªååããŒã«ã§ãã圌ã¯ãã€ãããã®ãããžã§ã¯ãã§ç§ãã¡ã®äŒç€Ÿã«æ¥ãŸããã
ãã®ããã°ã©ã ã¯BREDEXGmbHã«ãã£ãŠéçºãããç¡æã§ããéçºè ã¯ãJubulaãSwingãSWT / RCP / GEFãããã³JavaFXã§ã¢ããªã±ãŒã·ã§ã³ããã¹ãã§ããããšã瀺ããŠããŸãã Jubulaã䜿çšãããã¹ã¿ãŒã¯ããã©ãã¯ããã¯ã¹æ¹åŒã§ãã¹ããå®è¡ããã誰ããèªåã§ãã¹ãã±ãŒã¹ãèªååã§ãããœãŒã¹ã³ãŒããå¿ èŠãšããªããããããã°ã©ãã³ã°èšèªãç¥ãå¿ èŠã¯ãããŸããã
Jubulaã¯ãã¹ã¿ã³ãã¢ãã³ã¢ããªã±ãŒã·ã§ã³ïŒãããžã§ã¯ãã®ããã«ïŒãŸãã¯Eclipseãã©ã°ã€ã³ïŒhttps://projects.eclipse.org/projects/technology.jubulaïŒãšããŠäœ¿çšã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããšããã¹ãŠã䜿çšã§ããããã«ãªããŸãããããžã§ã¯ããä¿åããããã®ããŒã¿ããŒã¹ãšAUT-Agentãæ§æãããŸãïŒãã¹ã察象ã®ã¢ããªã±ãŒã·ã§ã³ãšã®Jubulaæ¥ç¶ãæäŸããŸãïŒã
æ°ãããããžã§ã¯ããäœæããã«ã¯ãã¡ãã¥ãŒãã[ãã¹ã]-[æ°èŠ]ãéžæãããã£ãŒã«ãã«å ¥åããŸããAUTå®è¡å¯èœãã¡ã€ã«ã§ãå®è¡å¯èœãã¡ã€ã«ãžã®ãã¹ãéžæããŠããã¹ã察象ã®ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããŸãã
ãã¡ãããè€æ°ã®ãã¹ã¿ãŒãäœæ¥ããå€§èŠæš¡ãªãããžã§ã¯ãã®å ŽåãéäžåããŒã¿ããŒã¹ã®ç¹å¥ãªèšå®ãå¿ èŠã«ãªããŸããããã«ãããäœæãããååž°ãã¹ãçšã®ãã¹ãã±ãŒã¹ãä¿åããããã¹ãŠã®ãŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã
Jubulaã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ããã¹ãããã«ã¯ãå®éã«ã¯ãã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ãåããã¢ããªã±ãŒã·ã§ã³èªäœãå¿ èŠã§ããããã°ã©ã ã«ã¯ãæãå¿ èŠãªã¢ã¯ã·ã§ã³ã®ã»ããããã§ã«å«ãŸããŠããŸãã
Jubulaã®ãã¹ãã±ãŒã¹ã®äœæã¯ãããŒã¯ãŒãã¡ãœããã«åºã¥ããŠããŸããã€ãŸããæ°ãããã¹ãã±ãŒã¹ãäœæãããšããŠãŒã¶ãŒã¯ã¯ãªãã¯ããã§ãã¯ãåŸ æ©ãªã©ã®åèªã䜿çšããŠå¿ èŠãªã¢ã¯ã·ã§ã³ãèŠã€ãããããããã¹ãã«è¿œå ããŠãå¿ èŠãªãã©ã¡ãŒã¿ãŒãå²ãåœãŠãŸãã
ããã«ãJubulaã¯ããã¹ã¿ãŒã«ââãã£ãŠå®è¡ãããã¢ã¯ã·ã§ã³ããèšé²ãããåŸã§ããããåçããæ©èœãæäŸããŸãããã®æ¹æ³ã¯äžè¬çã§ã¯ãããŸããããããšãã°ããã§ãã¯ããã§ã«å®è¡ãããŠããç®çã®ãŠã£ã³ããŠã«ãç§»åãããå¿ èŠãããå Žåã«ãåææ¡ä»¶ããã°ããäœæããã®ã«é©ããŠããŸãã
ãã¹ãã±ãŒã¹ãäœæããã«ã¯ããã¹ãã±ãŒã¹ãã©ãŠã¶ãããã¹ãã¹ã€ãŒããéããŠããã¯ãŒã¯ã¹ããŒã¹ã«ã¹ãããããã©ãã°ããã ãã§ããããã€ãã®ã¹ããããçµã¿åãããŠã¢ãžã¥ãŒã«ã«ããããšãã§ããŸãïŒãªãã¡ã¯ã¿ãŒ-ãã¹ãã±ãŒã¹ã®æœåºïŒãåŸã§ããŸããŸãªãã¹ãã±ãŒã¹ã§äœ¿çšã§ããŸããã¢ãžã¥ãŒã«ã倿Žãããšãããã䜿çšããããã¹ãŠã®ãã¹ãã®ã¹ãããã倿ŽãããŸããããã«ã¯æ³šæããå¿ èŠããããŸããã¢ãžã¥ãŒã«ãã¯ãŒã¯ã¹ããŒã¹ã§éããŠããå Žåã¯ãF7ããŒãæŒããšãã¢ãžã¥ãŒã«ã䜿çšãããŠãããã¹ãŠã®ãã¹ãã±ãŒã¹ãç°¡åã«è¡šç€ºã§ããŸãã Jubulaã«ã¯ããã«å€ãã®ãããããŒãããããã«ãã»ã¯ã·ã§ã³ã®å¥ã®è¡ã§éåžžã«äŸ¿å©ã«åŒ·èª¿è¡šç€ºãããŠããŸããããã«ãæ€çŽ¢ããŒã䜿çšãããã«ãã³ã³ãã³ãã§ã¯ãããã°ã©ã ã®ä»»æã®æ©èœã«é¢ããé¢å¿ã®ããæ å ±ãèŠã€ããããšãã§ããŸãïŒè±èªïŒã
ãã¹ãã±ãŒã¹ãäœæããåã«ããã¹ãŠã®ã°ã©ãã£ã«ã«ã³ã³ããŒãã³ãã远å ããå¿ èŠããããŸããã¹ãã§äœ¿çšãããŸããããã¯ãã¢ããªã±ãŒã·ã§ã³ãéããŠãããšãã«ã¢ã¯ãã£ãã«ãªããªããžã§ã¯ããããã³ã°ã¢ãŒãã䜿çšããŠç°¡åã«å®è¡ã§ããŸããç®çã®ãªããžã§ã¯ãã«ã«ãŒãœã«ãåãããCtrl + Shift + qãæŒããŸãããªããžã§ã¯ãã«ååãä»ããŠä¿åããå¿ èŠããããŸãããã®åŸãç®çã®æé ã§[ã³ã³ããŒãã³ãå]ããã¯ã¹ã§ãªããžã§ã¯ããéžæã§ããŸãã
Jubulaã䜿çšãããšãå¿ èŠã«å¿ããŠç¬èªã®ç¹å®ã®ã¹ããããäœæã§ããŸããããã«ã¯ãexecuteExternalCommandã¢ã¯ã·ã§ã³ãšinvokeExternalïŒã¡ãœããïŒã¢ã¯ã·ã§ã³ããããŸãããã«ãã¹ã¯ãªãããŸãã¯.jarãã¡ã€ã«ãèµ·åãããŸãã JAVAã®ç¥èããªããã°ãç¬èªã®ããŒã ãäœæããããšã¯ã§ããŸãããç§ãã¡ã®ãããžã§ã¯ãã§ã¯ãæ§æãšã³ãžãã¢ã¯ãexecuteExternalCommandã§èšè¿°ããããJubulaã.batãä»ããŠã¢ã¯ã»ã¹ããããã€ãã®å€§ããª.jarãã¡ã€ã«ãèšè¿°ããŸããã
ã¢ã¯ãã£ããªãŠã£ã³ããŠãSVNã«ä¿åãããŠããç»åãšæ¯èŒããããã«ããããžã§ã¯ãã§äœæãããã¢ãžã¥ãŒã«ã®äŸãèããŠã¿ãŸããããæåã«ãå°æ¥ã®.jpgãã¡ã€ã«ã®ååïŒStoreValueïŒã倿°ãšããŠä¿åãããæšæºã®takeScreenshotofActivWindowã«ãã®ååãšæ°ããã¹ã¯ãªãŒã³ã·ã§ãããé 眮ããããã¹ãæžã蟌ãŸããŸããæ¬¡ã«ãexecuteExternalCommandã¹ãããã§.batãã¡ã€ã«ãèµ·åãããæ¯èŒããç»åãšããã€ãã®ç»åã衚瀺ãããŸããç»åãµã€ãºããã¯ã»ã«åäœã®æå€§èš±å®¹åå·®ãªã©ã®ãã©ã¡ãŒã¿ãåã.batãã¡ã€ã«ãä»ããŠã.jarãèµ·åãããŸãããã®ãã¡ã€ã«ã«ã¯ãããã¹ããç»åãpdfãããã³csvãã¡ã€ã«ãæ¯èŒããããã®ã¯ã©ã¹ãå«ãŸããŠããŸãããã®ã€ã³ããªã¢ãããã³ã¯ãäž»ã«ãããžã§ã¯ãã®ããã«åããŠãžã¥ãã©ãã»ããã¢ãããã人ããŸãã¯ã²ã©ãæ¬ ããŠãããã®ã远å ãã人ã ããå¿ èŠãšããŸãããã¹ãã±ãŒã¹ãäœæãããšãããã¹ã¿ãŒã¯æ¢è£œã®ã¢ãžã¥ãŒã«ãåããŸãïŒããšãã°ãç§ãã¡ããç»åã®æ¯èŒïŒããã©ã¡ãŒã¿ãèšå®ãã.batã«äœãæžãããŠãããããç¥ãããããã«.jarã«æžãããŠããããšãããããŸããã
Jubulaã¯ããã¹ãäžã«ãµãŒãããŒãã£ã®ã¢ããªã±ãŒã·ã§ã³ãšå¯Ÿè©±ã§ããŸãããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãPDFããã³CSV圢åŒã§ã¬ããŒããçæããŸããã¢ããªã±ãŒã·ã§ã³ãä»ããŠãAdobe Readerã§ã¬ããŒããéãããšãã§ããŸããJubulaã¯ããŒããŒãã·ã§ãŒãã«ããã䜿çšããŠã¬ããŒããä¿åãããã¹ã¿ãŒãäºåã«éžæããååãä»ããŠãããexecuteExternalCommandã䜿çšããŠäžèšã®æ¹æ³ã§SVNã«ä¿åããããã¡ã€ã«ãšæ¯èŒããŸãã
詊éšçµææå€§éã«è©³çްã«ç€ºãããŠããã®ã§ããã¹ãŠã®å ¥åãã©ã¡ãŒã¿ãŒãšåºåãã©ã¡ãŒã¿ãŒã確èªã§ããŸããããã¹ãããã§ãã¹ãã倱æããå ŽåãJubulaã¯ãã®ç¬éã®ã¹ã¯ãªãŒã³ã·ã§ãããæ®ããŸããããã¯ãã€ã§ãåç §ã§ããŸãïŒãã®æ©èœãç¡å¹ã«ããŠã¹ããŒã¹ãç¯çŽã§ããŸãïŒãããã«ããšã©ãŒã®ããã¹ãããã®å Žåãã»ãšãã©ã®å Žåããšã©ãŒã®æ¬è³ªãç°¡åã«èª¬æãããã°ãã¥ãŒã䜿çšã§ããŸããçµæã¯ãéžæãããã©ã«ãã«XML / HTML圢åŒã§èªåçã«ä¿åã§ããŸãããšã©ãŒçºçåŸ
ã®ã¢ã¯ã·ã§ã³ãå€å¥ããããã«ãEvent_HandlerïŒããããã€ãã³ããã³ãã©ãŒïŒã䜿çšãããŸãããšã©ãŒã®çš®é¡ã«å¿ããŠãç¶è¡ãç¹°ãè¿ãïŒæå®ãããåæ°ïŒãçµäºãäžæåæ¢ãªã©ãæ§æã§ããŸããã€ãã³ããã³ãã©ãŒã§ã¯ããšã©ãŒã®å Žåã«å®è¡ããå¿ èŠã®ãããã¹ãã¹ããããŸãã¯è€æ°ã®ã¹ãããã远å ã§ããŸãã
If-Then-Else ã䜿çšããŠã次ã®ã¹ãããã®éžæã«åœ±é¿ãäžããããšãã§ããŸããããã¯ãããŸããŸãªãã©ã¡ãŒã¿ãŒã䜿çšããå埩ã¢ã¯ã·ã§ã³ã«éåžžã«äŸ¿å©ã§ãã
ç®çã®å€ã«ãã¹ã¯ããŒã«ãããå¿ èŠãããå Žåã¯ãWhile-DoãŸãã¯Do-While Loopã圹ç«ã¡ãŸã[å€ã5ãã衚瀺ããããŸã§ãäžããæŒããå€ãã5ãã«ãªããŸã§ãäžããæŒããŸã]ã
åœç¶ãJubulaã«ã¯ãååäžã®ãã¹ãã®åã«ããç·è²ã®ãã§ãã¯ããŒã¯ã楜ããããã«ãã€ãã©ã³ãå®è¡ããæ©èœããããŸãã
Jubulaã¯ããŠãŒã¶ãŒãèªåã®ã³ã³ãã¥ãŒã¿ãŒã§ãã¹ããè¡ã£ãŠãããã®ããã«ãã¹ããè¡ããŸãã圌ã¯ã«ãŒãœã«ãã¢ããªã±ãŒã·ã§ã³ãŠã£ã³ããŠäžã«ç§»åããããŒãã¯ãªãã¯ãããããå®éšã®çŽç²ãã®ããã«ãçŸæç¹ã§ã¯ããŠã¹ãåããããããŒããŒãã«è§Šãããããããšã¯ã§ããŸããã..ããããŠãçµéšã瀺ãããã«ããŠãŒã¶ãŒã¯äœãè§ŠããªããŠãããžã¥ãã©ãäžç®ã§æ¥ããããæãããšãã§ããã®ã§ãæ£ãããã¿ã³ãèŠã€ãããããã¿ã³ãæŒãããããããšã¯ã§ããŸããããããã£ãŠãæè¯ã®ãªãã·ã§ã³ã¯ãå¥ã®ãã·ã³ã§Jubulaãå®è¡ããããšã§ããç§ãã¡ã®ãããžã§ã¯ãã§ã¯ãããã¯ãªã¢ãŒããã·ã³ã§ãããå šå¡ããŠãŒã¶ãŒãšããŠãã°ã€ã³ããŸãããJubulaã§ã®åœŒã®å€æŽã¯ãã¹ãŠä»ã®ãŠãŒã¶ãŒãå©çšã§ããããã«ãªããŸãã
ç§ãã¡ã®ãããžã§ã¯ãã§ã¯ãJubulaã¯Polarionãšçµ±åãããŠããŸããããã«ããããã®å®è¡ã§ã¯ãŸã£ããèµ·åãããªãã£ããåæ ŒãŸãã¯äžåæ Œã®ãã¹ãã®çµ±èšã衚瀺ã§ããŸãã Polarionã«ã¯ãåã ã®ãã¹ãã±ãŒã¹ããšã«ãJubulaã§ã®æšå€ã®å®è¡çµæã衚瀺ãã[Test Records]ãã£ãŒã«ããããããã®æ°ã¯åå¥ã«èšå®ã§ããŸãïŒæå€§300ïŒããã®æ©èœã¯ã宿çã«ç£èŠãããŠããªãå Žåã«ããã¹ãã®åæ Œã忢ããããŒãžã§ã³ãç°¡åã«è¿œè·¡ããã®ã«åœ¹ç«ã¡ãŸãã
ããã°ã©ã ã®éå€§ãªæ¬ ç¹ã®1ã€ã¯ã倿ŽãããŒã«ããã¯ã§ããªãããšã§ããããã¹ãããããã¯ãããå ã«æ»ãããªã©ã®æ©èœã¯ãããŸãããå¯èœãªæå€§ã®ããšã¯ã倿Žãä¿åããã«ãã¹ãŠãéããããšã§ãããããããä¿åããã¯ãªãã¯ãããšãããã ãã§ããç·æ¥ã®å Žåãç¹å®ã®æ¥ä»ãããããžã§ã¯ãã®ããŒãžã§ã³ã埩å ããããšãå¯èœã§ããããã¯ããã®æ¥ä»¥éã«è¡ããã倿Žãæ°žä¹ ã«å€±ããããšããäºå®ã«æºã¡ãŠããŸãã
Jubulaã¯ããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³çšã«äœæããããã¹ããèªååããããã®éåžžã«åªããããã°ã©ã ã§ããå¿ èŠã«å¿ããŠããŠãŒã¶ãŒãã¹ãã«ãæã£ãŠããå Žåã¯ãGUIã ãã§ãªãããµãŒããŒåŽããã®æ©èœããã¹ãŠãã§ãã¯ã§ããŸãããããããã®äœåã¯æ¬åœã«åªããã®ã§ãã¢ãããŒããèŠã€ããå¿ èŠããããŸããããããã°ããã€ã§ã楜ãã䜿çšã§ããŸãã