TestCafeã¯ã
DevExpressãæè¿ãªãªãŒã¹ããã¯ãã¹ãã©ãããã©ãŒã Webã¢ããªã±ãŒã·ã§ã³
æ©èœãã¹ããã¬ãŒã ã¯ãŒã¯ã§ãã
DevExpressã§ã¯ãWebéçºè
åãã®ããŸããŸãªã³ã³ããŒãã³ãïŒ
ASP.NET WebForms ã
ASP.NET MVC ãããã³
JavaScriptã³ã³ããŒãã³ããš
ãã¬ãŒã ã¯ãŒã¯ ïŒãéçºããŠããããã¡ãããããããã¹ãããŠããŸãã åäœãã¹ãã§ãã¹ãŠãäžè¬ã«æ確ã§ãããä¿¡ããããªãã»ã©ã®å瀺ã®äœå°ããªãå Žåãæ©èœãã¹ãã§ã¯ãå®è£
ã®è€éãã®ããã«ç¶æ³ã¯æçœã§ãã åœåãTestCafeãã¬ãŒã ã¯ãŒã¯ã¯ãã³ã³ããŒãã³ãããã³ãµã€ãã®æ©èœãã¹ãã«é¢ããå·®ãè¿«ã£ãåé¡ã解決ããããšãç®çãšããå
éšéçºã§ããã ãããŠããã®å
éšéçºãæçµçã«ç¬ç«ãã補åã«æé·ããããšã¯ããŸããŸèµ·ãããŸããã
ãã®èšäºã§ã¯ããã®ãã¬ãŒã ã¯ãŒã¯ãäœæããããã®åææ¡ä»¶ãæ¢åã®ãœãªã¥ãŒã·ã§ã³ã§ãã¹ãããéã«çºçããåé¡ïŒ
èŽåœçãªæ¬ é¥ãé€ã ïŒãããã³ãããã«å¯ŸåŠããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ç·æ¥ã«ã€ããŠ
åé¡ïŒæ¢åã®ãã¹ããœãªã¥ãŒã·ã§ã³ã§ã¯ãåé¡ã¯ãã©ãŠã¶ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããå¿
èŠãããããšã§ãã ãã¹ãç°å¢ã®ã»ããã¢ããã¯éåžžã«ç°¡åã«ãªããŸã-ãã©ã°ã€ã³ããã©ãŠã¶ã«ã€ã³ã¹ããŒã«ããå¿
èŠããããŸãããã©ãŠã¶èªäœãèšå®ããå¿
èŠãããå Žåãããããã©ãŠã¶ã®æ°ããããŒãžã§ã³ã®ãã©ã°ã€ã³ãæ©èœããªãå ŽåããããŸãããããã§ãã¹ãããå¿
èŠããããŸãã
å€ãã®å Žåã倧èŠæš¡ãªéçºããŒã ã§ã¯ããã¹ãŠã®éçºè
ãåã«ãã¹ãç°å¢ãã€ã³ã¹ããŒã«ããããå€ãããŒãžã§ã³ã®ãã¹ããã¬ãŒã ã¯ãŒã¯ãã€ã³ã¹ããŒã«ãããããããã§ã¯ãããŸããã ãããŠãç¶ç¶çãªçµ±åã·ã¹ãã ã§ã¯ãã¹ããã¯ã©ãã·ã¥ãããšã©ãŒãæ©æ¥ã«ä¿®æ£ããå¿
èŠããããåæã«ãã¹ãã®ããŒã«ã«ã§ã®ãéå§ãã®ããã ãã«æéã®å€§éšåãè²»ãããããšããç¶æ³ãçºçããŸãã ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã·ã¹ãã ã®ãã¬ãŒã ã¯ãŒã¯ã§ãããã©ã°ã€ã³ã®æŽæ°ã¯ãå¥ã®æ¥œãããããã¯ã§ãã
ãŸããããã§ã¯ã¢ãã€ã«ããã€ã¹ãç¬ç«ãããŠããŸãã ã»ãšãã©ã®æ§æã§ã¯ããã©ã°ã€ã³ã¯ãããŸããããã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããã®ã¯ç°¡åã§ã¯ãããŸããã
TestCafeã®äž»ãªãæ©èœãã¯ããã¬ãŒã ã¯ãŒã¯ããã©ãŠã¶ãŒãã©ã°ã€ã³ãŸãã¯ãã©ãŠã¶ãŒã®äºåèšå®ãå¿
èŠãšããªãããšã§ãã TestCafeã¯ããã©ãŠã¶ã«ãã©ã°ã¢ã³ããã¬ã€ã¢ãããŒãã䜿çšããŸãã ããã確èªããã«ã¯ãçŸåšãã®èšäºã衚瀺ããŠãããã©ãŠã¶ãŒã§
ãã¢ãã¹ãã
å®è¡ããŸãã ããŒã«ã«ãã·ã³ã§äœæ¥ããŠããå ŽåãTestCafeã¯ã€ã³ã¹ããŒã«ããããã©ãŠã¶ãèªåçã«æ€åºããã¯ãŒã«ãŒãäœæããŸãã

ã¢ãã€ã«ããã€ã¹ã®ãã©ãŠã¶ãã1ã€ã®ãã¿ã³ãæŒãããQRã³ãŒããã¹ãã£ã³ããã ãã§ãã¢ãã€ã«ããã€ã¹ãæ¥ç¶ã§ããŸãã

å¶åŸ¡ã·ã¹ãã å
šäœãWebããŒã¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ãåããŠããããšãå¥ã«èšåãã䟡å€ããããŸãã ã€ãŸã ãã©ãŠã¶ãŒããã¬ãŒã ã¯ãŒã¯ã«æ¥ç¶ããã ãã§ãååã®ãã·ã³ã§ãã¹ããå®è¡ãããã®çµæãåæã§ããŸãïŒåããããã¯ãŒã¯äžã«ããå ŽåïŒã ãã®å Žåãååã¯äœãã€ã³ã¹ããŒã«ããå¿
èŠã¯ãããŸããã ããã«ããã®æè»æ§ã«ããã
ãã©ãŠã¶ã¹ã¿ãã¯ä»®æ³ãã·ã³ãªã©ã®ä»»æã®ãªã¢ãŒãç°å¢ã§ãã¹ããå®è¡ã§ã
ãŸã ã
ãŸããTestCafeã¯ãã©ãŠã¶ãŒãšããŒããŒã/ããŠã¹å
¥åããããã¯ããŸããã ã€ãŸã ãæ°ã«å
¥ãã®ãã©ãŠã¶ã®å¥ã®ã¿ãã§äœæ¥ãç¶ããªãããææãããã¹ãŠã®ãã©ãŠã¶ã§äžŠè¡ããŠãã¹ããå®è¡ã§ããŸãã
åé¡ïŒãã¹ãã³ãŒããšè£œåã³ãŒãã«ã¯å€§ããªéãã1ã€ãããŸããååãšããŠããã¹ãã¯äžåºŠæžãããã³ãŒãã§ãããéçºãããã¢ããªã±ãŒã·ã§ã³ã®äœæ¥ã«ãããéåãåæããããã«ãã®ã³ãŒãã«æ»ãããšããããããŸãã ã€ãŸã ãã¹ãã³ãŒãã®äž»ãªç®çã¯åé¡ãç¹å®ããããšãªã®ã§ã次ã®2ã€ã®èŠä»¶ããããŸãã
- ãã¹ãã·ããªãªã®æ±ºå®æ§-ãã¹ãã¯1ã€ã®ã¢ã¯ã·ã§ã³ã·ããªãªãæ£ç¢ºã«å®è¡ããå¿
èŠãããããã®ã·ããªãªã¯ãã¹ãã³ãŒãããç°¡åã«ç解ã§ããå¿
èŠããããŸãã
- åé¡ãçºçããã·ããªãªã®ã¹ããŒãžãè¿
éã«ããŒã«ã©ã€ãºããæ©èœã
ãããã®èæ
®äºé
ã¯ãããæ¥ååãšç§ãéåžžã«è€éãªæ©èœãã¹ãããããã°ãããšãã«ãç§ã®é ã«åŒ·ãå»ã¿èŸŒãŸããŸããã ããã¯ã³ãŒãã®å£ã§ããããã¹ãã·ããªãªã§äœãèµ·ãã£ãŠããã®ããç解ããããšã¯å°é£ã§ããã ãã®ããããã¹ãã段éçã«ãããã°ããç®ã«èŠããã¢ã¯ã·ã§ã³ãã³ãŒããšæ¯èŒããŸããã ã©ã®ã·ããªãªãæ±ã£ãŠããã®ããç解ããã®ã«30åããããããŸããã§ããïŒ
ã¯ããããã§ã®åé¡ã¯äž»ã«äººçèŠå ã§ã-ãã¹ãã¯äžåšçšã«æžãããŠããããã¹ããäœæãã人ã¯ãã®çµæãåæãã人ã®é¢åãèŠãŸããã§ããã ããããäœããã¹ãã- ã人ã足ã§èªåãæã€ããšãã§ããå Žåãé
ããæ©ãã圌ã¯è¶³ã§èªåãæã¡ãŸãã ã
ããããä»¥æ¥ ãã¹ãŠã®äººã
ãä¿®æ£ããããšã¯ãããå®çŸå¯èœã§ãå°ãã ãå®è¡å¯èœãªã¿ã¹ã¯ã§ãããããŠãTestCafeã§ã¯ãå°é£ãªç¶æ³ã§ã®è¡åã®æ®éçãªã¢ã«ãŽãªãºã ãé©çšããŸããã§ãã
[1] ã ãã®ãã¹ãã®çµæãåŸã§åæãã人ã®ããã«ããã¹ãéçºè
ã®æéãå°ãç ç²ã«ããŠïŒãã¹ãã¯éåžžââ1åæžãããŠããããšãæãåºããŠãã ããïŒãå°ãç°ãªããã¹ãåããŸããã
TestCafeã®ãã¹ãã¯ã¹ãããã«åããããŸãã
'@fixture Example'; '@page http://testcafe.devexpress.com/Example'; '@test'['Drag slider'] = { '1.Click label "I have tried TestCafe"': function () { act.click(':containsExcludeChildren(I have tried TestCafe)'); }, '2.Check initial slider value': function() { eq($('#Developer_Rating').val(), 0); }, '3.Drag slider handle': function () { act.drag('.ui-slider-handle', 360, 0); }, '4.Check resulting slider value': function() { eq($('#Developer_Rating').val(), 7); } };
ã¹ãããã«ã¯2ã€ã®èŠä»¶ããããŸãã
- ã¹ãããã«ã¯ååãä»ããå¿
èŠããããŸãã éçºè
ã¯äœãèµ·ãã£ãŠããã®ããèªç¶èšèªã§èª¬æããå¿
èŠããããŸãã
- åã¹ãããã«å«ãŸãããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã¯1ã€ã®ã¿ã§ãã
ãã®ã¢ãããŒãã¯ãéçºè
ãšãã¹ã¿ãŒã®éã§æãæ··åãããŠãããšããã«èšããŸãã 圌ãã¯ã³ãŒããæžãããã£ãããããã¹ããæžããªããã°ãªããªãã£ãã ããããããã«æãããªããªããéçºè
ã¯åæ§ã®ã¹ã¿ã€ã«ã«æ
£ããŸããã ããããä»ã§ã¯ååã«ææžåããæ§é åããããã¹ãããããéçºè
ã¯ããæå³ã®ãããã¹ãã³ãŒããäœæããŸãã 以åã¯ãèªç¶èšèªã§è¡åãå®åŒåããŠããŸããã åé¡ãçºçããå Žåãã³ãŒãã®è©³çŽ°ãªåæã¯äžèŠã«ãªããå®è£
ã®è©³çŽ°ã«å
¥ããã«ãã¹ãã®æ¬è³ªãç°¡åã«èªã¿åãããšãã§ããŸãã
TestCafeããããã¯ãŒã¯ãã©ãã£ãã¯ãšJavaScriptãšã©ãŒãåæããããšã泚ç®ã«å€ããŸãã ãŸãããã¹ããã¯ã©ãã·ã¥ããå ŽåïŒã¢ãµãŒã·ã§ã³ããã¹ããªãã£ãããŸãã¯ä»ã®ãšã©ãŒãçºçããå ŽåïŒããã¬ãŒã ã¯ãŒã¯ã¯ã¯ã©ãã·ã¥ã®èããããåå -ã¢ã³ããŒãããããªãœãŒã¹ãŸãã¯ã³ãŒãå
ã®ãšã©ãŒã瀺ããŸãã
åé¡ïŒæ©èœãã¹ãã¯ç°¡åã«æããŸããç¹å®ã®ã·ããªãªã§ãšã³ããŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ããšãã¥ã¬ãŒãããçµæãè©äŸ¡ããŸãã ãããããŠãŒã¶ãŒã®å¶åŸ¡å€ã§çºçããããã¹ã¯ãªããã®å®è¡ã«åœ±é¿ããå€ãã®é ãããã¡ã«ããºã ããããŸãã ãããŠããã¹ãéçºè
ã¯ããããèæ
®ããå¿
èŠããããŸãã
ããšãã°ããã¿ã³ãæŒããšãéåæXHRãªã¯ãšã¹ããéä¿¡ãããäžéšã®ããŒã¿ãå¿çããããããããŒãžãããã¯ãæ§ç¯ããããŠãŒã¶ãŒã«è¡šç€ºãããŸãã ãŠãŒã¶ãŒã«ãšã£ãŠã¯ãããã¯ã»ãã®ããããªèŠèŠçãªé
延ã§ããããã·ã³ã«ãšã£ãŠã¯ãå¯äœçšãšé決å®çãªå®äºæéã䌎ãã¢ã¯ã·ã§ã³ã§ãã ãããŠãèµ·ãã£ãŠããããšã®æå³ãæ·±ããããšãªããè¯ããã¹ããæžãããšã¯é£ããããšãããããŸãïŒçµå±ããã¹ãã§ã¯ãXHRãªã¯ãšã¹ããå®äºãããŸã§åŸ
ã£ãŠãã次ã®ã¹ãããã«é²ãå¿
èŠãããããšãæ確ã«ç€ºãå¿
èŠããããŸãïŒã å
éšã¡ã«ããºã ããã¹ãã®åæ Œã«åŒ·ã圱é¿ãäžããå Žåãä»ã®ãªãã·ã§ã³ããããŸãã ããšãã°ãå€ãã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ããã¹ããå®è¡ããåã«æåã§Cookieãã¯ãªã¢ããå¿
èŠããããŸãã ãã®ãããªã¯ãªãŒãã³ã°ãè¡ãããšãå¿ããŠãéåžžã«äžå®å®ã§ãããã°ãå°é£ãªãã¹ããåããããšãã§ããŸãã
åè¿°ã®ãã¹ãã¹ãããã¡ã«ããºã ãèŠããŠããŸããïŒ ã³ãŒãã®æ§é ãæ¹åããããšã«å ããŠãå¥ã®åé¡ã解決ããŸã-ã¢ããªã±ãŒã·ã§ã³ã®ç¶æ
éã®é·ç§»ãå¹³æºåããããšãã§ããŸãã ã€ãŸã TestCafeã¯ã
waitForPageLoadïŒïŒã
waitForXhrCompleteïŒïŒãªã©ãæ瀺çã«èŠå®ããå¿
èŠã¯ãããŸããã ãªããªã åã¹ãããã«ã¯ã¢ã¯ã·ã§ã³ã1ã€ã ãå«ãŸããŠãããããTestCafeã¯ããŒãžéã®é·ç§»ã®å®äºãšããã®ã¢ã¯ã·ã§ã³ã«ãã£ãŠåŒãèµ·ããããXHRãªã¯ãšã¹ãã®çµäºãèªåçã«äºæž¬ããŸãã ãããã£ãŠããã¹ãã§éæž¡ç¶æ
ãèšè¿°ããå¿
èŠã¯ãããŸããã ãã¹ãã«ã¯ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã®ãšãã¥ã¬ãŒã·ã§ã³ãšããŠãŒã¶ãŒãå°ãæçµç¶æ
ã®åæã®ã¿ãå«ãŸããŸãã
ãŸãã
Cookieã®ã¯ãªã¢ãè¡ããŸããã åãã¹ãã¯ãåºæ¬çã«ãã¹ãã³ã³ãããŒã§å®è¡ããããã¹ãã®éå§æã«ã¯åžžã«ç©ºã®
Cookieãå«ãŸããŠããŸãã ç¶æ
ããªã»ãããããããã©ãŠã¶ã®ãã¹ãç°å¢ãã»ããã¢ãããããããå¿
èŠã¯ãããŸããã ããã¯èªåçã«è¡ãããŸãã
åé¡ïŒå€ãã®å Žåããã¹ãæžã¿ã®ããŒãžã«ã¯åºæ¬èªèšŒãŸãã¯WindowsèªèšŒãå¿
èŠã§ãã å€ãã®å Žåããã®åé¡ã«ã¯ãããã«äœ¿ããã解決çããããŸããã
TestCafeã«ã¯ããããã®èªèšŒãããã³ã«ã®ãµããŒããçµã¿èŸŒãŸããŠããŸã-ãã°ã€ã³æ
å ±ãå
¥åããã ãã§ããã©ãŠã¶ãšåæ§ã«TestCafeãèªåçã«èªèšŒãããŸãã

ãã¹ãã³ãŒãã§ãã°ã€ã³æ
å ±ãæå®ããããšãã§ããŸãã
'@auth guest:MostlyHarmless'; '@test'['Click Input'] = { '1. Type name': function() { act.type(getInput(), 'Peter Parker'); }, '2. Move caret position': function() { act.click(getInput(), { caretPos: 5 }); }, '3. Erase a character': function() { act.press('backspace'); }, '4. Check result': function() { eq(getInput().val(), 'Pete Parker'); } };
åé¡ïŒæ©èœãã¹ããã¬ãŒã ã¯ãŒã¯API-ç¹ã«æ³šç®ã«å€ãããã®ã DOMäžã®ãããã®å·šå€§ãªã¢ããªã³ã¯ããã©ãŠã¶ãŒã®DOM APIã®é©æ°ã«è¿œãã€ããŠããªãå ŽåããããŸãããåŠã¶ã®ãæãç°¡åãªãã®ã§ã¯ãããŸããã
ãããããDOMãšJavaScriptã«æ
£ããŠããªããã¹ã¿ãŒã«ââãšã£ãŠã¯ç°¡åã§ãïŒããšããªãã¯èšããŸãã ãã ãããã®ã¹ããŒãã¡ã³ãã«ã¯å
éšçãªççŸãå«ãŸããŠããŸãããã®APIã¯ããããã«ããŠããã€ãã£ãDOMããªãŒã®ã©ãããŒã§ãã ã€ãŸã ãããã®å Žåã§ããDOMã®æ§é ãç解ããããã«è¿œå ã®APIã念é ã«çœ®ããŠãäžæ¹ãä»æ¹ã«æ圱ãããæ¹æ³ãç解ããå¿
èŠããããŸãã
æ¢ã«ãæ°ã¥ããããããŸããããTestCafeã§ãã¹ããäœæããããã®èšèªã¯JavaScriptã§ãã æ£ç¢ºã«ã¯ãããã¯
DSLã§ãããJavaScriptã®ãµãã»ããã§ãã ã€ãŸããæ¢åã®JavaScriptãšãã£ã¿ãŒã¯ãæ§æã®åŒ·èª¿è¡šç€ºããªãŒãã³ã³ããªãŒãããªãã¡ã¯ã¿ãªã³ã°ãªã©ãä»éãããã¹ãŠã®ã䟿å©ãªæ©èœããåãããã¹ããã¡ã€ã«ãç°¡åã«éãããšãã§ããŸãã
ããã«ããŠã§ãã«ã¯JavaScriptã»ã©èªç¶ãªèšèªã¯ãããŸããã TestCafeã«ã¯äžéAPIã¯ãããŸãããDOMãçŽæ¥æäœã§ããŸãïŒVanilla JSã®å€§ãã¡ã³ã®å ŽåïŒããŸãã¯ãjQueryã®èªåæ¥ç¶ããŒãžã§ã³ã䜿çšã§ããŸãã
TestCafeã§å©çšå¯èœãªãšã³ããŠãŒã¶ãŒãšãã¥ã¬ãŒã·ã§ã³ã«ã¯ç¹å¥ãªæ³šæãæãå¿
èŠããããŸãã APIãå¯èœãªéãæå°éã«æããªãããå¯èœãªéãæè»æ§ãç¶æããããšããŸããã
ã¡ãœããã¯
11åãããããŸããããå®éã«ééããã»ãšãã©ãã¹ãŠã®ã·ããªãªãã«ããŒããŠããŸãã
TestCafe APIã«ã¯ããªããžã§ã¯ãã¿ã€ããèªèããŠã詳现ãªãæ¯èŒãè¡ãããšãã§ãã
4ã€ã®ã¿ã€ãã®ã¢ãµãŒã·ã§ã³ãå«ãŸããŠããŸãã ãã¹ããç·šéããã«ã¯ããã¬ãŒã ã¯ãŒã¯ã«çµã¿èŸŒãŸãããšãã£ã¿ãŒã䜿çšã§ããŸãã

ãæ°ã«å
¥ãã®JavaScriptãšãã£ã¿ãŒã䜿çšããããšãã§ããŸãã TestCafeã¯ãã¹ãããªã³ã¶ãã©ã€ã§ã³ã³ãã€ã«ããŸãããã®ãããæ§æãšã©ãŒãç¯ãããããã¹ãæ§é ã誀ã£ãŠäœæããå Žåãããã«éç¥ãããŸãã
åé¡ïŒæ©èœãã¹ãã¯äžå®å®ã«ãªãå¯èœæ§ããããŸãã ååãšããŠããã®çç±ã¯ããŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ãããšãã§ã¯ããçµäºãããŸã§ã®åŸ
ã¡æéã誀ã£ãŠèšå®ãããŠããããã§ãã æéééã®å€æŽã¯ããããã¯ãŒã¯é
延ãã³ã³ãã¥ãŒã¿ãŒã®äœéããã¹ã察象ã®ã¢ããªã±ãŒã·ã§ã³ã®äœéãªã©ãå€ãã®èŠå ã«ãã£ãŠåŒãèµ·ããããå¯èœæ§ããããŸãã åè¿°ã®ããã«ãTestCafeã«ã¯ãããŒãžã®ç§»è¡ãšXHRãªã¯ãšã¹ãã®çµäºãåŸ
æ©ããã¡ã«ããºã ãçµã¿èŸŒãŸããŠããŸãã ãã ããã¢ãã¡ãŒã·ã§ã³ã®æåŸ
å€ã®ãã¥ãŒãªã¹ãã£ãã¯ã¯ãŸã ç 究段éã§ããããã¬ãŒã ã¯ãŒã¯ã®ãªãªãŒã¹ãã©ã³ãã«ã¯å«ãŸããŠããŸããã ããã«ããã¹ãã®äžå®å®æ§ã¯ããã¹ã察象ã®ã¢ããªã±ãŒã·ã§ã³èªäœã®äžå®å®æ§ã«ãã£ãŠåŒãèµ·ããããå¯èœæ§ããããŸãã
ãã®ãããªãã¹ãããã£ããããããã«ãTestCafeã¯ç¹å¥ãªã¢ãŒãã§ãã
Quarantine Modeãå°å
¥ããŸãããããã¯äžè¬ã«
ãMartin Fowlerã®äžå®å®ãªãã¹ãã®éé¢ã«é¢ããã¢ã€ãã¢ã®æè¡çãªå®è£
ã§ã ã ãã®æ¬è³ªã¯éåžžã«åçŽã§ãããã¹ããã¯ã©ãã·ã¥ããå Žåãããã¯ããã«èœã¡ããã¹ãã®ãªã¹ãã«è¿œå ãããã®ã§ã¯ãªããéé¢ãããŸãã ããã¯ããã¹ããããã«2åå®è¡ãããåæ Œã®çµæãç°ãªãå Žåããã®ãããªãã¹ããã¬ããŒãã®äžå®å®ãªãã¹ãã®ãªã¹ãã«è¿œå ãããããšãæå³ããŸãã
ãã®ããªãåçŽãªã¡ã«ããºã ã«ãããé決å®çãªçµæãæã€ãã¹ããå¹æçã«ãã£ããã§ããŸãã çµ±èšçãµã³ãã«ã®éããã¡ããã¯ããã«å€§ããé£ç¶ç©åã·ã¹ãã ã§äœæ¥ããå Žåãç¹ã«è¯ãçµæãåŸãããŸãã ãšããã§ãTestCafeã«ã¯
ç¶ç¶çãªçµ±åã®ããã®çµã¿èŸŒã¿APIããããŸã ã ãã¬ãŒã ã¯ãŒã¯ã¯ã
npmãä»ããŠéåžžã®ããŒãã©ã€ãã©ãªãšããŠå©çšã§ããŸãã
ãã¹ãã¬ã³ãŒããŒã«ã€ããŠ
ãã¡ãããåè¿°ã®ãã¹ãŠã«å ããŠãTestCafeã«ã¯ãã»ã¬ã¯ã¿ãŒã®äŸ¿å©ãªã©ã€ããšãã£ã¿ãŒãšå®è¡ãããã¢ã¯ã·ã§ã³ãããŒã«ããã¯ããæ©èœãåããçµã¿èŸŒã¿ã®ãã¹ãã¬ã³ãŒããŒããããŸãã

çµè«ãšããŠ
TestCafeãéçºããéãèšå€§ãªæ°ã®ãªãŒãã³ãœãŒã¹éçºã䜿çšããããããªãŒãã³ãœãŒã¹ã³ãã¥ããã£ãä¿¡çšããªãã®ã¯å°ãäžå
¬å¹³ã§ãã ãã®ãããTestCafeéçºã®ã³ã³ããã¹ãã§ã¯ãparse5ãäœæãããŸãããããã¯ãnode.jsã®
HTML5ä»æ§ãšå®å
šã«äºææ§ã®ããæéã®ããŒãµãŒã§ããHTMLããŒãµãŒ
[2]ã§ãã ãŸãã
whackoã¯ãparse5ããã©ãããã©ãŒã ãšããŠäœ¿çšãã
cheerioã©ã€ãã©ãªã®ãã©ãŒã¯ã§ãã
ç§ãã¡ã¯ãŸã å°æ¥ã®èšå€§ãªæ°ã®èšç»ãæã£ãŠããŸãããããã§ããã ãæ©ãå®è£
ããããšããŠããŸãïŒTestCafeã¡ãžã£ãŒãªãªãŒã¹ã¯çŽ2ãæããšã«åºãŠããŸãïŒã å°æ¥çã«ã¯ããŠãŒã¶ããªãã£ãšé床ã®æãããªæ¹åã«å ããŠãããå€ãã®ãŠããŒã¯ã§èå³æ·±ãæ©èœãç§ãã¡ãåŸ
ã£ãŠããŸãã é£çµ¡ãåãåããŸãããïŒ
泚é
1.å°é£ãªç¶æ³ã§ã®è¡åã®æ®éçãªã¢ã«ãŽãªãºã - ååšã®ç¡çãã宣èšãã
- ã²ããŸãã
- æã§é¡ãéãã
- æ³£ã
2.äœãç¥ã£ãŠããŸãã...å
¬åŒã®HTML5ä»æ§ã§ã¯ãã¿ã°
<sarcasm>ã衚瀺ãããŸã
