ç§ã®ååã¯ããã§ã«
Canvasã§ã®TeamLabãªã³ã©ã€ã³ãšãã£ã¿ãŒã®éçºã«ã€ããŠ
æžããŠããŸãã éçºè
ã®èгç¹ãã補åãéžæãããæè¡ã«ãã驿°çã§ããã ãã§ãªãã補åã®å質ããã§ãã¯ããã¿ã¹ã¯ã¯æ°ãããã®ã§ããã誰ããŸã 解決ããŠããªãããã仿¥ããã¹ãã®å°éå®¶ã®ç®ã§ã¯ãŒã¯ãããŒãèŠãŠãããŸãã

ç§ã®äººçã®æåŸã®8ãæéãååãšç§ã¯ãHTML5ã§æžããããŸã£ããæ°ããããã¥ã¡ã³ããšãã£ã¿ãŒã®ãã¹ãã«è²»ãããŸããã 驿°çãªè£œåããã¹ãããã®ã¯ã誰ãããããã£ãããšããªããšããçç±ã ãã§ã¯é£ããã®ã§ãã
ãã¹ãŠã®ã¢ã€ãã¢ãå®è£
ããã«ã¯ããµãŒãããŒãã£ã®ããŒã«ãå¿
èŠã§ããã
- èªååã®ããã®Rubyèšèªã ããã¯ã¹ã¯ãªããåãããŠããã倧éã®ããŒã¿ã§ããŸãæ©èœããŸãã
- ãã¹ãå®è¡çšã®Gem Rspec
- ãã©ãŠã¶ãŒãæäœããããã®Selenium Webdriverãã©ã€ããŒ
ãããŠãããã¯æãéèŠã§è峿·±ããã®ããå§ãŸããŸããã ãã¿ã³ãã¯ãªãã¯ããŠããã¹ããå
¥åããã®ã¯éåžžã«ç°¡åã§ãããäœæããããã®ã確èªããæ¹æ³ã¯ïŒ èªåãã¹ãã«ãã£ãŠå®è¡ããããã¹ãŠãæ£ããè¡ãããããšã確èªããã«ã¯ã©ãããã°ããã§ããïŒ
1.æ€èšŒ
æšæºãšã®é©åãªæ¯èŒæ¹æ³ãèŠã€ããéçšã§ãå€ãã®ã³ããŒãç ŽæããŸããã ãã®çµæãå®è¡ãããã¢ã¯ã·ã§ã³ã«é¢ããæ
å ±ããããã£ãŠããã¹ãã«åæ Œããããšã«é¢ããæ
å ±ã¯ã次ã®2ã€ã®æ¹æ³ã§ååŸã§ãããšããçµè«ã«éããŸããã
1.ã¢ããªã±ãŒã·ã§ã³èªäœã®APIã䜿çšããŸãã
2.ç¬èªã®ããã¥ã¡ã³ãããŒãµãŒã䜿çšããŸãã
API
è¯å®çãªåŽé¢ïŒ- ã¯ã€ãã¯çµæããšããŠ ææžãããŠã³ããŒããããšãã«ãµãŒããŒã«äžå¿
èŠã«ã¢ã¯ã»ã¹ããå¿
èŠã¯ãããŸããã
- API颿°ãçŽæ¥æäœããæ©èœã ç§ãã¡ã«ãšã£ãŠãããæè¯ã®è§£æ±ºçã§ãã-ç§ãã¡ã¯ããã°ã©ããŒãšå奜çãªç°å¢ã§ä»äºãããŠããã圌ãã¯ããã«ãããã®æ©èœãæäŸããŠãããŸããã
ãã€ãã¹é¢ïŒ- ããã°ã©ã ã®ãã°ãæç¢ºã«ããŒã«ã©ã€ãºããæ©èœã®æ¬ åŠãã€ãŸããšãã£ã¿ãŒã®ã³ãŒãããŸãã¯ã€ã³ã¿ãŒãã§ã€ã¹ã®åŒã³åºã/å®è£
æãã€ãŸãã€ã³ã¿ãŒãã§ã€ã¹ã³ãŒãã®ãã°ã
- ããã°ã©ããŒãžã®äŸåã éçºè
ããAPIã¡ãœããã倧å¹
ã«å€æŽããããããŸã£ããåäœããªããªããããªç¶æ³ã«ããå Žåãèªåãã¹ãããã»ã¹ãéå§ãããŸãã ãã ãããµãŒããŒåŽã®APIãããã¯åªå
é äœããã¯ã»ã©é ãå ŽåããããŸãïŒããã¯ãããªãã¯APIã§ã¯ãªãããã¹ãã«ã®ã¿äœ¿çšãããããïŒã
- æ¢åã®ã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ã®ãã¹ãŠã®æ©èœã®ãã¹ããèªååã§ããªãã
ããŠã³ããŒãããããã¥ã¡ã³ãã®è§£æ
è¯å®çãªåŽé¢ïŒ- ã¢ããªã±ãŒã·ã§ã³ã®æçµçµæã確èªãããããä¿¡é Œã§ããã¢ãããŒãã§ãã
- éçºè
ããã®ç¬ç«ã ç§ãã¡ã¯ãããŒã«ã䜿çšããŠdocx圢åŒã®ãªãŒããã³ã°ãèšè¿°ããæ¯èŒçèšãã°ãç¬èªã®å°ããªããã¥ã¡ã³ãã³ã³ããŒã¿ãŒãäœæããŸããã
- ä»»æã®é£æåºŠã®ãã¹ããå®è£
ããæ©èœã ã¢ããªã±ãŒã·ã§ã³ã«ååšãããã¹ãŠã®æ©èœããµããŒããããŠããŸãã
ãã€ãã¹é¢ïŒæçµæ€èšŒ
ãã®çµæãäž¡æ¹ã®ãªãã·ã§ã³ãéžæããŸããããç°ãªãå²åã§äœ¿çšããŸããããã¹ãæ€èšŒã®çŽ90ïŒ
ã¯ããŒãµãŒãéããŠå®è£
ãããAPIãéããŠã¯10ïŒ
ã®ã¿ãå®è£
ãããŸããã ããã«ãããAPIã䜿çšããŠæåã®ãã¹ããè¿
éã«èšè¿°ããããŒãµãŒã®éçºãšé£åããŠæ©èœãã¹ããåŸã
ã«éçºããããšãã§ããŸããã
è§£æã®åœ¢åŒãšããŠDOCXãéžæãããŸããã ããã¯ã次ã®äºå®ã«ãããã®ã§ãã
- ãšãã£ã¿ãŒèªäœã§ã¯ãDOCX圢åŒã®ãµããŒããæé©ã«å®è£
ãããæ©èœã®æå€§æ°ããµããŒããããããã«ä¿åããããšãæã質çãã€ç¢ºå®ã«å®è¡ãããŸããã
- DOCãšã¯ç°ãªããDOCX圢åŒèªäœã¯ãããªãŒãã³ã§ãæ§é ãåçŽã§ãã æ¬è³ªçã«ãããã¯XMLãã¡ã€ã«ãå«ãZIPã¢ãŒã«ã€ãã§ãã
å¿
èŠãªäžé£ã®æ©èœããµããŒãããDOCXãè§£æããããã®ãµãŒãããŒãã£ã©ã€ãã©ãªãèŠã€ãããŸããã§ããã ãã®åŸãå¥ã®åœ¢åŒã§åæ§ã®ç¶æ³ãçºçããããŒãã«ãšãã£ã¿ãŒããã¹ããããšãã«XLSXããŒãµãŒãå¿
èŠã«ãªããŸããã
ããŒãµãŒã®æ
åœè
ã¯1人ã ãã§ãã æ©èœã®äž»ãªããã¯ããŒã³ã¯çŽ1ãæã§å®è£
ãããŸããããåŒãç¶ããµããŒããããŠããŸã-ãã°ã¯ä¿®æ£ããïŒæ¢åã®æ©èœã«ã¯ã»ãšãã©ãã°ããããŸããïŒãããã¥ã¡ã³ããšãã£ã¿ãŒã§å°å
¥ãããæ°ããæ©èœã®ãµããŒãã远å ãããŸããã
äŸïŒ
åçŽãªäŸãèããŠã¿ãŸããããããã¹ããµã€ãºã20ã®åäžæ®µèœããã¥ã¡ã³ããTimes New Romanãã©ã³ããããã³å€ªåãšæäœã®ãªãã·ã§ã³ã»ããã ãã®ãããªããã¥ã¡ã³ãã®å ŽåãããŒãµãŒã¯æ¬¡ã®æ§é ãè¿ããŸãã

ããã¥ã¡ã³ãã¯äžé£ã®èŠçŽ ïŒèŠçŽ ïŒã§æ§æãããŸãããããã¯ããã¹ããç»åãè¡šã®æ®µèœã«ããããšãã§ããŸãã
åæ®µèœã¯ãããã€ãã®character_stylesã§æ§æãããŸã-ç¹å®ã®ã»ã¯ã·ã§ã³ã§å®å
šã«åäžã®ããããã£ãæã€ããã¹ãã®æçã ãããã£ãŠã1ã€ã®æ®µèœã§ãã¹ãŠã®ããã¹ããåãã¹ã¿ã€ã«ã§å
¥åãããå Žåããã®äžã«1ã€ã®character_styleãããããŸããã ããšãã°ã段èœã®æåã®åèªã倪åã§åŒ·èª¿è¡šç€ºãããæ®ããæäœã§ããå Žåãæ®µèœã¯2ã€ã®character_styleã§æ§æãããŸãã1ã€ã¯æåã®åèªã2ã€ç®ã¯ä»ã®ãã¹ãŠã®æåã§ãã
character_styleå
ã«ã¯ãsize = 20-ãã©ã³ããµã€ãºãfont = "Times New Roman"-ãã©ã³ãã¿ã€ããfont_style-ãã©ã³ãã¹ã¿ã€ã«ããããã£ïŒå€ªåãæäœãäžç·ãåãæ¶ãç·ïŒãããã³ä»ã®ãã¹ãŠã®ããããã£ãªã©ãå¿
èŠãªãã¹ãŠã®ããã¹ãããããã£ããããŸããããã¥ã¡ã³ãã
ãã®çµæããã®ããã¥ã¡ã³ããæ€èšŒããã«ã¯ã次ã®ã³ãŒããèšè¿°ããå¿
èŠããããŸãã
doc.elements.first.character_styles_array.first.size.should == 20
doc.elements.first.character_styles_array.first.font.should == "Times New Roman"
doc.elements.first.character_styles_array.first.font_style.should == FontStyle.newïŒtrueãtrueãfalseãfalseïŒ
2.ããã¥ã¡ã³ããžã§ãã¬ãŒã¿ãŒ
DOCX圢åŒã®ãã¡ã€ã«ã代衚çã«éžæããããã«ãDOCXãã¡ã€ã«ãžã§ãã¬ãŒã¿ãŒ-ä»»æã®ã³ã³ãã³ããšä»»æã®ãã©ã¡ãŒã¿ãŒå€ãæã€ããã¥ã¡ã³ããäœæã§ããã¢ããªã±ãŒã·ã§ã³ãäœæããå¿
èŠãããããšã決å®ãããŸããã ãã®ããã«ã1人ã®å°éå®¶ãå²ãåœãŠãããŸããã ãžã§ãã¬ãŒã¿ãŒã¯ããã¹ãã·ã¹ãã ã®éèŠãªéšåã§ã¯ãªãããã¹ãç¯å²ãæ¡å€§ã§ããäžçš®ã®è£å©ãŠãŒãã£ãªãã£ãšèããããŠããŸããã
ãã®éçºã«åºã¥ããŠã次ã®çµè«ãäžãããŸããã
ãã¹ããäœæãŸãã¯èªååããå Žåãå¯èœãªãã¹ãŠã®ãã©ãŒãããæ©èœãäžåºŠã«ã«ããŒããããšããªãã§ãã ããã ããã«ãããç¹ã«ãã¹ã察象ã®ã¢ããªã±ãŒã·ã§ã³ã®éçºã®åææ®µéã§ãããã«å°é£ãçããŸãã
æ©èœãã¢ããªã±ãŒã·ã§ã³ã§ãŸã ãµããŒããããŠããªããã¹ããšèª€ã£ãçµæãåºå¥ããããšã¯å°é£ã§ãã
ãããŠãåã®æ®µèœã®çµæãšããŠïŒãžã§ãã¬ãŒã¿ãŒãæžãããšã¯ããšãã£ã¿ãŒã®æ©èœã®æå€§æ°ãå®è£
ããããšãããã¹ãäžã®ã¢ããªã±ãŒã·ã§ã³ã®éçºã®çµããã«è¿ã¥ãã¹ãã§ãïŒãããŠãå§ãã«ã§ã¯ãããŸããïŒã
äžèšã«ãé¢ãããããžã§ãã¬ãŒã¿ãŒã¯æåãã¹ãäžã«èŠã€ããããšãã»ãšãã©äžå¯èœãªãšã©ãŒãããšãã°èš±å®¹å€ã®ã»ããã«å€ãå«ãŸããŠããªããã©ã¡ãŒã¿ãŒã®èª€ã£ãåŠçãèŠã€ããããšãå¯èœã«ããŸããã
3.ãã¹ããå®è¡ããããã®ãã¬ãŒã ã¯ãŒã¯
ã»ã¬ã³ãšã®çžäºäœçš
ãã¬ãŒã ã¯ãŒã¯ã®åºç€ãšããŠãSelenium Webdriverãæ¡çšãããŸããã Rubyã«ã¯çŽ æŽãããä»£æ¿ææ®µããããŸã-WatirãããããããŸããŸãã¬ãŒã ã¯ãŒã¯ã®äœææã«ããã«ã€ããŠç¥ããŸããã§ããã Watirã䜿çšããªãã£ãããšãåŸæããã®ã¯ããã¹ããIEã®ãæ°ã«å
¥ãã§æé«ã®ãã©ãŠã¶ã«çµ±åãããšãã ãã§ããã Seleniumã¯ãã¿ã³ãã¯ãªãã¯ããŠäœãããããšãåã«æåŠããæçµçã«IEã§ãã¹ããå®è¡ããå Žåã«Watirã¡ãœãããåŒã³åºãããããã«æŸèæãäœæããå¿
èŠããããŸããã
ãã®ãã¬ãŒã ã¯ãŒã¯ã®éçºåã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã¯Javaã§æ§ç¯ããããã¹ãŠã®XPathèŠçŽ ãšä»ã®ãªããžã§ã¯ãèå¥åã¯å¥ã®xmlãã¡ã€ã«ã«ç§»åããããããXPathã倿Žãããšãã«ãããžã§ã¯ãå
šäœãåã³ã³ãã€ã«ããå¿
èŠã¯ãããŸããã§ããã
Rubyã§ã¯ãåã³ã³ãã€ã«ã§ãã®ãããªåé¡ã¯çºçããŸããã§ããããã®ããããã§ã«æ¬¡ã®èªååãããžã§ã¯ãã§ãåäžã®XMLãã¡ã€ã«ãæŸæ£ããŸããã
1200 xPathèŠçŽ ãå«ããã¡ã€ã«ãæäœããå¿
èŠããããããSelenium Webdriverã®é¢æ°ã¯ãªãŒããŒããŒããããŠããŸããã ç§ãã¡ã¯ããããäœãçŽããŸããïŒ
ã ã£ãget_attribute(xpath, attribute) @driver.find_element(:xpath, xpath_value) attribute_value = element.attribute(attribute) return attribute_value end get_attribute('//div/div/div[5]/span/div[3]', 'name')
ã«ãªã£ãŠããŸã get_attribute(xpath_name, attribute) xpath_value =@@xpaths.get_value(xpath_name) elementl = @driver.find_element(:xpath, xpath_value) attribute_value = element.attribute(attribute) return attribute_value end get_attribute('admin_user_name_xpath', 'name')
ç§ãã¡ã®æèŠã§ã¯ãèªååãéå§ããåã«ãããŒãžäžã®ãªããžã§ã¯ãã®èå¥åãåæããããšãéåžžã«éèŠã§ãããããããèªåçã«çæãããããšããããå ŽåïŒãdocmenu-1125ãã®ãããªIDïŒã倿ŽããªãIDã远å ããããã«éçºè
ã«äŸé ŒããŠãã ãããæ°ãããã«ãããšã«XPathãããçŽãå¿
èŠããããŸãã
ããå
·äœçãªé¢æ°ãSeleniumCommandsã¯ã©ã¹ã«è¿œå ãããŸããã ãã®ãã¡ã®ããã€ãã¯ããã©ã«ãã§Watirã«ãã§ã«ååšããŠããŸããããããšãã°ãããã€ãã®èŠçŽ ã®1ã€ã®ã·ãªã¢ã«çªå·ãã¯ãªãã¯ããŠãè€æ°ã®èŠçŽ ãã1ã€ã®å±æ§ãäžåºŠã«åãåããªã©ããŸã ããããŸããã§ããã SeleniumCommandsãªã©ã®éèŠãªã¯ã©ã¹ã§äœæ¥ã§ããã®ã¯1人ã®ãã¹ãã¹ãã·ã£ãªã¹ãã®ã¿ã§ããããšãéèŠã§ãããããªããšãäºçްãªãšã©ãŒã§ããããžã§ã¯ãå
šäœããããããããŸãããã¡ãããããã¯ãã¹ãŠã®ãã¹ããã§ããã ãæ©ãå®è¡ããå¿
èŠããããšãã«æ£ç¢ºã«çºçããŸãã
ã¡ãã¥ãŒã®çžäºäœçš
ããé«ãã¬ãã«ã®ãã¬ãŒã ã¯ãŒã¯ã¯ãããã°ã©ã ã¡ãã¥ãŒãã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ãšé£æºããŠããŸãã ããã¯ãã¯ã©ã¹ã«åæ£ãããéåžžã«å€§ããªïŒçŽ300ïŒé¢æ°ã®ã»ããã§ãã ãããã®ããããã¯ããŠãŒã¶ãŒãå©çšã§ããã€ã³ã¿ãŒãã§ãŒã¹ã§ç¹å®ã®æ©èœãå®è£
ããŸãïŒããšãã°ããã©ã³ãéžæãè¡ééãªã©ïŒã
ãããã®é¢æ°ã¯ãã¹ãŠãæãåçŽãªèª¬æçãªååãæã¡ãæãåçŽãªåœ¢åŒã§åŒæ°ãåããŸãïŒããšãã°ãã¯ã©ã¹ã ãã§ãªãStringãªããžã§ã¯ãã ããæž¡ãããšãã§ããå Žåãããããæž¡ãå¿
èŠããããŸãïŒã ããã«ããããã¹ãã®èšè¿°ãã¯ããã«ç°¡åã«ãªããããããã°ã©ãã³ã°çµéšã®ãªãæåã®ãã¹ã¿ãŒã§ãåŠçã§ããŸãã ã¡ãªã¿ã«ãããã¯åè«ãèªåŒµã§ã¯ãããŸãããããã°ã©ãã³ã°ããŸã£ãããŒãã®äººãæžããäœæ¥ãã¹ãããããŸãã
ãããã®é¢æ°ãäœæããéçšã§ãSmokeãã¹ãã®æåã®ã«ããŽãªãäœæãããŸããããã¹ãŠã®é¢æ°ã®ã¹ã¯ãªããã¯æ¬¡ã®ããã«ãªããŸãã
1.æ°ããããã¥ã¡ã³ããäœæãããŸãã
2. 1ã€ïŒ1ã€ã ãïŒèšè¿°ããã颿°ãåŒã³åºãããç¹å®ã®æ£ããå€ïŒã©ã³ãã ã§ã¯ãªããç¹å®ã®æ£ããå€ãæž¡ãããŸãããã®ã¹ãããã§ãå¯èœãªå€ã®äžéšã§ã®ã¿æ£ããæ©èœãã颿°ãç Žæ£ããŸãïŒ
3.ããã¥ã¡ã³ããããŠã³ããŒããã
4.確èªãã
5.ã¬ããŒãã·ã¹ãã ã«çµæãå
¥åããŸã
6.å©çïŒ4.ãã¹ã
èŠçŽããããã«ããããžã§ã¯ãã«ååšãããã¹ãã®ã«ããŽãªãèŠãŠã¿ãŸãããã
1.ç
ãã¹ã圌ãã®ç®æšã¯ãå°éã®å
¥åããŒã¿ã§è£œåããã¹ãããããšã§ãããæãéèŠãªããšã¯ããã¬ãŒã ã¯ãŒã¯èªäœãæ°ãããã«ãã§æ£ããåäœããããšã確èªããããšã§ãïŒxPathèŠçŽ ã倿Žããã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ã¡ãã¥ãŒãæ§ç¯ããããžãã¯ã倿ŽããŸãïŒã

ãã®ã«ããŽãªã®ãã¹ãã¯ããŸãæ©èœããŸãããäžéšã®ã€ã³ã¿ãŒãã§ã€ã¹èŠçŽ ãèŠè¶ããŠãçè§£ã§ããªãç¬éã«ãã¹ããããªãŒãºããå ŽåããããŸãã ãã¹ãã¹ã¯ãªãããæåã§ç¹°ãè¿ããšãããšãã°ããã©ã³ãã®ãªã¹ããéããã¿ã³ãæŒããããšãã«ãªã¹ãèªäœã衚瀺ãããªããªã©ãã¡ãã¥ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®ãšã©ãŒã«ãããã¹ããã¯ã©ãã·ã¥ããããšã倿ããŸããã ãããã£ãŠããã¹ãã®2çªç®ã®ã«ããŽãªãçºçããŸããã
2.ã€ã³ã¿ãŒãã§ã€ã¹ãã¹ãããã¯ããã¹ãŠã®ã³ã³ãããŒã«ãã¯ãªãã¯ãããšãã«ããã®ã³ã³ãããŒã«ãïŒã€ã³ã¿ãŒãã§ã€ã¹ã¬ãã«ã§ïŒæ
åœããã¢ã¯ã·ã§ã³ãçºçããããšã確èªããããšãã¿ã¹ã¯ãšããéåžžã«åçŽãªãã¹ãã®ã»ããã§ãã ã€ãŸãã倪åãã¿ã³ãã¯ãªãã¯ããŠããéžæã倪åã§æ©èœãããã©ããã¯ãã§ãã¯ããããã¿ã³ãæŒãããç¶æ
ã§è¡šç€ºãããããã«ãªã£ãããšã確èªããã ãã§ãã åæ§ã«ããã¹ãŠã®ããããããŠã³ã¡ãã¥ãŒãšãã¹ãŠã®ãªã¹ããéããŠããããšã確èªããŸãã
3.ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒå€ã®åæåãã©ã¡ãŒã¿ãŒã«ã€ããŠãå¯èœãªãã¹ãŠã®å€ãèšå®ããïŒããšãã°ããã¹ãŠã®ãã©ã³ããµã€ãºãæ€çŽ¢ãããïŒããããæ€èšŒãããŸãã 1ã€ã®ããã¥ã¡ã³ãã§ã¯ã1ã€ã®ãã©ã¡ãŒã¿ãŒãžã®å€æŽã®ã¿ãååšãããã³ãã«ã¯ãã¹ããããŸããã ãã®åŸããããã®ãã¹ããããã¹ãã®å¥ã®ãµãã«ããŽãªãç»å ŽããŸããã
3.1èŠèŠã¬ã³ããªã³ã°æ€èšŒ
ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒå€ããœãŒããããã¹ããå®è¡ããéçšã§ããã¹ãŠã®ãã©ã¡ãŒã¿ãŒå€ã®ã¬ã³ããªã³ã°ãèŠèŠçã«æ€èšŒããå¿
èŠãããããšã«æ°ä»ããŸããã ãã¹ãã¯ãã©ã¡ãŒã¿ãŒå€ãèšå®ãïŒããšãã°ããã©ã³ããéžæãããŸãïŒãã¹ã¯ãªãŒã³ã·ã§ãããæ®ããŸãã åºå£ã«ã¯ãã¹ã¯ãªãŒã³ã·ã§ããã®ã°ã«ãŒãïŒçŽ2,000æïŒãšã倧ããªã¹ã©ã€ãã·ã§ãŒãèŠãå¿
èŠãããäžå¿«ãªãã³ããã¬ãŒãããããŸãã
ãã®åŸãæšæºã®ã·ã¹ãã ã䜿çšããŠã¬ã³ããªã³ã°ã®æ€èšŒãè¡ããååž°ã远跡ã§ããããã«ããŸããã
4.æ©èœãã¹ããã¹ãã®æãéèŠãªã«ããŽãªã®1ã€ã ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®æ©èœãã«ããŒããŠããŸãã æè¯ã®çµæãåŸãã«ã¯ããã¹ãèšèšè
ãã¹ã¯ãªãããäœæããå¿
èŠããããŸãã
5.ãã¢ã¯ã€ãºãã©ã¡ãŒã¿ãã³ãã«ããã§ãã¯ããããã®ãã¹ãã ããšãã°ããã¹ãŠã®ã¹ã¿ã€ã«ãšãµã€ãºïŒãã©ã¡ãŒã¿ãŒãæã€2ã€ä»¥äžã®æ©èœïŒã®ãã©ã³ããããã»ããã®å®å
šãªãã§ãã¯ã èªåçã«çæãããŸãã æéïŒå°ãªããšã4ã5æéãããã«ã¯ãã以äžïŒã®ããã«èµ·åããããšã¯ã»ãšãã©ãããŸããã
6.æ¬çªãµãŒããŒã§ã®å®æçãªãã¹ãæåã®ãªãªãŒã¹åŸã«ç»å Žãããã¹ãã®ææ°ã«ããŽãªã åºæ¬çã«ãããã¯ã³ã³ããŒãã³ãã®éä¿¡ã®æ£ããåäœã®ãã§ãã¯ã§ããã€ãŸãããã¹ãŠã®åœ¢åŒã®ãã¡ã€ã«ãç·šéã®ããã«éããããã¹ãŠã®åœ¢åŒã«æ£ããããŠã³ããŒãããããšããäºå®ã§ãã ãã¹ãã¯çãã§ããã1æ¥ã«2åå®è¡ãããŸãã
5.ã¬ããŒã
ãããžã§ã¯ãã®éå§æã«ããã¹ãŠã®ã¬ããŒãã¯æåã§åéãããŸããã ãã¹ãã¯ã¡ã¢ãªããRubyMineããçŽæ¥å®è¡ããïŒãŸãã¯ã³ãŒãå
ã®ã¡ã¢ãã³ã¡ã³ãïŒãæ°ãããã«ãã以åã®ãã«ããããæªåãããæ¹åããããã倿ãããçµæã¯ãã¹ããããŒãžã£ãŒã«æž¡ãããŸããã
ãããããã¹ãã®æ°ãå¢ãããšïŒããã¯ååã«è¿
éã«è¡ãããŸããïŒããããé·ãç¶ãããšãã§ããªãããšãæããã«ãªããŸããã ã¡ã¢ãªã¯ãŽã ã§ã¯ãªããçŽçã«å€§éã®ããŒã¿ãä¿æããããé»åã¿ãã¬ããã«æåã§å
¥åãããããã®ã¯éåžžã«äžäŸ¿ã§ãã ãã®ãããã¬ããŒããµãŒããŒãšããŠ
Testrailãéžæããããšã決å®ãããŸãããããã¯ããšãã£ã¿ãŒã®åããŒãžã§ã³ã®ã¬ããŒããä¿åãããšããã¿ã¹ã¯ã«ã»ãŒæé©ã§ãã
ã¬ããŒãã®è¿œå ã¯ãtestrail APIãä»ããŠè¡ãããŸãã Rspecã®åãã¹ãã®éå§æã«ãTestRunãTestrailã«åæåããè¡ã远å ãããŸãã Testrailã«ãŸã ååšããªãæ°ãããã¹ããèšè¿°ãããŠããå Žåãããã«èªåçã«è¿œå ãããŸãã ãã¹ããå®äºãããšãçµæãèªåçã«æ±ºå®ãããããŒã¿ããŒã¹ã«è¿œå ãããŸãã
å®éãã¬ããŒãäœæããã»ã¹å
šäœãå®å
šã«èªååãããŠãããããTestrailã«ã¢ã¯ã»ã¹ããŠçµæãååŸããå¿
èŠããããŸãã æ¬¡ã®ããã«ãªããŸãã
çµè«ãšããŠãããã€ãã®çµ±èšïŒãããžã§ã¯ãã®å¹Žéœ¢-1幎
ãã¹ãã®æ°-çŽ2000
å®äºããã±ãŒã¹ã®æ°-çŽ350 000
ããŒã -3人
èŠã€ãã£ããã°ã®æ°ã¯çŽ300ã§ã