- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > ¸ð¹ÙÀÏ ÇÁ·Î±×·¡¹Ö > SeleniumÀ» È°¿ëÇÑ Å×½ºÆ® ÀÚµ¿È 2/e[¿¡ÀÌÄÜÃâÆÇ]
¼¿·¹´½ 3¿¡¼ °³¼±µÈ Á¡À» »ìÆ캸°í ¼¿·¹´½¿¡¼ ÀÚ¹Ù 8 API¸¦ È°¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. ±âº» »ç¿ë¹ýºÎÅÍ Á¶±Ý ´õ º¹ÀâÇÑ »ç¿ëÀÚ ¾×¼Ç±îÁö ¼³¸íÇÑ ÈÄ, ¸®¸ðÆ® À¥µå¶óÀ̹ö¿Í ¼¿·¹´½ ±×¸®µå·Î ¿ø°ÝÁöÀÇ ºê¶ó¿ìÀú¿¡¼ Å×½ºÆ®¸¦ ½ÇÇàÇÏ´Â ¹æ¹ý, AppiumÀ» »ç¿ëÇÑ ¸ð¹ÙÀÏ Å×½ºÆ® ¹æ¹ý µîÀ» »ìÆ캻´Ù. TestNG·Î µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®¸¦ ¼öÇàÇÏ´Â ¹æ¹ýµµ ¼³¸íÇÑ´Ù.
ÀúÀÚ: ¾ð¸Þ½Ã °Çµ¥Â÷, »çƼ¾ß ¾Æ¹Ù»ç¾Ë¶ó (ÁöÀºÀÌ), ±èÀ¯¼º (¿Å±äÀÌ)
1Àå. À¥µå¶óÀ̹ö¿Í À¥ ¿¤¸®¸ÕÆ® ¼Ò°³
__¼¿·¹´½ Å×½ºÆ® µµ±¸
____¼¿·¹´½ À¥µå¶óÀ̹ö
____¼¿·¹´½ ¼¹ö
____¼¿·¹´½ IDE
__¼¿·¹´½ 2¿Í ¼¿·¹´½ 3ÀÇ Â÷ÀÌÁ¡
____ºê¶ó¿ìÀú Á¦¾î
____´õ ³ªÀº API
____°³¹ßÀÚ Áö¿ø°ú °í±Þ ±â´É
____AppiumÀ¸·Î ¸ð¹ÙÀÏ ¾Û Å×½ºÆ®
__ÀÌŬ¸³½º¿¡¼ ¸ÞÀ̺ì, TestNG·Î ÀÚ¹Ù ÇÁ·ÎÁ§Æ® ¼³Á¤
__À¥ ¿¤¸®¸ÕÆ®
__À¥ ÆäÀÌÁö¿¡¼ À¥ ¿¤¸®¸ÕÆ® ÁöÁ¤
____findElement( ) ¸Þ¼µå
____findElements( ) ¸Þ¼µå
____°³¹ßÀÚ µµ±¸·Î ¿¤¸®¸ÕÆ® °Ë»ç
______ÆÄÀ̾îÆø½º·Î ¿¤¸®¸ÕÆ®¿Í ÆäÀÌÁö °Ë»ç
______Å©·Ò °³¹ßÀÚ µµ±¸·Î ÆäÀÌÁö¿Í ¿¤¸®¸ÕÆ® °Ë»ç
____By ÁöÁ¤ÀÚ »ç¿ëÇϱâ
______By.id( ) ¸Þ¼µå
______By.name( ) ¸Þ¼µå
______By.className ¸Þ¼µå
______By.linkText ¸Þ¼µå
______By.partialLinkText( ) ¸Þ¼µå
______By.tagName( ) ¸Þ¼µå
______By.xpath( ) ¸Þ¼µå
______By.cssSelector( ) ¸Þ¼µå
__À¥ ¿¤¸®¸ÕÆ®¿¡¼ ÇÒ ¼ö ÀÖ´Â ¿©·¯ °¡Áö µ¿ÀÛ
____¿¤¸®¸ÕÆ® ¼Ó¼º °¡Á®¿À±â
______getAttibute( ) ¸Þ¼µå
______getText( ) ¸Þ¼µå
______getCssValue( ) ¸Þ¼µå
______getLocation( ) ¸Þ¼µå
______getSize( ) ¸Þ¼µå
______getTagName( ) ¸Þ¼µå
____À¥ ¿¤¸®¸ÕÆ®¿¡¼ ¾×¼Ç ½ÇÇà
______sendKeys( ) ¸Þ¼µå
______clear( ) ¸Þ¼µå
______submit( ) ¸Þ¼µå
____À¥ ¿¤¸®¸ÕÆ®ÀÇ »óÅ ȮÀÎ
______isDisplayed( ) ¸Þ¼µå
______isEnabled( ) ¸Þ¼µå
______isSelected( ) ¸Þ¼µå
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
2Àå. À¥ ºê¶ó¿ìÀú¸¦ Áö¿øÇÏ´Â ´Ù¾çÇÑ À¥µå¶óÀ̹ö
__ÆÄÀ̾îÆø½º µå¶óÀ̹ö
____°ÔÄÚ µå¶óÀ̹ö »ç¿ë
____Çìµå¸®½º ¸ðµå »ç¿ë
____ÆÄÀ̾îÆø½º ÇÁ·ÎÇÊ
______ÆÄÀ̾îÆø½º È®Àå ±â´É Ãß°¡
______ÇÁ·ÎÇÊ ÀúÀå°ú ºÒ·¯¿À±â
____ÆÄÀ̾îÆø½º ȯ°æ ¼³Á¤
______ȯ°æ ¼³Á¤ ´Ù·ç±â
______°íÁ¤ ¼³Á¤ÀÇ ÀÌÇØ
__Å©·Ò µå¶óÀ̹ö
____Çìµå¸®½º ¸ðµå »ç¿ë
____¸ð¹ÙÀÏ ¿¡¹Ä·¹À̼ÇÀ¸·Î ¸ð¹ÙÀÏ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®
____Å©·Ò È®Àå ±â´É Ãß°¡
__ÀÎÅÍ³Ý ÀͽºÇ÷η¯ µå¶óÀ̹ö
____IE ºê¶ó¿ìÀú¸¦ »ç¿ëÇÏ´Â Å×½ºÆ® ½ºÅ©¸³Æ® ÀÛ¼º
____IEDriver ±â´É ÀÌÇØ
__Edge µå¶óÀ̹ö
____Edge ºê¶ó¿ìÀú¸¦ »ç¿ëÇÏ´Â Å×½ºÆ® ½ºÅ©¸³Æ® ÀÛ¼º
__»çÆĸ® µå¶óÀ̹ö
____»çÆĸ®¿ë Å×½ºÆ® ½ºÅ©¸³Æ® ÀÛ¼º
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
3Àå. ÀÚ¹Ù 8 ±â´É »ç¿ë
__ÀÚ¹Ù 8 ½ºÆ®¸² API ¼Ò°³
____Stream.filter( )
______Stream.sort( )
______Stream.map( )
______Stream.collect( )
______Stream.min( )°ú Stream
______Stream.count( )
__¼¿·¹´½ À¥µå¶óÀ̹ö¿Í ½ºÆ®¸² API »ç¿ë
____À¥ ¿¤¸®¸ÕÆ® ÇÊÅ͸µ°ú °³¼ö ¼¼±â
____¿¤¸®¸ÕÆ® ¼Ó¼º ÇÊÅ͸µ
____Map ÇÔ¼ö·Î ¿¤¸®¸ÕÆ®ÀÇ ÅؽºÆ® °ª ÃßÃâ
____ÇÊÅ͸µÇÑ ¿¤¸®¸ÕÆ®¿¡ ÀÛ¾÷ ½ÇÇà
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
4Àå. À¥µå¶óÀ̹ö ±â´É ¾Ë¾Æº¸±â
__½ºÅ©¸°¼¦ ĸó
__À©µµ¿ì â°ú iFrame ÁöÁ¤
____À©µµ¿ì â Àüȯ
____ÇÁ·¹ÀÓ °£ Àüȯ
____¾Ë¸² â ´Ù·ç±â
__ºê¶ó¿ìÀú ³»ºñ°ÔÀÌ¼Ç Á¦¾î
__·Îµù ÁßÀÎ À¥ ¿¤¸®¸ÕÆ® ±â´Ù¸®±â
____¹¬½ÃÀû ´ë±â ½Ã°£
____¸í½ÃÀû ´ë±â ½Ã°£
__ÄíÅ° Çڵ鸵
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
5Àå. °í±Þ »ç¿ëÀÚ ÀÎÅÍ·¢¼Ç
__¾×¼ÇÀ» ¸¸µé¾î ½ÇÇàÇϱâ
__¸¶¿ì½º ÀÎÅÍ·¢¼Ç
____moveByOffset ¾×¼Ç
____click ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â click ¾×¼Ç
____clickAndHold ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â clickAndHold ¾×¼Ç
____release ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â release ¾×¼Ç
____moveToElement ¾×¼Ç
____dragAndDropBy ¾×¼Ç
____dragAndDrop ¾×¼Ç
____doubleClick ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â doubleClick ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â contextClick ¾×¼Ç
____ÇöÀç À§Ä¡¿¡¼ contextClick ¾×¼Ç
__Å°º¸µå ÀÎÅÍ·¢¼Ç
____keyDown, keyUp ¾×¼Ç
____sendKeys( ) ¸Þ¼µå
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
6Àå. À¥µå¶óÀ̹ö À̺¥Æ®ÀÇ ÀÌÇØ
__eventFiringWebDriver¿Í eventListener Ŭ·¡½º
__EventListener ÀνºÅϽº »ý¼º
____WebDriverEventListener ÀÎÅÍÆäÀ̽º ±¸Çö
____AbstractWebDriverEventListener »ó¼Ó ±¸Çö
____WebDriver ÀνºÅϽº »ý¼º
____EventFiringWebDriver¿Í EventListener ÀνºÅϽº »ý¼º
____EventFiringWebDriver¿¡ EventListener µî·Ï
____À̺¥Æ® ¹ß»ý°ú È®ÀÎ
____¿©·¯ °³ÀÇ EventListener µî·Ï
__WebDriver¿¡¼ Á¦°øÇÏ´Â À̺¥Æ® ¸®½º³Ê
____WebElement °ª º¯°æ À̺¥Æ®
____WebElement Ŭ¸¯ À̺¥Æ®
____WebElement °Ë»ö jator À̺¥Æ®
____ºê¶ó¿ìÀú µÚ·Î °¡±â À̺¥Æ®
____ºê¶ó¿ìÀú ¾ÕÀ¸·Î °¡±â À̺¥Æ®
____navigateTo À̺¥Æ®
____½ºÅ©¸³Æ® ½ÇÇà À̺¥Æ®
____¿¹¿Ü ó¸®
____EventFiringWebDriver¿¡ µî·ÏÇÑ EventListener Á¦°Å
____Á¢±Ù¼º Å×½ºÆ® ¼öÇà
____ÆäÀÌÁö ¼º´É ÁöÇ¥ ÃøÁ¤
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
7Àå. ¸®¸ðÆ® À¥µå¶óÀ̹ö »ìÆ캸±â
__¸®¸ðÆ® À¥µå¶óÀ̹ö ¼Ò°³
____¼¿·¹´½ ´Üµ¶ ¼¹ö
______¼¿·¹´½ ´Üµ¶ ¼¹ö ´Ù¿î·Îµå
______¼¹ö ½ÇÇà
____¸®¸ðÆ® À¥µå¶óÀ̹ö Ŭ¶óÀ̾ðÆ®
______¸®¸ðÆ® À¥µå¶óÀ̹ö ¼¹ö¸¦ À§ÇÑ Å×½ºÆ® ½ºÅ©¸³Æ® ¼öÁ¤
______¸®¸ðÆ® À¥µå¶óÀ̹ö¸¦ ÅëÇÑ ÆÄÀ̾îÆø½º »ç¿ë¹ý
______¸®¸ðÆ® À¥µå¶óÀ̹ö¸¦ ÅëÇÑ ÀÎÅÍ³Ý ÀͽºÇ÷η¯ »ç¿ë¹ý
__JSON ¿ÍÀ̾î ÇÁ·ÎÅäÄÝ
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
8Àå. ¼¿·¹´½ ±×¸®µå
__¼¿·¹´½ ±×¸®µå ¾Ë±â
__ÇãºêÀÇ ¿ªÇÒ
__³ëµåÀÇ ¿ªÇÒ
__¼¿·¹´½ ±×¸®µå¸¦ À§ÇÑ Å×½ºÆ® ½ºÅ©¸³Æ®·Î ¼öÁ¤
____¹Ìµî·Ï ȯ°æ¿¡ ´ëÇÑ ¿äû
____³ëµå°¡ ÀÛ¾÷ ÁßÀÏ ¶§ ¿äû Å¥À×Çϱâ
____Á¶°Ç¿¡ ¸Â´Â ³ëµå°¡ µÎ °³ÀÎ °æ¿ì
__¼¿·¹´½ ±×¸®µå ¼³Á¤
____³ëµå ¼³Á¤ ÆĶó¹ÌÅÍ
______Áö¿ø ºê¶ó¿ìÀú ¼³Á¤
______³ëµå ŸÀӾƿô ¼³Á¤
______ºê¶ó¿ìÀú ÀνºÅϽºÀÇ »ý¼º Á¦ÇÑ ¼³Á¤
______³ëµåÀÇ ÀÚµ¿ µî·Ï
______³ëµåÀÇ »óÅ üũ
______³ëµåÀÇ µî·Ï ÇØÁ¦
______ºê¶ó¿ìÀú ŸÀӾƿô ¼³Á¤
____Çãºê ¼³Á¤ ÆĶó¹ÌÅÍ
____Å×½ºÆ® ȯ°æÀÌ ÁغñµÉ ¶§±îÁö ´ë±âÇϱâ
____CapabilityMatcher »ç¿ëÀÚ Á¤ÀÇ
____»õ·Î¿î ¼¼¼ÇÀ» ¸¸µé ¶§ »ç¿ëÇÏ´Â WaitTimeout
____¼¿·¹´½ ±×¸®µå ȯ°æÀ» ¼³Á¤ÇÏ´Â ´Ù¸¥ ¹æ¹ý
__Ŭ¶ó¿ìµå ±â¹Ý ¼¿·¹´½ ±×¸®µå¿¡¼ Å©·Î½º ºê¶ó¿ìÀú Å×½ºÆ®
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
9Àå. ÆäÀÌÁö °´Ã¼ ÆÐÅÏ
__¿öµåÇÁ·¹½º ºí·Î±×¸¦ ´ë»óÀ¸·Î Å×½ºÆ® ÄÉÀ̽º ¸¸µé±â
____Å×½ºÆ® ÄÉÀ̽º 1: »õ·Î¿î ±Û µî·Ï
____Å×½ºÆ® ÄÉÀ̽º 2: ±Û Áö¿ì±â
____Å×½ºÆ® ÄÉÀ̽º 3: ¿öµåÇÁ·¹½º ºí·Î±×ÀÇ ±Û °³¼ö ¼¼±â
__ÆäÀÌÁö °´Ã¼ ÆÐÅÏ
____@FindBy ¾î³ëÅ×À̼Ç
____PageFactoryÀÇ È°¿ë
__ÆäÀÌÁö °´Ã¼ ¼³°è¸¦ À§ÇÑ °í·Á »çÇ×
____¼ºñ½º Á¦°øÀÚ °üÁ¡¿¡¼ À¥ ÆäÀÌÁö ¹Ù¶óº¸±â
____ºÎ°¡ ¼ºñ½º Á¦°ø
____ÆäÀÌÁö °´Ã¼¿¡¼ ¶Ç ´Ù¸¥ ÆäÀÌÁö °´Ã¼ÀÇ »ç¿ë
______AddNewPost ÆäÀÌÁö °´Ã¼
______AllPostsPage ÆäÀÌÁö °´Ã¼
____»ç¿ëÀÚ ¾×¼ÇÀÌ ¾Æ´Ñ ¼ºñ½º·Î Á¢±ÙÇÏ´Â ¸Þ¼µå È°¿ë¹ý
____ÃʱâÈ ÀÌÈÄÀÇ À¥¿¤¸®¸ÕÆ® ½Äº°
____ÆäÀÌÁö¿¡ Æ¯ÈµÈ ºÎºÐ ºÐ¸®
____Loadable ÄÄÆ÷³ÍÆ®
__¿öµåÇÁ·¹½º Å×½ºÆ® ½Ç½À
____Å×½ºÆ®¿¡ »ç¿ëÇÏ´Â ÆäÀÌÁö °´Ã¼ ¼³¸í
______AdminLoginPage
______AllPostsPage
______AddNewPostPage
______EditPostPage
______DeletePostPage
____Å×½ºÆ® ÄÉÀ̽º ÀÛ¼º
______°Ô½Ã±Û Ãß°¡ Å×½ºÆ®
______°Ô½Ã±Û ¼öÁ¤ Å×½ºÆ®
______°Ô½Ã±Û »èÁ¦ Å×½ºÆ®
______°Ô½Ã±Û ¼¼±â Å×½ºÆ®
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
10Àå. AppiumÀ» ÀÌ¿ëÇÑ iOS¿Í ¾Èµå·ÎÀ̵å Å×½ºÆ®
__´Ù¾çÇÑ ÇüÅÂÀÇ ¸ð¹ÙÀÏ ¾ÖÇø®ÄÉÀ̼Ç
__»ç¿ë °¡´ÉÇÑ ¼ÒÇÁÆ®¿þ¾î µµ±¸
__AppiumÀ» ÀÌ¿ëÇÑ iOS¿Í ¾Èµå·ÎÀ̵å Å×½ºÆ® ÀÚµ¿È
____iOS ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® ÀÚµ¿È
____¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® ÀÚµ¿È
____Appium »ç¿ëÁغñ
______Xcode ¼³Á¤
______¾Èµå·ÎÀ̵å SDK ¼³Ä¡
______¾Èµå·ÎÀÌµå ¿¡¹Ä·¹ÀÌÅÍ »ý¼º
____Appium ¼³Ä¡
____iOS ÀÚµ¿È
____¾Èµå·ÎÀ̵å ÀÚµ¿È
____Ŭ¶ó¿ìµå ±â¹ÝÀÇ ½ÇÁ¦ ±â±â Å×½ºÆ®
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
11Àå. TestNG·Î ¼öÇàÇÏ´Â µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®
__µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®
__½ºÀ§Æ® ÆĶó¹ÌÅ͸¦ »ç¿ëÇÑ ÆĶó¹ÌÅÍÈ Å×½ºÆ®
__µ¥ÀÌÅÍ Á¦°øÀÚ¿Í ÆĶó¹ÌÅÍÈ Å×½ºÆ®
____CSV ÆÄÀÏ¿¡¼ µ¥ÀÌÅÍ Àоî¿À±â
____¿¢¼¿ ÆÄÀÏ¿¡¼ µ¥ÀÌÅÍ Àоî¿À±â
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
¿¬½À¹®Á¦ ÆîÃ帱âÁ¢¾îº¸±â
__¼¿·¹´½ Å×½ºÆ® µµ±¸
____¼¿·¹´½ À¥µå¶óÀ̹ö
____¼¿·¹´½ ¼¹ö
____¼¿·¹´½ IDE
__¼¿·¹´½ 2¿Í ¼¿·¹´½ 3ÀÇ Â÷ÀÌÁ¡
____ºê¶ó¿ìÀú Á¦¾î
____´õ ³ªÀº API
____°³¹ßÀÚ Áö¿ø°ú °í±Þ ±â´É
____AppiumÀ¸·Î ¸ð¹ÙÀÏ ¾Û Å×½ºÆ®
__ÀÌŬ¸³½º¿¡¼ ¸ÞÀ̺ì, TestNG·Î ÀÚ¹Ù ÇÁ·ÎÁ§Æ® ¼³Á¤
__À¥ ¿¤¸®¸ÕÆ®
__À¥ ÆäÀÌÁö¿¡¼ À¥ ¿¤¸®¸ÕÆ® ÁöÁ¤
____findElement( ) ¸Þ¼µå
____findElements( ) ¸Þ¼µå
____°³¹ßÀÚ µµ±¸·Î ¿¤¸®¸ÕÆ® °Ë»ç
______ÆÄÀ̾îÆø½º·Î ¿¤¸®¸ÕÆ®¿Í ÆäÀÌÁö °Ë»ç
______Å©·Ò °³¹ßÀÚ µµ±¸·Î ÆäÀÌÁö¿Í ¿¤¸®¸ÕÆ® °Ë»ç
____By ÁöÁ¤ÀÚ »ç¿ëÇϱâ
______By.id( ) ¸Þ¼µå
______By.name( ) ¸Þ¼µå
______By.className ¸Þ¼µå
______By.linkText ¸Þ¼µå
______By.partialLinkText( ) ¸Þ¼µå
______By.tagName( ) ¸Þ¼µå
______By.xpath( ) ¸Þ¼µå
______By.cssSelector( ) ¸Þ¼µå
__À¥ ¿¤¸®¸ÕÆ®¿¡¼ ÇÒ ¼ö ÀÖ´Â ¿©·¯ °¡Áö µ¿ÀÛ
____¿¤¸®¸ÕÆ® ¼Ó¼º °¡Á®¿À±â
______getAttibute( ) ¸Þ¼µå
______getText( ) ¸Þ¼µå
______getCssValue( ) ¸Þ¼µå
______getLocation( ) ¸Þ¼µå
______getSize( ) ¸Þ¼µå
______getTagName( ) ¸Þ¼µå
____À¥ ¿¤¸®¸ÕÆ®¿¡¼ ¾×¼Ç ½ÇÇà
______sendKeys( ) ¸Þ¼µå
______clear( ) ¸Þ¼µå
______submit( ) ¸Þ¼µå
____À¥ ¿¤¸®¸ÕÆ®ÀÇ »óÅ ȮÀÎ
______isDisplayed( ) ¸Þ¼µå
______isEnabled( ) ¸Þ¼µå
______isSelected( ) ¸Þ¼µå
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
2Àå. À¥ ºê¶ó¿ìÀú¸¦ Áö¿øÇÏ´Â ´Ù¾çÇÑ À¥µå¶óÀ̹ö
__ÆÄÀ̾îÆø½º µå¶óÀ̹ö
____°ÔÄÚ µå¶óÀ̹ö »ç¿ë
____Çìµå¸®½º ¸ðµå »ç¿ë
____ÆÄÀ̾îÆø½º ÇÁ·ÎÇÊ
______ÆÄÀ̾îÆø½º È®Àå ±â´É Ãß°¡
______ÇÁ·ÎÇÊ ÀúÀå°ú ºÒ·¯¿À±â
____ÆÄÀ̾îÆø½º ȯ°æ ¼³Á¤
______ȯ°æ ¼³Á¤ ´Ù·ç±â
______°íÁ¤ ¼³Á¤ÀÇ ÀÌÇØ
__Å©·Ò µå¶óÀ̹ö
____Çìµå¸®½º ¸ðµå »ç¿ë
____¸ð¹ÙÀÏ ¿¡¹Ä·¹À̼ÇÀ¸·Î ¸ð¹ÙÀÏ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®
____Å©·Ò È®Àå ±â´É Ãß°¡
__ÀÎÅÍ³Ý ÀͽºÇ÷η¯ µå¶óÀ̹ö
____IE ºê¶ó¿ìÀú¸¦ »ç¿ëÇÏ´Â Å×½ºÆ® ½ºÅ©¸³Æ® ÀÛ¼º
____IEDriver ±â´É ÀÌÇØ
__Edge µå¶óÀ̹ö
____Edge ºê¶ó¿ìÀú¸¦ »ç¿ëÇÏ´Â Å×½ºÆ® ½ºÅ©¸³Æ® ÀÛ¼º
__»çÆĸ® µå¶óÀ̹ö
____»çÆĸ®¿ë Å×½ºÆ® ½ºÅ©¸³Æ® ÀÛ¼º
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
3Àå. ÀÚ¹Ù 8 ±â´É »ç¿ë
__ÀÚ¹Ù 8 ½ºÆ®¸² API ¼Ò°³
____Stream.filter( )
______Stream.sort( )
______Stream.map( )
______Stream.collect( )
______Stream.min( )°ú Stream
______Stream.count( )
__¼¿·¹´½ À¥µå¶óÀ̹ö¿Í ½ºÆ®¸² API »ç¿ë
____À¥ ¿¤¸®¸ÕÆ® ÇÊÅ͸µ°ú °³¼ö ¼¼±â
____¿¤¸®¸ÕÆ® ¼Ó¼º ÇÊÅ͸µ
____Map ÇÔ¼ö·Î ¿¤¸®¸ÕÆ®ÀÇ ÅؽºÆ® °ª ÃßÃâ
____ÇÊÅ͸µÇÑ ¿¤¸®¸ÕÆ®¿¡ ÀÛ¾÷ ½ÇÇà
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
4Àå. À¥µå¶óÀ̹ö ±â´É ¾Ë¾Æº¸±â
__½ºÅ©¸°¼¦ ĸó
__À©µµ¿ì â°ú iFrame ÁöÁ¤
____À©µµ¿ì â Àüȯ
____ÇÁ·¹ÀÓ °£ Àüȯ
____¾Ë¸² â ´Ù·ç±â
__ºê¶ó¿ìÀú ³»ºñ°ÔÀÌ¼Ç Á¦¾î
__·Îµù ÁßÀÎ À¥ ¿¤¸®¸ÕÆ® ±â´Ù¸®±â
____¹¬½ÃÀû ´ë±â ½Ã°£
____¸í½ÃÀû ´ë±â ½Ã°£
__ÄíÅ° Çڵ鸵
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
5Àå. °í±Þ »ç¿ëÀÚ ÀÎÅÍ·¢¼Ç
__¾×¼ÇÀ» ¸¸µé¾î ½ÇÇàÇϱâ
__¸¶¿ì½º ÀÎÅÍ·¢¼Ç
____moveByOffset ¾×¼Ç
____click ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â click ¾×¼Ç
____clickAndHold ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â clickAndHold ¾×¼Ç
____release ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â release ¾×¼Ç
____moveToElement ¾×¼Ç
____dragAndDropBy ¾×¼Ç
____dragAndDrop ¾×¼Ç
____doubleClick ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â doubleClick ¾×¼Ç
____À¥ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â contextClick ¾×¼Ç
____ÇöÀç À§Ä¡¿¡¼ contextClick ¾×¼Ç
__Å°º¸µå ÀÎÅÍ·¢¼Ç
____keyDown, keyUp ¾×¼Ç
____sendKeys( ) ¸Þ¼µå
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
6Àå. À¥µå¶óÀ̹ö À̺¥Æ®ÀÇ ÀÌÇØ
__eventFiringWebDriver¿Í eventListener Ŭ·¡½º
__EventListener ÀνºÅϽº »ý¼º
____WebDriverEventListener ÀÎÅÍÆäÀ̽º ±¸Çö
____AbstractWebDriverEventListener »ó¼Ó ±¸Çö
____WebDriver ÀνºÅϽº »ý¼º
____EventFiringWebDriver¿Í EventListener ÀνºÅϽº »ý¼º
____EventFiringWebDriver¿¡ EventListener µî·Ï
____À̺¥Æ® ¹ß»ý°ú È®ÀÎ
____¿©·¯ °³ÀÇ EventListener µî·Ï
__WebDriver¿¡¼ Á¦°øÇÏ´Â À̺¥Æ® ¸®½º³Ê
____WebElement °ª º¯°æ À̺¥Æ®
____WebElement Ŭ¸¯ À̺¥Æ®
____WebElement °Ë»ö jator À̺¥Æ®
____ºê¶ó¿ìÀú µÚ·Î °¡±â À̺¥Æ®
____ºê¶ó¿ìÀú ¾ÕÀ¸·Î °¡±â À̺¥Æ®
____navigateTo À̺¥Æ®
____½ºÅ©¸³Æ® ½ÇÇà À̺¥Æ®
____¿¹¿Ü ó¸®
____EventFiringWebDriver¿¡ µî·ÏÇÑ EventListener Á¦°Å
____Á¢±Ù¼º Å×½ºÆ® ¼öÇà
____ÆäÀÌÁö ¼º´É ÁöÇ¥ ÃøÁ¤
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
7Àå. ¸®¸ðÆ® À¥µå¶óÀ̹ö »ìÆ캸±â
__¸®¸ðÆ® À¥µå¶óÀ̹ö ¼Ò°³
____¼¿·¹´½ ´Üµ¶ ¼¹ö
______¼¿·¹´½ ´Üµ¶ ¼¹ö ´Ù¿î·Îµå
______¼¹ö ½ÇÇà
____¸®¸ðÆ® À¥µå¶óÀ̹ö Ŭ¶óÀ̾ðÆ®
______¸®¸ðÆ® À¥µå¶óÀ̹ö ¼¹ö¸¦ À§ÇÑ Å×½ºÆ® ½ºÅ©¸³Æ® ¼öÁ¤
______¸®¸ðÆ® À¥µå¶óÀ̹ö¸¦ ÅëÇÑ ÆÄÀ̾îÆø½º »ç¿ë¹ý
______¸®¸ðÆ® À¥µå¶óÀ̹ö¸¦ ÅëÇÑ ÀÎÅÍ³Ý ÀͽºÇ÷η¯ »ç¿ë¹ý
__JSON ¿ÍÀ̾î ÇÁ·ÎÅäÄÝ
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
8Àå. ¼¿·¹´½ ±×¸®µå
__¼¿·¹´½ ±×¸®µå ¾Ë±â
__ÇãºêÀÇ ¿ªÇÒ
__³ëµåÀÇ ¿ªÇÒ
__¼¿·¹´½ ±×¸®µå¸¦ À§ÇÑ Å×½ºÆ® ½ºÅ©¸³Æ®·Î ¼öÁ¤
____¹Ìµî·Ï ȯ°æ¿¡ ´ëÇÑ ¿äû
____³ëµå°¡ ÀÛ¾÷ ÁßÀÏ ¶§ ¿äû Å¥À×Çϱâ
____Á¶°Ç¿¡ ¸Â´Â ³ëµå°¡ µÎ °³ÀÎ °æ¿ì
__¼¿·¹´½ ±×¸®µå ¼³Á¤
____³ëµå ¼³Á¤ ÆĶó¹ÌÅÍ
______Áö¿ø ºê¶ó¿ìÀú ¼³Á¤
______³ëµå ŸÀӾƿô ¼³Á¤
______ºê¶ó¿ìÀú ÀνºÅϽºÀÇ »ý¼º Á¦ÇÑ ¼³Á¤
______³ëµåÀÇ ÀÚµ¿ µî·Ï
______³ëµåÀÇ »óÅ üũ
______³ëµåÀÇ µî·Ï ÇØÁ¦
______ºê¶ó¿ìÀú ŸÀӾƿô ¼³Á¤
____Çãºê ¼³Á¤ ÆĶó¹ÌÅÍ
____Å×½ºÆ® ȯ°æÀÌ ÁغñµÉ ¶§±îÁö ´ë±âÇϱâ
____CapabilityMatcher »ç¿ëÀÚ Á¤ÀÇ
____»õ·Î¿î ¼¼¼ÇÀ» ¸¸µé ¶§ »ç¿ëÇÏ´Â WaitTimeout
____¼¿·¹´½ ±×¸®µå ȯ°æÀ» ¼³Á¤ÇÏ´Â ´Ù¸¥ ¹æ¹ý
__Ŭ¶ó¿ìµå ±â¹Ý ¼¿·¹´½ ±×¸®µå¿¡¼ Å©·Î½º ºê¶ó¿ìÀú Å×½ºÆ®
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
9Àå. ÆäÀÌÁö °´Ã¼ ÆÐÅÏ
__¿öµåÇÁ·¹½º ºí·Î±×¸¦ ´ë»óÀ¸·Î Å×½ºÆ® ÄÉÀ̽º ¸¸µé±â
____Å×½ºÆ® ÄÉÀ̽º 1: »õ·Î¿î ±Û µî·Ï
____Å×½ºÆ® ÄÉÀ̽º 2: ±Û Áö¿ì±â
____Å×½ºÆ® ÄÉÀ̽º 3: ¿öµåÇÁ·¹½º ºí·Î±×ÀÇ ±Û °³¼ö ¼¼±â
__ÆäÀÌÁö °´Ã¼ ÆÐÅÏ
____@FindBy ¾î³ëÅ×À̼Ç
____PageFactoryÀÇ È°¿ë
__ÆäÀÌÁö °´Ã¼ ¼³°è¸¦ À§ÇÑ °í·Á »çÇ×
____¼ºñ½º Á¦°øÀÚ °üÁ¡¿¡¼ À¥ ÆäÀÌÁö ¹Ù¶óº¸±â
____ºÎ°¡ ¼ºñ½º Á¦°ø
____ÆäÀÌÁö °´Ã¼¿¡¼ ¶Ç ´Ù¸¥ ÆäÀÌÁö °´Ã¼ÀÇ »ç¿ë
______AddNewPost ÆäÀÌÁö °´Ã¼
______AllPostsPage ÆäÀÌÁö °´Ã¼
____»ç¿ëÀÚ ¾×¼ÇÀÌ ¾Æ´Ñ ¼ºñ½º·Î Á¢±ÙÇÏ´Â ¸Þ¼µå È°¿ë¹ý
____ÃʱâÈ ÀÌÈÄÀÇ À¥¿¤¸®¸ÕÆ® ½Äº°
____ÆäÀÌÁö¿¡ Æ¯ÈµÈ ºÎºÐ ºÐ¸®
____Loadable ÄÄÆ÷³ÍÆ®
__¿öµåÇÁ·¹½º Å×½ºÆ® ½Ç½À
____Å×½ºÆ®¿¡ »ç¿ëÇÏ´Â ÆäÀÌÁö °´Ã¼ ¼³¸í
______AdminLoginPage
______AllPostsPage
______AddNewPostPage
______EditPostPage
______DeletePostPage
____Å×½ºÆ® ÄÉÀ̽º ÀÛ¼º
______°Ô½Ã±Û Ãß°¡ Å×½ºÆ®
______°Ô½Ã±Û ¼öÁ¤ Å×½ºÆ®
______°Ô½Ã±Û »èÁ¦ Å×½ºÆ®
______°Ô½Ã±Û ¼¼±â Å×½ºÆ®
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
10Àå. AppiumÀ» ÀÌ¿ëÇÑ iOS¿Í ¾Èµå·ÎÀ̵å Å×½ºÆ®
__´Ù¾çÇÑ ÇüÅÂÀÇ ¸ð¹ÙÀÏ ¾ÖÇø®ÄÉÀ̼Ç
__»ç¿ë °¡´ÉÇÑ ¼ÒÇÁÆ®¿þ¾î µµ±¸
__AppiumÀ» ÀÌ¿ëÇÑ iOS¿Í ¾Èµå·ÎÀ̵å Å×½ºÆ® ÀÚµ¿È
____iOS ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® ÀÚµ¿È
____¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® ÀÚµ¿È
____Appium »ç¿ëÁغñ
______Xcode ¼³Á¤
______¾Èµå·ÎÀ̵å SDK ¼³Ä¡
______¾Èµå·ÎÀÌµå ¿¡¹Ä·¹ÀÌÅÍ »ý¼º
____Appium ¼³Ä¡
____iOS ÀÚµ¿È
____¾Èµå·ÎÀ̵å ÀÚµ¿È
____Ŭ¶ó¿ìµå ±â¹ÝÀÇ ½ÇÁ¦ ±â±â Å×½ºÆ®
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
11Àå. TestNG·Î ¼öÇàÇÏ´Â µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®
__µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®
__½ºÀ§Æ® ÆĶó¹ÌÅ͸¦ »ç¿ëÇÑ ÆĶó¹ÌÅÍÈ Å×½ºÆ®
__µ¥ÀÌÅÍ Á¦°øÀÚ¿Í ÆĶó¹ÌÅÍÈ Å×½ºÆ®
____CSV ÆÄÀÏ¿¡¼ µ¥ÀÌÅÍ Àоî¿À±â
____¿¢¼¿ ÆÄÀÏ¿¡¼ µ¥ÀÌÅÍ Àоî¿À±â
__¿ä¾à
__Áú¹®
__´õ »ìÆ캸±â
¿¬½À¹®Á¦ ÆîÃ帱âÁ¢¾îº¸±â
¡ß ¼¿·¹´½ 3 ¼Ò°³ ¹× ¾÷µ¥ÀÌÆ®µÈ ±â¼ú ºñ±³
¡ß ´Ù¾çÇÑ ¸ð¹ÙÀÏ°ú µ¥½ºÅ©Åé ºê¶ó¿ìÀú Ç÷§Æû¿¡¼ÀÇ ¼¿·¹´½ 3 »ç¿ë ¹æ¹ý
¡ß µå·¡±× ¾Ø µå·Ó °°Àº °í±Þ ¾×¼Ç°ú À¥ ÆäÀÌÁöÀÇ ¾×¼Ç ºô´õ »ç¿ë ¹æ¹ý
¡ß ÀÚ¹Ù 8 API¸¦ ¼¿·¹´½ 3¿Í ÇÔ²² »ç¿ëÇÏ´Â ¹æ¹ý
¡ß ¸®¸ðÆ® À¥µå¶óÀ̹öÀÇ °³³ä°ú »ç¿ë ¹æ¹ý
¡ß ¼¿·¹´½ ±×¸®µå·Î Å©·Î½º ºê¶ó¿ìÀú Å×½ºÆ®¿Í ºÐ»ê Å×½ºÆ® ½ÇÇà
¡ß ¾×¼Ç API·Î ´Ù¾çÇÑ Å°º¸µå¿Í ¸¶¿ì½º ¾×¼Ç ¼öÇà
¢Â ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¢Â
À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® ½ºÀ§Æ® ÀÚµ¿È¸¦ ¸¸µé·Á´Â Ç°Áú º¸Áõ/Å×½ºÆ® Àü¹®°¡, Å×½ºÆ® ¿£Áö´Ï¾î, ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ, À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ¿¡°Ô ¿Ïº®ÇÑ ¾È³»¼´Ù. ¼±ÇàÇнÀÀ¸·Î ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ±âº»ÀûÀÎ ÀÌÇØ°¡ ÇÊ¿äÇÏÁö¸¸ À¥µå¶óÀ̹ö³ª ¼¿·¹´½¿¡ ´ëÇÑ Áö½ÄÀº ¾ø¾îµµ µÈ´Ù. ÀÌ Ã¥À» ´Ù ÀÐ°í ³ª¸é Å×½ºÆ® ÀÚµ¿È ÀÛ¼º¿¡ ÇÊ¿äÇÑ À¥µå¶óÀ̹öÀÇ Áö½ÄÀ» ÃæºÐÈ÷ ½×À» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¢Â ÀÌ Ã¥ÀÇ ±¸¼º ¢Â
1Àå, ¡®À¥µå¶óÀ̹ö¿Í À¥ ¿¤¸®¸ÕÆ®¡¯¿¡¼´Â ¼¿·¹´½ÀÇ °³³ä°ú ±â´ÉÀ» ¸ÕÀú »ìÆ캻 ÈÄ, À¥µå¶óÀ̹ö°¡ À¥ ÆäÀÌÁö¸¦ ÀνÄÇÏ´Â ¹æ¹ýÀ¸·Î ºü¸£°Ô ³Ñ¾î°£´Ù. À¥µå¶óÀ̹öÀÇ À¥ ¿¤¸®¸ÕÆ®¿¡ ´ëÇØ ¼³¸íÇÏ°í, À¥ ÆäÀÌÁöÀÇ À¥ ¿¤¸®¸ÕÆ®¸¦ ÁöÁ¤ÇØ ±âº»ÀûÀÎ ¾×¼ÇÀ» ¼öÇàÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. 2Àå, ¡®À¥ ºê¶ó¿ìÀú¸¦ Áö¿øÇÏ´Â ´Ù¾çÇÑ À¥µå¶óÀ̹ö¡¯¿¡¼´Â FirefoxDriver¿Í IEDriver, ChromeDriver °°Àº ´Ù¾çÇÑ À¥µå¶óÀ̹ö ±¸Çöü¸¦ ¼³¸íÇÑ´Ù. Çìµå¸®½º¸ðµå, ¸ð¹ÙÀÏ ¿¡¹Ä·¹À̼Ç, »ç¿ëÀÚ ÇÁ·ÎÇÊ »ç¿ë µîÀ¸·Î ºê¶ó¿ìÀú Å×½ºÆ® ȯ°æÀ» ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù.
3Àå, ¡®ÀÚ¹Ù8 ±â´É »ç¿ë¡¯¿¡¼´Â À¥ ¿¤¸®¸ÕÆ® ¸®½ºÆ®¸¦ ½ºÆ®¸² API³ª ¶÷´Ù Ç¥Çö½Ä °°Àº ÀÚ¹Ù8ÀÇ »õ·Î¿î ±â´ÉÀ¸·Î ´Ù·ç´Â ¹æ¹ýÀ» »ìÆ캻´Ù. 4Àå, ¡®À¥µå¶óÀ̹ö ±â´É ¾Ë¾Æº¸±â¡¯¿¡¼´Â À¥ ÆäÀÌÁö ½ºÅ©¸°¼¦ Âï±â, ÀÚ¹Ù½ºÅ©¸³Æ® ½ÇÇà, ÄíÅ° ´Ù·ç±â, À©µµ¿ì ÇÁ·¹ÀÓ ´Ù·ç±â µîÀÇ À¥µå¶óÀ̹ö °í±Þ ±â´ÉÀ» ¾Ë¾Æº»´Ù. 5Àå, ¡®°í±Þ »ç¿ëÀÚ ÀÎÅÍ·¢¼Ç¡¯¿¡¼´Â À¥µå¶óÀ̹öÀÇ °í±Þ ±â´ÉÀ» ´õ ÀÚ¼¼È÷ ¾Ë¾Æº»´Ù. ÇϳªÀÇ ÇÁ·¹ÀÓ¿¡ ÀÖ´Â ¿¤¸®¸ÕÆ®¸¦ µå·¡±× ¾Ø µå·ÓÀ¸·Î ´Ù¸¥ ÇÁ·¹ÀÓÀ¸·Î ¿Å±â±â, À¥ ¿¤¸®¸ÕÆ®¿¡¼ ¿À¸¥ÂÊ ¹öÆ° Ŭ¸¯ °°Àº Èï¹Ì·Î¿î ¿¹Á¦¸¦ ´Ù·é´Ù.
6Àå, ¡®À¥µå¶óÀ̹ö À̺¥Æ®ÀÇ ÀÌÇØ¡¯¿¡¼´Â À¥µå¶óÀ̹ö °üÁ¡¿¡¼ÀÇ À̺¥Æ® 󸮸¦ »ìÆ캻´Ù. À¥ ¿¤¸®¸ÕÆ®ÀÇ °ª º¯°æ, ºê¶ó¿ìÀúÀÇ µÚ·Î °¡±â, ½ºÅ©¸³Æ® ½ÇÇà ¿Ï·á¿Í °°Àº À̺¥Æ®¸¦ »ìÆ캻´Ù. 7Àå, ¡®¸®¸ðÆ® À¥µå¶óÀ̹ö »ìÆ캸±â¡¯¿¡¼´Â ¸®¸ðÆ® À¥µå¶óÀ̹ö¿Í ¼¿·¹´½ ´Üµ¶ ¼¹ö¸¦ »ç¿ëÇØ ¿ø°Ý ±â±â¿¡¼ Å×½ºÆ®¸¦ ½ÇÇàÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù. 8Àå, ¡®¼¿·¹´½ ±×¸®µå¡¯¿¡¼´Â ¼¿·¹´½¿¡¼ °¡Àå Áß¿äÇÏ°í Èï¹Ì·Î¿î ±â´ÉÀÎ ¼¿·¹´½ ±×¸®µå¸¦ »ìÆ캻´Ù.
9Àå, ¡®ÆäÀÌÁö °´Ã¼ ÆÐÅÏ¡¯¿¡¼´Â ÆäÀÌÁö °´Ã¼ ÆÐÅÏÀ¸·Î Àß ¾Ë·ÁÁø ¼³°è ÆÐÅÏÀ» ´Ù·é´Ù. 10Àå, ¡®AppiumÀ» ÀÌ¿ëÇÑ iOS¿Í ¾Èµå·ÎÀ̵å Å×½ºÆ®¡¯¿¡¼´Â iOS¿Í ¾Èµå·ÎÀ̵å Ç÷§Æû¿¡¼ AppiumÀ» ÀÌ¿ëÇØ ÀÚµ¿È Å×½ºÆ® ½ºÅ©¸³Æ®¿¡¼ À¥µå¶óÀ̹ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù. 11Àå, ¡®TestNG·Î ¼öÇàÇÏ´Â µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®¡¯¿¡¼´Â TestNG·Î µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ® ±â¹ýÀ» »ìÆ캻´Ù.
¢Â ÁöÀºÀÌÀÇ ¸» ¢Â
¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ¿Í QA ¿£Áö´Ï¾î°¡ ´Ù¾çÇÑ ºê¶ó¿ìÀú¿¡ ´ëÇÑ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®¿¡ »ç¿ëÇÏ´Â ºê¶ó¿ìÀú ÀÚµ¿È µµ±¸ÀÎ ¼¿·¹´½¿¡ ´ëÇÑ Ã¥ÀÌ¸ç ½Ç¹«¿¡¼µµ ¾ðÁ¦µç Âü°íÇÒ ¼ö ÀÖ´Â ÁÁÀº Âü°í¼´Ù. ¼¿·¹´½Àº ºê¶ó¿ìÀú ÀÚµ¿È µµ±¸ ¸ðÀ½À¸·Î ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®¿¡ ³Î¸® »ç¿ëµÈ´Ù. ÇÏÁö¸¸ ¼¿·¹´½ÀÇ »ç¿ë ¹üÀ§´Â Å×½ºÆ®¿¡ ±¹ÇѵÇÁö ¾Ê°í ȸé ĸó³ª ºê¶ó¿ìÀú À©µµ¿¡¼ÀÇ ¹Ýº¹ ÀÛ¾÷ ÀÚµ¿È¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¼¿·¹´½Àº ÆÄÀ̾îÆø½º, ÀÎÅÍ³Ý ÀͽºÇ÷η¯, ±¸±Û Å©·Ò, ¾ÖÇà »çÆĸ®, ¿ÀÆä¶ó µî ¸ðµç ÁÖ¿ä ºê¶ó¿ìÀú¿¡¼ Áö¿øÇÑ´Ù. ¼¿·¹´½ À¥µå¶óÀ̹ö´Â W3C Ç¥ÁØÀÌ µÆÀ¸¸ç ¸ðµç ÁÖ¿ä ºê¶ó¿ìÀú Á¦Á¶»çÀÇ Áö¿ø ´ë»óÀÌ´Ù.
¢Â ¿Å±äÀÌÀÇ ¸» ¢Â
À¥ ºê¶ó¿ìÀú ÀÚµ¿È Å×½ºÆ®ÀÇ ½ÇÁúÀû Ç¥ÁØÀÌ´ø ¼¿·¹´½ À¥µå¶óÀ̹ö°¡ 3 ¹öÀüÀÌ µÇ¸é¼ ÀÌÁ¦ ÁøÂ¥ Ç¥ÁØÀÌ µÆ´Ù. W3C Ç¥ÁØÀ» ÁؼöÇÏ´Â ºê¶ó¿ìÀú¶ó¸é ¼¿·¹´½À» Áö¿øÇϱ⠶§¹®¿¡ ºê¶ó¿ìÀú ÀÚµ¿È¸¦ ´õ ½±°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ÇÁ·ÎÁ§Æ®ÀÇ °³¹ß, ¹èÆ÷ÀÇ ÁֱⰡ °¥¼ö·Ï »¡¶óÁö´Â Ãß¼¼¿¡ ÀÚµ¿È Å×½ºÆ®´Â ¹Ýµå½Ã ±¸ÃàÇØ¾ß ÇÏ´Â °³¹ß ÇÁ·Î¼¼½ºÀÇ ÀϺΰ¡ µÇ°í ÀÖ´Ù. ´õºÒ¾î ¼¿·¹´½À» µÑ·¯½Ñ ÁÖº¯ÀÇ È¯°æµµ ºü¸£°Ô º¯ÈÇÏ°í ÀÖ´Ù. ÀÌ Ã¥¿¡¼´Â º¯ÈÇϴ ȯ°æ¿¡ ¸ÂÃá ³»¿ëµéÀ» ´Ù·ç°í ÀÖ´Ù. ¶ÇÇÑ ÀÚ¹Ù8¿¡¼ Ãß°¡µÈ ÇÔ¼öÇü ±â´ÉÀ̳ª ¼¿·¹´½ ±×¸®µå¸¦ ±â¹ÝÀ¸·Î Çϴ Ŭ¶ó¿ìµå ¼ºñ½º¿¡ ´ëÇÑ ³»¿ë°ú µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®¿¡ ´ëÇÑ ³»¿ëµµ È®ÀÎÇÒ ¼ö ÀÖ´Ù. ÀÌ Ã¥À» ÅëÇØ »õ·Î¿î ¼¿·¹´½ ¹öÀü¿¡¼ ´Þ¶óÁø ºÎºÐ°ú ÀÌÀüº¸´Ù °ÈµÈ ¿¹Á¦µéÀ» »ìÆ캸°í Å×½ºÆ® ÀÚµ¿ÈÀ» ÇâÇÑ ¿©Á¤¿¡ µµ¿òÀÌ µÆÀ¸¸é ÁÁ°Ú´Ù.
¡ß ´Ù¾çÇÑ ¸ð¹ÙÀÏ°ú µ¥½ºÅ©Åé ºê¶ó¿ìÀú Ç÷§Æû¿¡¼ÀÇ ¼¿·¹´½ 3 »ç¿ë ¹æ¹ý
¡ß µå·¡±× ¾Ø µå·Ó °°Àº °í±Þ ¾×¼Ç°ú À¥ ÆäÀÌÁöÀÇ ¾×¼Ç ºô´õ »ç¿ë ¹æ¹ý
¡ß ÀÚ¹Ù 8 API¸¦ ¼¿·¹´½ 3¿Í ÇÔ²² »ç¿ëÇÏ´Â ¹æ¹ý
¡ß ¸®¸ðÆ® À¥µå¶óÀ̹öÀÇ °³³ä°ú »ç¿ë ¹æ¹ý
¡ß ¼¿·¹´½ ±×¸®µå·Î Å©·Î½º ºê¶ó¿ìÀú Å×½ºÆ®¿Í ºÐ»ê Å×½ºÆ® ½ÇÇà
¡ß ¾×¼Ç API·Î ´Ù¾çÇÑ Å°º¸µå¿Í ¸¶¿ì½º ¾×¼Ç ¼öÇà
¢Â ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¢Â
À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® ½ºÀ§Æ® ÀÚµ¿È¸¦ ¸¸µé·Á´Â Ç°Áú º¸Áõ/Å×½ºÆ® Àü¹®°¡, Å×½ºÆ® ¿£Áö´Ï¾î, ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ, À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ¿¡°Ô ¿Ïº®ÇÑ ¾È³»¼´Ù. ¼±ÇàÇнÀÀ¸·Î ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ±âº»ÀûÀÎ ÀÌÇØ°¡ ÇÊ¿äÇÏÁö¸¸ À¥µå¶óÀ̹ö³ª ¼¿·¹´½¿¡ ´ëÇÑ Áö½ÄÀº ¾ø¾îµµ µÈ´Ù. ÀÌ Ã¥À» ´Ù ÀÐ°í ³ª¸é Å×½ºÆ® ÀÚµ¿È ÀÛ¼º¿¡ ÇÊ¿äÇÑ À¥µå¶óÀ̹öÀÇ Áö½ÄÀ» ÃæºÐÈ÷ ½×À» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¢Â ÀÌ Ã¥ÀÇ ±¸¼º ¢Â
1Àå, ¡®À¥µå¶óÀ̹ö¿Í À¥ ¿¤¸®¸ÕÆ®¡¯¿¡¼´Â ¼¿·¹´½ÀÇ °³³ä°ú ±â´ÉÀ» ¸ÕÀú »ìÆ캻 ÈÄ, À¥µå¶óÀ̹ö°¡ À¥ ÆäÀÌÁö¸¦ ÀνÄÇÏ´Â ¹æ¹ýÀ¸·Î ºü¸£°Ô ³Ñ¾î°£´Ù. À¥µå¶óÀ̹öÀÇ À¥ ¿¤¸®¸ÕÆ®¿¡ ´ëÇØ ¼³¸íÇÏ°í, À¥ ÆäÀÌÁöÀÇ À¥ ¿¤¸®¸ÕÆ®¸¦ ÁöÁ¤ÇØ ±âº»ÀûÀÎ ¾×¼ÇÀ» ¼öÇàÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. 2Àå, ¡®À¥ ºê¶ó¿ìÀú¸¦ Áö¿øÇÏ´Â ´Ù¾çÇÑ À¥µå¶óÀ̹ö¡¯¿¡¼´Â FirefoxDriver¿Í IEDriver, ChromeDriver °°Àº ´Ù¾çÇÑ À¥µå¶óÀ̹ö ±¸Çöü¸¦ ¼³¸íÇÑ´Ù. Çìµå¸®½º¸ðµå, ¸ð¹ÙÀÏ ¿¡¹Ä·¹À̼Ç, »ç¿ëÀÚ ÇÁ·ÎÇÊ »ç¿ë µîÀ¸·Î ºê¶ó¿ìÀú Å×½ºÆ® ȯ°æÀ» ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù.
3Àå, ¡®ÀÚ¹Ù8 ±â´É »ç¿ë¡¯¿¡¼´Â À¥ ¿¤¸®¸ÕÆ® ¸®½ºÆ®¸¦ ½ºÆ®¸² API³ª ¶÷´Ù Ç¥Çö½Ä °°Àº ÀÚ¹Ù8ÀÇ »õ·Î¿î ±â´ÉÀ¸·Î ´Ù·ç´Â ¹æ¹ýÀ» »ìÆ캻´Ù. 4Àå, ¡®À¥µå¶óÀ̹ö ±â´É ¾Ë¾Æº¸±â¡¯¿¡¼´Â À¥ ÆäÀÌÁö ½ºÅ©¸°¼¦ Âï±â, ÀÚ¹Ù½ºÅ©¸³Æ® ½ÇÇà, ÄíÅ° ´Ù·ç±â, À©µµ¿ì ÇÁ·¹ÀÓ ´Ù·ç±â µîÀÇ À¥µå¶óÀ̹ö °í±Þ ±â´ÉÀ» ¾Ë¾Æº»´Ù. 5Àå, ¡®°í±Þ »ç¿ëÀÚ ÀÎÅÍ·¢¼Ç¡¯¿¡¼´Â À¥µå¶óÀ̹öÀÇ °í±Þ ±â´ÉÀ» ´õ ÀÚ¼¼È÷ ¾Ë¾Æº»´Ù. ÇϳªÀÇ ÇÁ·¹ÀÓ¿¡ ÀÖ´Â ¿¤¸®¸ÕÆ®¸¦ µå·¡±× ¾Ø µå·ÓÀ¸·Î ´Ù¸¥ ÇÁ·¹ÀÓÀ¸·Î ¿Å±â±â, À¥ ¿¤¸®¸ÕÆ®¿¡¼ ¿À¸¥ÂÊ ¹öÆ° Ŭ¸¯ °°Àº Èï¹Ì·Î¿î ¿¹Á¦¸¦ ´Ù·é´Ù.
6Àå, ¡®À¥µå¶óÀ̹ö À̺¥Æ®ÀÇ ÀÌÇØ¡¯¿¡¼´Â À¥µå¶óÀ̹ö °üÁ¡¿¡¼ÀÇ À̺¥Æ® 󸮸¦ »ìÆ캻´Ù. À¥ ¿¤¸®¸ÕÆ®ÀÇ °ª º¯°æ, ºê¶ó¿ìÀúÀÇ µÚ·Î °¡±â, ½ºÅ©¸³Æ® ½ÇÇà ¿Ï·á¿Í °°Àº À̺¥Æ®¸¦ »ìÆ캻´Ù. 7Àå, ¡®¸®¸ðÆ® À¥µå¶óÀ̹ö »ìÆ캸±â¡¯¿¡¼´Â ¸®¸ðÆ® À¥µå¶óÀ̹ö¿Í ¼¿·¹´½ ´Üµ¶ ¼¹ö¸¦ »ç¿ëÇØ ¿ø°Ý ±â±â¿¡¼ Å×½ºÆ®¸¦ ½ÇÇàÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù. 8Àå, ¡®¼¿·¹´½ ±×¸®µå¡¯¿¡¼´Â ¼¿·¹´½¿¡¼ °¡Àå Áß¿äÇÏ°í Èï¹Ì·Î¿î ±â´ÉÀÎ ¼¿·¹´½ ±×¸®µå¸¦ »ìÆ캻´Ù.
9Àå, ¡®ÆäÀÌÁö °´Ã¼ ÆÐÅÏ¡¯¿¡¼´Â ÆäÀÌÁö °´Ã¼ ÆÐÅÏÀ¸·Î Àß ¾Ë·ÁÁø ¼³°è ÆÐÅÏÀ» ´Ù·é´Ù. 10Àå, ¡®AppiumÀ» ÀÌ¿ëÇÑ iOS¿Í ¾Èµå·ÎÀ̵å Å×½ºÆ®¡¯¿¡¼´Â iOS¿Í ¾Èµå·ÎÀ̵å Ç÷§Æû¿¡¼ AppiumÀ» ÀÌ¿ëÇØ ÀÚµ¿È Å×½ºÆ® ½ºÅ©¸³Æ®¿¡¼ À¥µå¶óÀ̹ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù. 11Àå, ¡®TestNG·Î ¼öÇàÇÏ´Â µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®¡¯¿¡¼´Â TestNG·Î µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ® ±â¹ýÀ» »ìÆ캻´Ù.
¢Â ÁöÀºÀÌÀÇ ¸» ¢Â
¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ¿Í QA ¿£Áö´Ï¾î°¡ ´Ù¾çÇÑ ºê¶ó¿ìÀú¿¡ ´ëÇÑ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®¿¡ »ç¿ëÇÏ´Â ºê¶ó¿ìÀú ÀÚµ¿È µµ±¸ÀÎ ¼¿·¹´½¿¡ ´ëÇÑ Ã¥ÀÌ¸ç ½Ç¹«¿¡¼µµ ¾ðÁ¦µç Âü°íÇÒ ¼ö ÀÖ´Â ÁÁÀº Âü°í¼´Ù. ¼¿·¹´½Àº ºê¶ó¿ìÀú ÀÚµ¿È µµ±¸ ¸ðÀ½À¸·Î ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®¿¡ ³Î¸® »ç¿ëµÈ´Ù. ÇÏÁö¸¸ ¼¿·¹´½ÀÇ »ç¿ë ¹üÀ§´Â Å×½ºÆ®¿¡ ±¹ÇѵÇÁö ¾Ê°í ȸé ĸó³ª ºê¶ó¿ìÀú À©µµ¿¡¼ÀÇ ¹Ýº¹ ÀÛ¾÷ ÀÚµ¿È¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¼¿·¹´½Àº ÆÄÀ̾îÆø½º, ÀÎÅÍ³Ý ÀͽºÇ÷η¯, ±¸±Û Å©·Ò, ¾ÖÇà »çÆĸ®, ¿ÀÆä¶ó µî ¸ðµç ÁÖ¿ä ºê¶ó¿ìÀú¿¡¼ Áö¿øÇÑ´Ù. ¼¿·¹´½ À¥µå¶óÀ̹ö´Â W3C Ç¥ÁØÀÌ µÆÀ¸¸ç ¸ðµç ÁÖ¿ä ºê¶ó¿ìÀú Á¦Á¶»çÀÇ Áö¿ø ´ë»óÀÌ´Ù.
¢Â ¿Å±äÀÌÀÇ ¸» ¢Â
À¥ ºê¶ó¿ìÀú ÀÚµ¿È Å×½ºÆ®ÀÇ ½ÇÁúÀû Ç¥ÁØÀÌ´ø ¼¿·¹´½ À¥µå¶óÀ̹ö°¡ 3 ¹öÀüÀÌ µÇ¸é¼ ÀÌÁ¦ ÁøÂ¥ Ç¥ÁØÀÌ µÆ´Ù. W3C Ç¥ÁØÀ» ÁؼöÇÏ´Â ºê¶ó¿ìÀú¶ó¸é ¼¿·¹´½À» Áö¿øÇϱ⠶§¹®¿¡ ºê¶ó¿ìÀú ÀÚµ¿È¸¦ ´õ ½±°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ÇÁ·ÎÁ§Æ®ÀÇ °³¹ß, ¹èÆ÷ÀÇ ÁֱⰡ °¥¼ö·Ï »¡¶óÁö´Â Ãß¼¼¿¡ ÀÚµ¿È Å×½ºÆ®´Â ¹Ýµå½Ã ±¸ÃàÇØ¾ß ÇÏ´Â °³¹ß ÇÁ·Î¼¼½ºÀÇ ÀϺΰ¡ µÇ°í ÀÖ´Ù. ´õºÒ¾î ¼¿·¹´½À» µÑ·¯½Ñ ÁÖº¯ÀÇ È¯°æµµ ºü¸£°Ô º¯ÈÇÏ°í ÀÖ´Ù. ÀÌ Ã¥¿¡¼´Â º¯ÈÇϴ ȯ°æ¿¡ ¸ÂÃá ³»¿ëµéÀ» ´Ù·ç°í ÀÖ´Ù. ¶ÇÇÑ ÀÚ¹Ù8¿¡¼ Ãß°¡µÈ ÇÔ¼öÇü ±â´ÉÀ̳ª ¼¿·¹´½ ±×¸®µå¸¦ ±â¹ÝÀ¸·Î Çϴ Ŭ¶ó¿ìµå ¼ºñ½º¿¡ ´ëÇÑ ³»¿ë°ú µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®¿¡ ´ëÇÑ ³»¿ëµµ È®ÀÎÇÒ ¼ö ÀÖ´Ù. ÀÌ Ã¥À» ÅëÇØ »õ·Î¿î ¼¿·¹´½ ¹öÀü¿¡¼ ´Þ¶óÁø ºÎºÐ°ú ÀÌÀüº¸´Ù °ÈµÈ ¿¹Á¦µéÀ» »ìÆ캸°í Å×½ºÆ® ÀÚµ¿ÈÀ» ÇâÇÑ ¿©Á¤¿¡ µµ¿òÀÌ µÆÀ¸¸é ÁÁ°Ú´Ù.