æè¿ã®Webã¢ããªã±ãŒã·ã§ã³ã«ã¯ãå€ãã®å¯åéšåãšãµãŒãããŒãã£ã®äŸåé¢ä¿ãå«ãŸããŠããããšããããããŸãã ãã®ãããªã¢ããªã±ãŒã·ã§ã³ã®æ©èœããªãã¡ã¯ã¿ãªã³ã°ããã³è¿œå /å€æŽããéçšã§ãæ¢åã®ãŠãŒã¹ã±ãŒã¹ã¹ã¯ãªããã®å
èš³ãç¹å®ã®ãã©ãŠã¶ãŒã§ã®äžå®å®ãªåäœãçºçããå ŽåããããŸãã
ãã®ãããªç¶æ³ãã¿ã€ã ãªãŒã«æ€åºããç¶ç¶çãªçµ±åãå®è£
ããã«ã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®æ©èœãã¹ããå¿
èŠã§ãã ãã®èšäºã§ã¯ã2ã€ã®ç¡æã®ãªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ã«ã€ããŠèª¬æããŸãã
æ€èšããããœãªã¥ãŒã·ã§ã³ã¯ãäžèŠãããšããåæ§ã®å€ãã®å¯èœæ§ãæäŸããŸãã
- ãã¹ãã®é 次ããã³äžŠåå®è¡ãšãããã®ã°ã«ãŒãåãGulpããã³Mochaãšã®çµ±åã«ããèªåæ©èœãã¹ãã
- ã»ãšãã©ã®ãã¹ã¯ãããããã³ã¢ãã€ã«ãã©ãŠã¶ãŒã®ãµããŒãã å®éã®DOM APIãšã®å¯Ÿè©±ïŒWebã¢ããªã±ãŒã·ã§ã³ã¯ãéåžžã®ã¿ãã®éããŠãããã©ãŠã¶ãŒãŠã£ã³ããŠã§éããŸã-ãã¹ãã¯å¯èœãªéãå®éã«è¿ããã®ã§ãïŒã
- ããŒãžèŠçŽ ã»ã¬ã¯ã¿ãŒã®åºç¯ãªãµããŒãïŒdocument.querySelectorãCSSã»ã¬ã¯ã¿ãŒãããã«ã¯XPathã ãããã®ãªãã·ã§ã³ãçµã¿åãããããšã«ãããããŒã¯ã¢ãããå€æŽãããšãã«æ©èœãã¹ãã®æ©èœãç¶æã§ããŸãã
- ãã©ãŠã¶ã®DOMã¢ãã«ã®æºåãæŽãã®ãèªåçã«åŸ
æ©ããèŠèŠçãªå¯Ÿè©±ã³ãã³ããåæçã«çºè¡ããŸãïŒãã¿ã³ãã¯ãªãã¯ããŠãããã¹ããã£ãŒã«ããå
¥åããŸãïŒã ã¯ã©ã€ã¢ã³ãJSã³ãŒãããã³ãããã¯ãŒã¯AJAXã¢ã¯ãã£ããã£ãåŸ
æ©ããããã®äŸ¿å©ãªããŒã«ã
- iframeã®ãµããŒã-DOMWindowã®çŸåšã®ã³ã³ããã¹ããéžæããããšã«ãã-ãã¹ãçšã®ãŠã£ã³ããŠãšããã®äžã®ã³ãã³ããå®è¡ãããã€ã§ãåãæ¿ããããšãã§ããŸãã
- æ¡åŒµã®æ©äŒ-ã©ã¡ãã®ãœãªã¥ãŒã·ã§ã³ããã«ã¹ã¿ã ãã©ãŠã¶ãŒã®ãµããŒããè¿œå ããæ°ããã³ãã³ãã®è¿œå ãªã©ãç¬èªã®æ©èœãæ¡åŒµããæ©äŒãæäŸããŸãã
æ©èœãã¹ãã®äŸ
ãã¹ãã®äŸãšããŠã¯ãnode.jsã«ãµãŒããŒããããReact + Reduxã«ã¯ã©ã€ã¢ã³ãSPAããŒãžãããTodoMVC圢åŒã®Webã¢ããªã±ãŒã·ã§ã³ããããŸãã ãã¹ãæ¡ä»¶ãå®éã®æ¡ä»¶ã«è¿ã¥ããããã«ãã©ã³ãã ãªé
延ããã¹ãŠã®reduxã¢ã¯ã·ã§ã³ã«è¿œå ãããããã¯ãšã³ããšã®ãããã¯ãŒã¯çžäºäœçšããšãã¥ã¬ãŒãããŸãïŒ ããã¯åºç€ãšããŠæ¡çšãããŸãïŒã
å°æ¥ããã¹ãWebã¢ããªã±ãŒã·ã§ã³ã¯httpïŒ// localhostïŒ4000 /ã§å®è¡ããããšæ³å®ãããŸã ã æ©èœãã¹ãã¯ç°¡åã§ãtodoèŠçŽ ã®è¿œå ããã®å
容ã®ç·šéãå®äº/倱æããã¿ã¹ã¯ãšããŠã®ããŒã¯ä»ããããã³åé€ãå«ãŸããŸãã
äž¡æ¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ãã¹ããèšè¿°ããèšèªã¯JSïŒTestCafeãšNightwatchã®å Žåã¯ããããES2016ãšES5ïŒã§ãããããã¯ããããèšèªã§æžãããWebã¢ããªã±ãŒã·ã§ã³ã«æé©ã§ãã JSã§é·ãééçºããŠããªãå Žåã¯ãææ°ã®ãšãã£ã·ã§ã³ãå€ãES3ãã倧ããé¢ããŠããããšãèæ
®ããå¿
èŠããããã³ãŒãããªããžã§ã¯ãæåããã³é¢æ°åããã°ã©ãã³ã°ãªã©ãæžãããã®äŸ¿å©ãªæ段ãå«ãŸããŠããŸãã
TestCafeã¯ã1ã€ã®npm install -g testcafe
ãããŸãã å¿
èŠãªäŸåé¢ä¿ãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããåŸã察å¿ãããã£ã¬ã¯ããªã®ã³ãã³ãtestcafe <browser-name> <tests-directory>/
ã«ãã£ãŠãã¹ããå®è¡ãããŸãã
äžèšã®ãŠãŒã¹ã±ãŒã¹ã¹ã¯ãªããããã§ãã¯ããæ©èœãã¹ãã®ãœãŒã¹ã³ãŒãã¯æ¬¡ã®ãšããã§ãã
import { expect } from 'chai'; import { Selector } from 'testcafe'; const MAX_TIME_AJAX_WAIT = 2500;
ãã¹ããããWebããŒãžã®ã¢ãã¬ã¹ã¯ãã£ã¯ã¹ãã£éšåã§æ±ºå®ããããã®åŸã«æ©èœãã¹ããç¶ããŸããåãã¹ãã®çµäºæã«ãWebããŒãžã¯å
ã®ç¶æ
ã«èªåçã«åŸ©å
ãããŸãã ããŒãžäžã®DOMèŠçŽ ãæ€çŽ¢ããã«ã¯ãtestcafeåºæã®ã»ã¬ã¯ã¿ãŒã䜿çšãããŸããããã¯ãããããåŒæ°ã䜿çšããŠãDOMã¢ãã«ãç
§äŒããé¢æ°ã®ã©ãããŒãšããŠäœ¿çšãããŸãã
ãã®äŸã§ã¯ãæåã®ã»ã¬ã¯ã¿ãŒã¯document.querySelectorã®ã©ãããŒãè¡šãã2çªç®ã®ã»ã¬ã¯ã¿ãŒã¯ãªã¹ãããç®çã®ã¢ã€ãã ãéžæããã®ã«åœ¹ç«ã€ã³ãŒã«ããã¯é¢æ°ãæã€document.querySelectorAllã®ã©ãããŒãè¡šããŸãã Selectorã©ãããŒã¯ãªãã·ã§ã³ãåãå
¥ããŸããç¹ã«ãæå®ãããç¹æ§ãæã€èŠçŽ ãDOMã¢ãã«ã«è¡šç€ºããããŸã§testcafeãåŸ
æ©ããæ倧æéãèšå®ããŸãã
æ©èœãã¹ãèªäœã¯ãã»ã¬ã¯ã¿ãŒãžã®éåæåŒã³åºãã®ã»ããã§ããããã¹ãã³ã³ãããŒã©ãŒéã§ã€ã³ã¹ã¿ã³ã¹åãããå€æ°tã䜿çšããŠã¢ã¯ã·ã§ã³ãå®è¡ãããŸãã ã»ãšãã©ã®ã¡ãœããã®ç®çã¯ååïŒã¯ãªãã¯ãtypeTextãªã©ïŒããæããã§ããã t.setNativeDialogHandler
䜿çšããŠããã¹ããããã³ã°ã¢ãããããå¯èœæ§ãããã¢ã©ãŒãã®ãããªãŠã£ã³ããŠã®çæãé²ããŸããããã¯éåžžã«äŸ¿å©ã§ãã
Nightwatchã®ã€ã³ã¹ããŒã«ã¯ãã·ã³ãã«ãªã³ãã³ãnpm install -g nightwatch
ã§ãéå§ãããŸãããæ©èœãã¹ããå®è¡ããã«ã¯ãSelenuimãµãŒããŒïŒ ããããããŠã³ããŒãã§ããŸããJavaSEã©ã³ã¿ã€ã ãã³ã³ãã¥ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ããå¿
èŠããããŸãïŒããã³å®è¡ããåãã©ãŠã¶ãŒã®Webãã©ã€ããŒãå¿
èŠã§ããã¹ãã
ãã¹ããå®è¡ããã«ã¯ãæåã«ãã¹ãã®å Žæãselenium-serverããã³webdriverã®ãã¹ãšèšå®ãèšè¿°ããnightwatch.jsonæ§æãã¡ã€ã«ãäœæãã次ã«çŸåšã®ãã£ã¬ã¯ããªã§åçŽãªnightwatch
ã³ãã³ãã䜿çšããå¿
èŠããããŸãã
Microsoft Web DriverïŒEdgeïŒã䜿çšããŠããå Žåãnightwatch.jsonã¯æ¬¡ã®ããã«ãªããŸãã
{ "src_folders" : ["nightwatch-tests"], "output_folder" : "reports", "custom_commands_path" : "", "custom_assertions_path" : "", "page_objects_path" : "", "globals_path" : "", "selenium" : { "start_process" : true, "server_path" : "nightwatch-bin/selenium-server-standalone-3.0.1.jar", "log_path" : "", "port" : 4444, "cli_args" : { "webdriver.edge.driver" : "nightwatch-bin/MicrosoftWebDriver.exe" } }, "test_settings" : { "default" : { "selenium_port" : 4444, "selenium_host" : "localhost", "desiredCapabilities": { "browserName": "MicrosoftEdge", "acceptSslCerts": true } } } }
äžèšã§èª¬æããåæ§ã®ãŠãŒã¹ã±ãŒã¹ã¹ã¯ãªããããã§ãã¯ããæ©èœãã¹ãã®ãœãŒã¹ã³ãŒãã¯ã次ã®ããã«ãªããŸãã
module.exports = { 'Demo test' : function (client) { client.url('http://localhost:4000/') .waitForElementVisible('body', 1000)
ã³ãŒãã®æ©èœã®äžã§ãããã€ããŠã©ããã¯èŠçŽ ã®ããã«ã¯ãªãã¯ãšãã¥ã¬ãŒã·ã§ã³ããµããŒãããŠããªãããšã«æ°ä»ãã®ã¯ç°¡åã§ã-代ããã«ãã¿ãŒã²ããã³ã³ãããŒã«ã§dispatchEventãå®è¡ããã¯ã©ã€ã¢ã³ãã§æ³šå
¥é¢æ°ã䜿çšããŠåé¿çãå®è£
ããå¿
èŠããããŸãã
Nightwatchã®äŸ¿å©ãªæ©èœã¯ãXPathã®ãµããŒãã§ããããã¯ãCSSã»ã¬ã¯ã¿ãŒãšæ¯èŒããŠDOMã¢ãã«ã®èŠçŽ ãéžæããããã®éåžžã«åºãå¯èœæ§ãæäŸããŸãã
TestCafeãšNightwatchæ©èœã®æ¯èŒ
ã€ã³ã¹ããŒã« ïŒ
[T] estCafe ïŒ npm install -g testcafe
1ånpm install -g testcafe
ã§ãWebãããžã§ã¯ãã®çŸåšã®ãã£ã¬ã¯ããªã§ãã¹ãã®äœæãšå®è¡ãããã«éå§ã§ããŸã
[N] ightwatch ïŒnpmã¢ãžã¥ãŒã«ã®ã€ã³ã¹ããŒã«ã¯ç°¡åã§ããnpm install -g nightwatch
ãselenium-standalone-serverã®æåããŠã³ããŒããé¢å¿ã®ãããã¹ãŠã®ãã©ãŠã¶ãŒçšã®Webãã©ã€ããŒãæ§æãã¡ã€ã«ã®æåäœæïŒãŸãã¯JavaãããŠã³ããŒãããªãå ŽåããããŸãïŒã€ã³ã¹ããŒã«æžã¿ïŒ
DOMèŠçŽ ã®éžæ ïŒ
T ïŒã»ã¬ã¯ã¿ãŒã®ã¡ã«ããºã ã䜿çšãããŸã-1ã€ãŸãã¯è€æ°ã®DOMããŒããéžæããã¯ã©ã€ã¢ã³ãJSé¢æ°ã®ã©ãããŒã ããã«ããã document.querySelector
ãŸãã¯document.getElementById
åçŽãªã©ãããŒãããDOMèŠçŽ ãééããããã®ä»»æã®ããžãã¯ã§çµãããŸã§ãã»ãŒç¡å¶éã®éžæãå¯èœã«ãªããŸãã åæã«ãTestCafeã¯ãæå®ãããæéå
ã«æå®ãããã»ã¬ã¯ã¿ãŒã«åŸã£ãŠãèŠçŽ ã®æç¡ãåå¥ã«æ€èšŒããŸãã
N ïŒCSSã»ã¬ã¯ã¿ãŒãŸãã¯XPathã®éžæè¢ãæäŸãããŸã-ååãšããŠãããŒãžäžã®èŠçŽ ãéžæããã»ãšãã©ã®ã¿ã¹ã¯ã解決ããã«ã¯2çªç®ã®ãªãã·ã§ã³ã§ååã§ãããããã¯è€éãªä»»æã®æ€çŽ¢ããžãã¯ãèšå®ããæ©èœãšã¯æ¯èŒã§ããŸããã
ãã¹ãã©ã€ãã£ã³ã°èšèª ïŒ
T ïŒES2016ã§ãããã«ãã¹ããçŽæ¥èšè¿°ã§ããŸããããã«ãããWebã¢ããªã±ãŒã·ã§ã³èªäœãšåãèšèªã§ã·ã³ãã«ã§èªã¿ããããã¹ãã³ãŒããèšè¿°ã§ããŸãããŸãããã¹ããããžã§ã¯ãããç¹å®ã®ã¢ãžã¥ãŒã«ãã€ã³ããŒãããå¿
èŠãããå Žåã«ã䟿å©ã§ãã
N ïŒæ©èœãã¹ãã®ãœãŒã¹ã³ãŒãã§å»æ¢ãããES5æ§æãšexports-constructionsïŒES6ãåºå®ããæ©äŒã¯ãŸã ãããŸãããæŸèæã§ïŒ
éåææäœã®ãµããŒã ïŒ
T ïŒãã¹ãŠã®APIé¢æ°ã¯Promiseã«åºã¥ããŠããŸããããã«ããããã¹ãã®ä»»æã®éåæããžãã¯ãèšè¿°ããåæã«node.jsããç¬èªã®é¢æ°ãçµ±åã§ããŸãã ES2016ã®ãµããŒãã«ããããã®ã³ãŒãã¯äžè²«ããã¹ã¿ã€ã«ã§éåæããã³åŸ
æ©æ§é ã䜿çšããŠèšè¿°ã§ããŸãã
N ïŒãã¹ãã§ã¯ãWebããŒãžã®ã³ã³ãã³ããåæããã³ç®¡çããããã®äžé£ã®ã³ãã³ããå®è£
ã§ããŸããããããã¯ã€ãã³ãã®å
éšãã¥ãŒã«è¿œå ãããç¬èªã®éåææ©èœããããã«çµ±åããã®ã¯åé¡ã§ãã
ãã®å Žã§ã¯ã©ã€ã¢ã³ãã³ãŒããæ¿å
¥ããŸã ã
T ïŒé©åãªAPIã䜿çšããŠå®è£
ããã®ã¯ç°¡åã§ãã¯ã©ã€ã¢ã³ãé¢æ°ã®äœæãšåŸç¶ã®å®è¡ãæ¿å
¥ãããã³ãŒãã®1åã®å®è¡ãå
ã®WebããŒãžã®æ¢åã®é¢æ°ã®çœ®æãããã³ãã¹ãã«é¢ããnode.jsé¢æ°ã®ã³ãŒã«ããã¯ã§ã®ã¯ã©ã€ã¢ã³ãé¢æ°ã®å®è¡ããµããŒãããŸãã³ã³ãããŒã©ãŒã«ã
N ïŒã¯ã©ã€ã¢ã³ãåŽã§JSã³ãŒããå®è¡ããæ©èœããŸãã¯ã¹ã¯ãªãããããã¯å
šäœãæ¿å
¥ããæ©èœããããŸããããã¹ãã³ã³ãããŒã©ãŒãšã®çµ±åããŒã«ã¯æäŸãããŠããŸããã åçŽãªåæå¯èœãªJSã³ãŒãã«é©ããŠããŸãããããäžè¬çãªå Žåãçµ±åã«ã¯åé¡ããããŸãã
ã¹ããŒãã¡ã³ããšæåŸ
ã®èª¬æ ïŒ
T ïŒããã©ã«ãã¯éåžžã®chai / expectã¹ããŒãã¡ã³ãèšèªã§ãããä»ã®äºææ§ã®ããã¹ããŒãã¡ã³ãã©ã€ãã©ãªã䜿çšã§ããŸãã
N ïŒæ¡åŒµãããassert
ããã³expect
èšèªãããŒãžã®ç¶æ
ãèšè¿°ããããã®ããŒã«ãå«ã¿ãŸããããã«ã¯ãèŠçŽ ã®ååšãšãã®ãã©ãŒã«ã¹ãCSSã¯ã©ã¹ã«å±ãããªã©ãå«ãŸããŸãã 䟿å©ããã«èŠããŸãããäž»ã«ãã¹ãã§ã®éåææäœã®å®å
šãªãµããŒããäžè¶³ããŠãããããå¿
èŠã«å¿ããŠã¹ããŒãã¡ã³ããšæåŸ
å€ãååšããŸãã
ãã¹ãæžã¿ã®WebããŒãžã®ç®¡ç ïŒ
T ïŒæ»ãå€ãæå®ããæ©èœã«ããconfirm
alert
ã confirm
ãªã©ã®ãããã¯ã¹ã¯ãªããã®ã¢ãã¯ã®å¯èœæ§ãæ³å®ããŠããŸãã DOMã¢ãã«ã䜿çšããè€éãªæäœãã³ã³ãããŒã«ãšã®ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã®ãšãã¥ã¬ãŒã·ã§ã³ãããã³ã¯ã©ã€ã¢ã³ãJSé¢æ°ã®ã©ããã³ã°ã«ããJSã¹ã¯ãªããã®äžæåæ¢ã®å¯èœæ§ããµããŒããããŠããŸã
N ïŒè¡šç€ºããããã©ãŠã¶ãŠã£ã³ããŠãšåºç€ãšãªãDOMã¢ãã«ãçŽæ¥å¶åŸ¡ããã³ãã³ãããµããŒããããŠããŸãããã¯ã©ã€ã¢ã³ãJSã¹ã¯ãªãããšã®çµ±åã¯å°é£ã§ã
ããŠã¹ã«ãŒãœã«ã®æäœ ïŒ
T ïŒããŒãžã®ã¿ãŒã²ããèŠèŠèŠçŽ ã«å¯ŸããŠãããŒãã¯ãªãã¯ãããã³ãã©ãã°ã€ãã³ããå®è¡ãããä»®æ³ã«ãŒãœã«ãæäŸãããŸãã ãã¹ãäžãã«ãŒãœã«ã®åããšå®è¡ãããã¢ã¯ã·ã§ã³ã芳å¯ã§ããŸãã
N ïŒéåžžãã«ãŒãœã«ãæäœããããã®ããŒã«ããããŸã-ãããã¯webdriver apiã®æ©èœã§ãããå·Šã¯ãªãã¯1åãããè€éãªã¢ã¯ã·ã§ã³ãæäœããããšã¯éåžžã«åé¡ãå€ããããå°ãªããšãããã«ã¯ãªãã¯ããŠãã ããã
TestCafeããã³NightWatchã§ã®ãã©ãŠã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã®å®è£
NightWatchãã¬ãŒã ã¯ãŒã¯ã¯ãããç¥ããããããçšåºŠã¯åŸæ¥ã®Selenium Webdriverã©ã€ãã©ãªã«åºã¥ããŠããããã®å©ç¹ã«ã¯ã確ç«ãããAPIãé«åºŠãªããã¥ã¡ã³ããã€ã³ã¿ãŒãããäžã®åºç¯ãªQïŒAãããã³ãã©ãŠã¶ãžã®æ®éçã§ããªãäœã¬ãã«ã®ã¢ã¯ã»ã¹ãå«ãŸããŸã...ãã©ãŠã¶ããšã«1ã€ã
äž»ãªæ¬ ç¹ã¯ããã¹ãŠã®ãã©ãŠã¶ãŒã«Webãã©ã€ããŒãååšããããã©ãŠã¶ãŒèªäœã®ããŒãžã§ã³ãå€æŽãããšãã«åå¥ã®æŽæ°ãå¿
èŠã§ãããæ©èœããããã«ã¯Javaãžã®å€éšäŸåãå¿
èŠãªããšã§ãã Webdriverãã¯ãããžãŒã®è©³çŽ°ã«ã€ããŠã¯ã httpïŒ//www.w3.org/TR/webdriver/ãã芧ãã ããã
TestCafeãã¬ãŒã ã¯ãŒã¯ã¯ããã©ãŠã¶ãŒã¢ããªã±ãŒã·ã§ã³ãšã®çžäºäœçšãæå°éã«æããã¢ãããŒãã«åºã¥ããŠããŸã-ãŠã£ã³ããŠ/ã¿ããéãããŠã£ã³ããŠã®ãµã€ãºãå€æŽãããURLãªã©ã«ç§»åããæ©èœã®ã¿ã䜿çšãããŸãã
WebããŒãžãšã®å¯Ÿè©±ã¯ãtestcafe-hammerhead Webãããã·ãµãŒããŒãä»ããŠå®è¡ãããDOMã¢ãã«ãšçµ±åããèŠèŠèŠçŽ ãæ€çŽ¢ããã³ç®¡çããå®è¡ããããšã«ãããæ©èœãã¹ãã¹ããããå®è¡ããããã«ãªã¢ãŒãWebããŒãžãããŒããããœãŒã¹JSã³ãŒããå€æŽããŸãä»»æã®JSã³ãŒããªã©ã ïŒ https://github.com/DevExpress/testcafe-hammerhead/ ïŒ
TestCafeã¡ãœããã¯ãHTML5ããã³ES 5+ããµããŒãããä»»æã®ãã©ãŠã¶ãŒã§æ©èœããå¯èœæ§ããããããããæ®éçã§ãããNightWatchã«ã¯é©åãªWebãã©ã€ããŒãå¿
èŠã§ãã ããã«ãããŒã«ã«ãã©ãŠã¶ãŒã ãã§ãªããæºåž¯é»è©±ãå«ããããã¯ãŒã¯äžã®ä»»æã®ãã©ãŠã¶ãŒã§ãã¹ããå®è¡ã§ããŸããé»è©±ã«ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããå¿
èŠã¯ãããŸããã
Androidãã©ãŠã¶ãŒã§äžèšã®Webã¢ããªã±ãŒã·ã§ã³ããã¹ãããäŸãã次ã®ãããªã«ç€ºããŸããhttps ïŒ //youtu.be/2na5jkqvUx0
ãã ããtestcafe-hammerheadã«ã¯æœåšçãªæ¬ ç¹ããããŸãïŒTestcafe JSã«ãŒãã«ã³ãŒãã«ãã£ãŠçæããããã¹ãããŒãžã®ãœãŒã¹JSã³ãŒãã®åæãšå€æŽã®ãªãŒããŒããããããã³ãœãŒã¹ã³ãŒãããããã·ãããå Žåã®ãã¹ããããWebããŒãžãŸãã¯ãã¹ãçµ±åã®çè«çã«äžæ£ãªæäœééã£ãŠããŸãã ïŒããšãã°ããã®äŸã®http://pastebin.com/p6gLWA75ã䜿çšãããšãtestcafeã®ã¢ã©ãŒããŠã£ã³ããŠã眮ãæããããšãã§ããŸãããå®è¡ã倱æããå ŽåããŸãã¯å
·äœçã«å®è¡ããäžæãããŸãïŒ
çµè«
ãã¡ãããNightwatchã®ããŒã¹ãšãªã£ãŠããã»ã¬ã³Webãã©ã€ããŒã¯ãééããªããã®å©ç¹ã§ããæšæºAPIãåãã人æ°ã®ããæåãªãœãªã¥ãŒã·ã§ã³ã§ãã ããã«ãç¹å®ã®ãã©ãŠã¶ãŒã§ã¿ãŒã²ããWebãªãœãŒã¹ãèªååãããªã©ãã¿ã¹ã¯ã®é¢é£é åã§ã¯ïŒå®éããªã¢ãŒãWebãµã€ãã®ããããäœæããïŒãselenium-webdriverã®æ¹ãé©ããŠããŸãã
ãã ããéçºãŸãã¯ãµããŒããããŠããWebã¢ããªã±ãŒã·ã§ã³ã®æ©èœãã¹ãã«ã€ããŠã¯ãããŸããŸãªçç±ããTestCafeãééããªãå
è¡ããŠããŸãã
1ïŒæºåž¯é»è©±ãã¿ãã¬ãããå«ãä»»æã®ãã©ãŠã¶ãŒã§ãã¹ããå®è¡ããŸããããã¯ãé¢å¿ã®ãããã¹ãŠã®ãã©ãŠã¶ãŒã«å¯ŸããŠãããæ¹åŒã§å®è¡ã§ããè¿œå ã®ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããå¿
èŠã¯ãããŸããã
2ïŒES2016ã®ãã¹ãã®èšè¿°ã®å©äŸ¿æ§ãããã«ã¯ãã³ãŒãã®é 次æžã蟌ã¿ããããžã§ã¯ãèªäœããã®ããã°ã©ã èŠçŽ ã®ã€ã³ããŒããã¯ã©ã€ã¢ã³ããžã®æ©èœã®è»¢éãããã³ãã®éãªã©ãã¯ã©ã€ã¢ã³ãWebã¢ããªã±ãŒã·ã§ã³ãçµ±åããã³ç®¡çããããã®ååãªæ©äŒãå«ãŸããŸãã
3ïŒèŠèŠèŠçŽ ã®åºç¯ãªã»ã¬ã¯ã¿ãŒã®ãµããŒããDOMã¢ãã«ãšã®ç°¡åãªçžäºäœçšãä»®æ³ããŠã¹ã«ãŒãœã«ãããŒãžãšã®ããŸããŸãªè€éãªãŠãŒã¶ãŒçžäºäœçšã®ãšãã¥ã¬ãŒã·ã§ã³ã
ãããã£ãŠãWebã¢ããªã±ãŒã·ã§ã³ã®æ©èœãã¹ãçšã®æ¢åã®ãªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ã®äžã§ãTestCafeã¯ã軜ããšæ©èœã®çµã¿åããã«å ããŠãéåžžã«é
åçãªãªãã·ã§ã³ã®ããã«èŠããŸãã
» ã¢ããªã±ãŒã·ã§ã³ããã³æ©èœãã¹ãã®ãœãŒã¹ã³ãŒã