ãªããããå¿ èŠãªã®ã§ããïŒ ãŸã第äžã«ããœãããŠã§ã¢ã®å質ã®æ¹åãä¿èšŒãããã¹ã¿ãŒã®æ°åãæ¹åããããšã§ãã
ã¢ã€ãã¢ã¯äœã§ããïŒ å€ãã®å Žåãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã¯äººã«ãã£ãŠè¡ãããŸãããã¹ã¿ãŒã¯ã¢ããªã±ãŒã·ã§ã³ïŒiPhone 3ãiPhone 4ãiPadïŒãåãåããéãæªããã°ãAndroidãšGalaxyTabã2ã€ãã€è©Šããã¢ããªã±ãŒã·ã§ã³ããã¹ãããŸãããã¹ãã®80ïŒ ã¯ãã®ãããªã·ããªãªã«é¢ãããã®ã§ãã
-ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããã¯ã©ãã·ã¥ããªãããšã確èªããŸãã
-å Žæã¿ãã«ç§»åãããã¹ãŠã®ãã€ã³ããé©åã§ããããšã確èªããŸãã
-ãã€ã³ãã®1ã€ã«ç§»åãã説æãé©åã§ããããšã確èªããŸãã
...
ãã®ãããªãã¹ãã¯åãªãªãŒã¹åŸã«å®è¡ãããéåžžã«é·ãæéãããããŸãã
ãã€ãŠã Seleniumã¯Webã§æå©ã«æ¥ãŸãããããã«ãããç¹å¥ãªãã©ã°ã€ã³ãä»ããŠãã©ãŠã¶ãŒã«ãã¹ã¿ãŒã®ã¢ã¯ã·ã§ã³ãèšé²ããããšãã§ããŸããïŒèª°ããMS Wordã®ãã¯ããèŠããŠããŸããïŒïŒã ç°ãªããã©ãŠã¶ã§ããã¹ããå®è¡ã§ããŸãïŒ ç§ãã¡ã¯ãã®ãœãªã¥ãŒã·ã§ã³ãäŒç€Ÿã§äœ¿çšããŸããããæ¬åœã«å¹æçã§ãã ãã¹ãéçºã®åªåã¯å ±ãããŸããã
Webãšæ¯èŒããŠãã¢ãã€ã«éçºã¯ãŸã éåžžã«è¥ãåéã§ãããã€ã³ã¿ãŒãã§ã€ã¹ã®èªåãã¹ãã®ããã®åªãããœãªã¥ãŒã·ã§ã³ãæåŸ ããŠããŸããã§ããã ãããã®ååãªæ°ãããããšãå€æããŸããã ãããã®ããã€ãã«ã€ããŠã話ãããããšæããŸãã
iPhone
UIAutomation
ãŸããAppleã®æšæºãœãªã¥ãŒã·ã§ã³ããå§ããŸããããã¯Instrumentsã®äžéšã§ãã
UIAutomationã䜿çšãããšããšãã¥ã¬ãŒã¿ãŒãšããã€ã¹ã®äž¡æ¹ã§JavaScriptã§èšè¿°ããããã¹ãã¹ã¯ãªãããå®è¡ã§ããŸãã æ¬çªã¢ã»ã³ããªãå«ããä»»æã®ã¢ããªã±ãŒã·ã§ã³ããã¹ãã§ããŸãã è¿œå ã®ã©ã€ãã©ãªãã³ã³ãã€ã«ããå¿ èŠã¯ãããŸããã ã³ã³ãœãŒã«ããã¹ã¯ãªãããå®è¡ã§ããŸãã
Appleã¯ããã¹ãçšã«ç¹å¥ãªJavaScript APIãéçºããŸããã ãã¹ãŠã®æšæºã€ã³ã¿ãŒãã§ã€ã¹èŠçŽ ã«ã€ããŠèª¬æããŠããŸãã èŠçŽ ã¯ããªãŒã§è¡šãããã¿ã€ãïŒãã¿ã³ãtableViewsãtextFieldsãªã©ïŒããšã«èŠçŽ ããã°ããéžæããããã®ç¹å¥ãªæ©èœããããŸãã ã¢ã¯ã»ã·ããªãã£ã©ãã«ã³ãŒãã§ç¹ã«æå®ãããŠããªãéããèŠçŽ ã¯çªå·ã§ã®ã¿éžæã§ããŸãã
window.tableViewsïŒïŒ[0] .visibleCellsïŒïŒ[1] .tapïŒïŒ
æåã®ããŒãã«ã®2çªç®ã®ã»ã«ãéžæããŸãã
Goozyã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã¹ã¯ãªãããäœæãããã°ã€ã³ãã[ãã¹ãŠ]ã¿ããéžæãããŠããããšã確èªãã[èšå®]ã¿ãã«ç§»åããŠãã°ã¢ãŠãããŸãã
ãã®ã¹ã¯ãªãããæžãã®ã«1æéããããŸãããããã®é£ã§XcodeãéãããŸãŸã«ããŠããã¶ã€ããŒå ã®èŠçŽ ãã©ã®ããã«è¡šãããã©ã®ããã«åçã«çæãããããèŠãŸããã ããã«ãã¹ã¯ãªããã¯å°ããªãŠã£ã³ããŠïŒå³åŽã®UIAutomationã®ã¹ã¯ãªãŒã³ã·ã§ããïŒã«æžã蟌ãŸããæ§æãã§ãã¯ãããŒãžã§ã³ç®¡çã·ã¹ãã ã®ãµããŒãããããŸããã
[匷調衚瀺ãããã³ãŒãïŒ paste.ly/7mnG ]
çµè«ïŒãã©ãããã©ãŒã ã¯åŒ·åã§æ£ããã§ããããã¹ã¿ãŒãèªåã§ãã¹ããæžãããšã¯ã§ãããã«ãªãã®ã§ãã€ã³ã¿ãŒãã§ã€ã¹ã®å éšæ§é ãå€æŽããå Žåããã¹ããæžãçŽãå¿ èŠããããŸãã
UPDïŒXcode 4.3ã§ã¯ããã¹ããèšé²ããæ©èœãå°å ¥ãããŠããŸãã ã³ã³ãœãŒã«ããèµ·åããããšã¯ã»ãšãã©äžå¯èœã§ãã
UPD2ïŒUIAutomationã䜿çšããå Žåããã¹ãŠã®ã¢ã¯ã»ã·ããªãã£ã©ãã«ã³ã³ããŒãã³ããèšå®ããããšã匷ããå§ãããŸã
Fonemonkey
ãã¹ããé»è©±ãŸãã¯ãšãã¥ã¬ãŒã¿ãŒã®ãã¹ãã¢ããªã±ãŒã·ã§ã³ããçŽæ¥èšé²ããã³ç·šéããããšããç¹ã§èå³æ·±ãèšé²ïŒãã¬ã€ãœãªã¥ãŒã·ã§ã³ã
ãã ãããã¹ããä¿åããã«ã¯ãé»è©±ãã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ããå¿ èŠããããŸãã ãããŠãã¡ãããã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããã€ãã®è¿œå ã©ã€ãã©ãªãã³ã³ãã€ã«ããå¿ èŠããããŸãã
Fonemonkeyã¯ããã¹ããUIAutomation圢åŒã§ä¿åã§ãããããèšé²åŸã«ãã¯ãªãŒã³ãªãã¢ããªã±ãŒã·ã§ã³ã§å®è¡ã§ããŸãã
ç§ã®æèŠã§ã¯ãããã¯ãã¹ã¿ãŒãèªåã§äœ¿çšã§ããå¯äžã®ãœãªã¥ãŒã·ã§ã³ã§ãã ããæ¡ä»¶äžã§ã¯ãéçºè ããã¹ããéå§ããããContinious Integrationã·ã¹ãã ã«èªåçã«å ¥ããŸãã
UPDïŒUIAutomationãžã®ãšã¯ã¹ããŒãã¯éââåžžã«æ²ãã£ãŠãããåãåã£ãã¹ã¯ãªãããå®è¡ã§ããŸããã§ããã
ææå åŒ
ã¹ããã·ã¥
Squishã¯ãWindowsãMacãQtãããã³iOsã¢ããªã±ãŒã·ã§ã³ããã¹ãããããã®ãœãªã¥ãŒã·ã§ã³ã§ãã ç¹å®ã®éçºè ã©ã€ã»ã³ã¹ã®ã©ã€ã»ã³ã¹ïŒååä»ãã©ã€ã»ã³ã¹ïŒ2400ãã«ã
ã·ã¹ãã ã¯ãHP Quality CenterãSeapine TCMãšçµ±åããããEclipseããŒã¹ã®IDEãæäŸããŸãã ãšãã¥ã¬ãŒã¿ãŸãã¯ããã€ã¹ã§ã¢ããªã±ãŒã·ã§ã³ããã¹ãã§ãããã¹ãã®èšé²ïŒèšé²ãšåçïŒãå¯èœã§ãã ã¹ã¯ãªããã¯ãJavascriptãPythonãPerlããŸãã¯Tclã§äœæã§ããŸãã
ã·ã¹ãã ã«ã¯2ã€ã®ãã€ãã¹ç¹ããããŸããããã€ã¹äžã§ïŒãã¹ããå®è¡ããå Žåã§ãïŒäœæ¥ããã«ã¯ãã©ã€ãã©ãªã䜿çšããŠå¥ã®ããŒãžã§ã³ãã³ã³ãã€ã«ããå¿ èŠããããŸãã 2çªç®ã®ãã€ãã¹ã¯æ¥é£ã§ããHPQCãç Žããªãã£ãå Žåããã¹ã¿ãŒãæ¥é£ããŒã¹ã®IDEã§å®å šã«åäœããå¯èœæ§ã¯äœãã§ãããã
äžè¬çã«ãç¡æã®FoneMonkeyãšã®æ ¹æ¬çãªéãã¯ãããŸããã ããã§ãªãéããSquishã¯ãã«ãã¿ããããµããŒãããŠããŸãïŒèªåãžã§ã¹ãã£ãŒã®ãµããŒãïŒã
ãžã£ã¢ãœãªã¥ãŒã·ã§ã³
æãææãªãã©ãããã©ãŒã ã®1ã€ã JamoSolutionã䜿çšãããšãiPhoneãAndroidãWindows Mobileãããã³BlackBerryã¢ããªããã¹ãã§ããŸãã åæã«ãèšé²ã®èšé²ïŒåçãšåçïŒã¯ãã¹ãŠã®ãã©ãããã©ãŒã ã§ãµããŒããããŠãããWindowsã§iPhoneã¢ããªã±ãŒã·ã§ã³ããã¹ãã§ããŸãïŒ
圌ãã¯çŽ æŽããããã¢ãããªãæã£ãŠããŸããããã«iPhoneçšã®ãã¹ãããããŸãïŒ
Androidã®å ŽåïŒ
IDEã«é»è©±ç»é¢ã衚瀺ãããŠéåžžã«ããããã§ãã JamoSolutionã¯é»è©±ã®ç¹å¥ãªãšãŒãžã§ã³ããä»ããŠæ©èœããŸããã€ãŸããã¢ããªã±ãŒã·ã§ã³ã¯å€æŽãããŸããã é»è©±ã¯æç·ãŸãã¯WiFiã§æ¥ç¶ã§ããŸãã
Android
ãããã£ãŠã
æãäžè¬çãªãœãªã¥ãŒã·ã§ã³ã¯Robotiumã§ãã ãSeleniumã«äŒŒãŠããŸãããAndroidåãã§ãããšéçºè ã¯èšããŸãããå°ãééã£ãŠããŸãã Robotiumã¯èšé²ãã¹ãïŒèšé²ãšåçïŒããµããŒãããŠããããã¹ã¯ãªãŒã³ã·ã§ãããæ®ãããšãã§ããŸããã
ãã¹ãã¯Javaã§èšè¿°ãããŠããŸããå®éã Robotiumã¯éåžžã®åäœãã¹ãçšã®ã©ã€ãã©ãªã§ãããããã€ã¹ïŒãªã¢ãŒãã³ã³ãããŒã«ïŒã§ãã¹ããå®è¡ããå¯èœæ§ã¯ãããŸããã ã¢ããªã±ãŒã·ã§ã³ããã¹ãããã«ã¯ããã®ã©ã€ãã©ãªã䜿çšããŠãã«ãããå¿ èŠããããŸãã ãœãŒã¹ãªãã§ã¢ããªã±ãŒã·ã§ã³ããã¹ãããããšã¯å¯èœã§ãããããã»ã¹ã¯ç°¡åã§ã¯ãããŸããã
ãã¹ãããã€ã
ç§ã調æ»ãè¡ã£ãŠããéã«ãæ°ããAndroidãœãªã¥ãŒã·ã§ã³ãç»å ŽããŸããã TestDroidã¯ã Eclipseãã©ã°ã€ã³ã§ãããRobotium圢åŒã§ãã¹ããèšé²ïŒèšé²ããã³åçïŒã§ããŸãã ã·ã¹ãã ã¯ãæšæºã®Androidãããã¬ãŒãä»ããŠé»è©±ãšå¯Ÿè©±ããŸãã
1ã€ã®TestDroid Recorderã©ã€ã»ã³ã¹ã¯å¹Žé600ãã«ã§ãã éçºè ã¯TestDroidãµãŒããŒããªãªãŒã¹ããããšãçŽæããŸãããã¹ãçšã®ã¯ã©ã¹ã¿ãŒãäœæã§ããŸãã è€æ°ã®Androidã¹ããŒããã©ã³ããµãŒããŒã«æ¥ç¶ãããã¹ãã䞊è¡ããŠãªã¢ãŒãã§å®è¡ããŸãã
æ®å¿µãªããããã®ãœãªã¥ãŒã·ã§ã³ã¯ãŸã ããŒã¿ãã¹ãäžã§ããããããŒã§ãã¹ããçæããŸããã
ããã«ããã°ã«ãã£ãŠå€æãããšããã¹ãŠã®ã¢ã¯ã·ã§ã³ããã¹ãã«èšé²ãããããã§ã¯ãããŸããã 解決çã¯ææã§ãããåŸ ã€äŸ¡å€ããããŸãã
Windows Phone 7
å·çæç¹ã§ã¯ãWP7ã€ã³ã¿ãŒãã§ã€ã¹ã®ãã¹ããèªååãããŠãŒãã£ãªãã£ã¯ãããŸããã§ããã
絶察ãã©ãã¯ããã¯ã¹
確ãã«ã ãã©ãã¯ããã¯ã¹ ãã®æŠå¿µã«ç²ŸéããŠãããããå°ãªããšã2ã€ã®ã¢ãã€ã«ãã¹ãã·ã¹ãã ããã®ååã«åºã¥ããŠæ©èœããŠããŸãã
ãããã¯Perfecto MobileãšDevice Anywhereã§ãã
ãããã®æ±ºå®ã®æ¬è³ªã¯ãã±ãŒãã«ã§æ¥ç¶ãããå®éã®æºåž¯é»è©±ã®ãã¡ãŒã ãšãé»è©±ããç»åãéä¿¡ãããŠã§ãã«ã¡ã©ãããããšã§ãã 次ã®ããã«ãªããŸãã
æºåž¯é»è©±ã®åçã®äžã«ãŠã§ãã«ã¡ã©ã®ç»åãæ¿å ¥ãããŸãã ããŠã¹ã§å®å šã«å¶åŸ¡ãããŸãã
Perfecto Mobile and Device Anywhereã®äž»ãªããžãã¹ã¯ãèªåãã¹ãã§ãããããŸããããã¿ã€ã ããã€ã¹ã®è²©å£²ã§ãã 圌ãã¯äœçŸãã®ç°ãªãé»è©±ïŒiPhone / Android / Blackberry ...ïŒãæã¡ã1ã€ã®é»è©±ã§1æéã§çŽ15ãã«ããããŸãã
ããã¯ãå€æ°ã®ç°ãªãããã€ã¹ãååšããå€ãã®ãã©ãããã©ãŒã ãç¹ã«Androidã«æ¥ç¶ããŠããå Žåã«éåžžã«äŸ¿å©ãªãœãªã¥ãŒã·ã§ã³ã§ãã
ããããæ®å¿µãªããããã·ã¢ã®äž¡æ¹ã®ã·ã¹ãã ããã¹ããããšãããã¹ãŠã¯éåžžã«é ããé»è©±ãšã®ããåãã§ã¯å€§ããªé ãããããŸããã ãã®ã¢ãŒãã§ã¯ããã¹ã¿ãŒã¯éåžžã«ç·åŒµããŸãã
èªååã¯ã©ãã«ãããŸããïŒ
éåžžã«èå³æ·±ãããšã«èªåãã¹ããå®è£ ããŸãã ã
çµæã確èªããã«ã¯ãç»åã確èªãã OCR ç»é¢ã®ããã¹ããèªèããŸã ã ãã©ãããã©ãŒã ã®1ã€ã¯æåãªABBYYã䜿çšããŸã:-)
ã¡ãªã¿ã«ããã¹ãã¯ãšã³ã¿ãŒãã©ã€ãºã¯ã©ã€ã¢ã³ãã§ã®ã¿å©çšå¯èœã§ãããæ¯ååå¥ã«èª¬æãããŠãããããè©Šãããšã¯ã§ããŸããã§ããã
é·æ
- ãã©ãã¯ããã¯ã¹-ã¢ããªã±ãŒã·ã§ã³ãžã®å¹²æžã¯ã»ãšãã©ãããŸããã
- ãã¹ãŠã®ã¢ãã€ã«ãã©ãããã©ãŒã çšã®1ã€ã®ããŒã«ãšãã¹ãã¹ã¯ãªããã
- ããŸããŸãªããã€ã¹ã
- ãã€ãã£ããhtml5ãã¢ãã€ã«ãµã€ããªã©ãããããã¢ããªã±ãŒã·ã§ã³ããã¹ãã§ããŸãã
çæ
- èªåãã¹ãã¯é«äŸ¡ã§ãã
- é»è©±ãšããåããããšãã®å€§ããªé ãã
- ã©ã®ãã©ãããã©ãŒã çšã«éçºããŠããŸããïŒ
- ã©ããªã¢ããªïŒ ïŒã²ãŒã ãéè¡ãããžãã¹ã¢ããªã±ãŒã·ã§ã³ãå»åŠïŒ
- ãŠããããã¹ãã䜿çšããŠããã®ã¯ãªãã§ããïŒ
- UIãã¹ããèªååããŠããŸããïŒ
- èªååãéå§ããå Žåãã©ã®ããŒã«ãæé©ã§ããïŒ