±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcsdn£¬½éÉÜÁËSelenium
IDE£¬Selenium RC£¬Selenium WebDriver£¬Selenium
Grid£¬¸¨Öú¹¤¾ßµÈ¡£ |
|
SeleniumÊÇһϵÁлùÓÚWebµÄ×Ô¶¯»¯¹¤¾ß£¬ÌṩһÌײâÊÔº¯Êý£¬ÓÃÓÚÖ§³ÖWeb×Ô¶¯»¯²âÊÔ¡£º¯Êý·Ç³£Áé»î£¬Äܹ»Íê³É½çÃæÔªËØ¶¨Î»¡¢´°¿ÚÌø×ª¡¢½á¹û±È½Ï¡£¾ßÓÐÈçÏÂÌØµã£º
Ò»¡¢¶àä¯ÀÀÆ÷Ö§³Ö
¿ÉÒÔ¶Ô¶àä¯ÀÀÆ÷½øÐвâÊÔ£¬ÈçIE¡¢Firefox¡¢Safari¡¢Chrome¡¢AndroidÊÖ»úä¯ÀÀÆ÷µÈ¡£
¶þ¡¢Ö§³Ö¶àÖÖÓïÑÔ
ÈçJava¡¢C#¡¢Python¡¢Ruby¡¢PHPµÈ¡£
Èý¡¢Ö§³Ö¶àÖÖ²Ù×÷ϵͳ
ÈçWindows¡¢Linux¡¢IOS¡¢AndroidµÈ¡£
ËÄ¡¢¿ªÔ´Ãâ·Ñ
¹ÙÍø£ºhttp://www.seleniumhg.org/
Selenium¿ò¼ÜÓɶà¸ö¹¤¾ß×é³É£¬°üÀ¨£ºSelenium IDE£¬Selenium RC£¬Selenium
WebDriverºÍSeleniumRC¡£
Ò»¡¢Selenium IDE
¸Ã¹¤¾ßÊÇÒ»¸öÓÃÓÚ¹¹½¨½Å±¾µÄ³õ¼¶¹¤¾ß£¬ÆäʵÊÇFireFoxµÄÒ»¸ö²å¼þ£¬ÓµÓÐÒ»¸öÒ×ÓÚʹÓõĽçÃæ¡£ËüÓµÓмǼ¹¦ÄÜ£¬Äܹ»¼Ç¼Óû§Ö´ÐеIJÙ×÷£¬²¢¿ÉÒÔµ¼³öΪ¿ÉÖØ¸´Ê¹ÓõĽű¾¡£Èç¹ûûÓбà³Ì¾Ñ飬¿ÉÒÔͨ¹ýSelenium
IDE À´¿ìËÙÊìϤSeleniumµÄÃüÁî¡£

¸Ã¹¤¾ßʵ¼ÊʹÓò»¶à¡£
¶þ¡¢Selenium RC
Selenium RCÊÇselenium¼Ò×åºËÐIJ¿·Ö¡£Selenium
RCÖ§³Ö¶àÖÖ²»Í¬µÄÓïÑÔ±àд×Ô¶¯»¯²âÊԽű¾£¬Í¨¹ýSeleniumRC µÄ·þÎñÆ÷×÷Ϊ´úÀí·þÎñÆ÷È¥·ÃÎÊÓ¦Ó㬴Ӷø´ïµ½²âÊÔµÄÄ¿µÄ¡£
SeleniumRC·ÖΪClientLibrariesºÍSeleniumServer¡£ClientLibraries¿âÖ÷ÒªÓÃÓÚ±àд²âÊԽű¾£¬ÓÃÀ´¿ØÖÆSeleniumServerµÄ¿â¡£SeleniumServer¸ºÔð¿ØÖÆä¯ÀÀÆ÷ÐÐΪ¡£SeleniumServer°üº¬Èý²¿·Ö£ºLauncher£¬Http
ProxyºÍCore¡£ÆäÖУ¬Selenium CoreÊDZ»Selenium ServerǶÈëµ½ä¯ÀÀÆ÷Ò³ÃæÖе쬯äʵSeleniumCore¾ÍÊÇÒ»¶ÑJavaScript
º¯ÊýµÄ¼¯ºÏ£¬¼´Í¨¹ýÕâЩJavaScriptº¯Êý£¬ÎÒÃDzſÉÒÔʵÏÖÓóÌÐò¶Ôä¯ÀÀÆ÷½øÐвÙ×÷¡£Launcher
ÓÃÓÚÆô¶¯ä¯ÀÀÆ÷£¬°ÑSelenium Core¼ÓÔØµ½ä¯ÀÀÆ÷Ò³Ãæµ±ÖУ¬²¢°Ñä¯ÀÀÆ÷µÄ´úÀíÉèÖÃΪSeleniumServer
µÄ HttpProxy¡£

SeleniumÒýÈëÁËRemote Control Server ÕâÑùÒ»¸ö´úÀí Server£¬JavaScript
½Å±¾×¢ÈëºÍÓë Server ͨѶ¶¼Í¨¹ýÕâ¸ö´úÀíServer À´½øÐС£Ö®ËùÒÔÒýÈëÕâ¸ö´úÀí Remote
Control Server ÊÇÒòΪ¡°Í¬Ô´²ßÂÔ¡±µÄÏÞÖÆ£¬Í¨¹ýÕâ¸ö´úÀí·þÎñÆ÷À´¡°ÆÛÆ¡±Ô¶³ÌServer£¬´ïµ½Ê¹ÆäÒÔΪÊÇ´Óͬһ¸öµØ·½
load ´úÂëÒÔÕýÈ··µ»ØÇëÇóÊý¾ÝµÄЧ¹û¡£ÈçÉÏͼ£¬RCµÄÁ÷³ÌΪ£º
1. ²âÊÔÓÃÀýͨ¹ýHttpÇëÇó½¨Á¢Óë selenium-RC server µÄÁ¬½Ó
2. Selenium RC Server Çý¶¯Ò»¸öä¯ÀÀÆ÷£¬°ÑSelenium Core¼ÓÔØÈëä¯ÀÀÆ÷Ò³Ãæµ±ÖУ¬²¢°Ñä¯ÀÀÆ÷µÄ´úÀíÉèÖÃΪSelenium
ServerµÄHttp Proxy
3. Ö´ÐÐÓÃÀýÏòSelenium Server·¢ËÍHttpÇëÇó£¬Selenium Server¶ÔÇëÇó½øÐнâÎö£¬È»ºóͨ¹ýHttp
Proxy·¢ËÍJSÃüÁî֪ͨSelenium CoreÖ´ÐвÙ×÷ä¯ÀÀÆ÷µÄ¶¯×÷²¢×¢Èë JS ´úÂë
4.Selenium CoreÖ´ÐнÓÊܵ½µÄÖ¸Áî²¢²Ù×÷
5. µ±ä¯ÀÀÆ÷ÊÕµ½ÐµÄÇëÇóʱ£¬·¢ËÍhttpÇëÇó
6. Selenium Server½ÓÊÕµ½ä¯ÀÀÆ÷·¢Ë͵ÄHttpÇëÇóºó£¬×Ô¼ºÖØ×éHttpÇëÇ󣬻ñÈ¡¶ÔÓ¦µÄWebÒ³Ãæ
7. Selenium ServerÖеÄHttp Proxy°Ñ½ÓÊܵ½µÄÒ³Ãæ·µ»Ø¸øä¯ÀÀÆ÷
Èý¡¢Selenium WebDriver
Selenium RCʹÓõÄÊÇJavaScript×¢Èë¼¼ÊõÓëä¯ÀÀÆ÷´ò½»µÀ£¬ÐèÒªSelenium
RCÆô¶¯Ò»¸öServer£¬½«²Ù×÷Web ÔªËØµÄAPIµ÷ÓÃת»¯ÎªÒ»¶Î¶ÎJavascript£¬ÔÚSeleniumÄÚºËÆô¶¯ä¯ÀÀÆ÷Ö®ºó×¢ÈëÕâ¶ÎJavascript¡£¿ª·¢¹ýWeb
Ó¦ÓõÄÈ˶¼ÖªµÀ£¬Javascript ¿ÉÒÔ»ñÈ¡²¢µ÷ÓÃÒ³ÃæµÄÈκÎÔªËØ£¬×ÔÈçµÄ½øÐвÙ×÷¡£Óɴ˲ÅʵÏÖÁËSelenium
µÄÄ¿µÄ£º×Ô¶¯»¯Web²Ù×÷¡£ÕâÖÖJavascript×¢Èë¼¼ÊõµÄȱµãÊÇËٶȲ»ÀíÏ룬¶øÇÒÎȶ¨ÐÔ´ó´óÒÀÀµÓÚSelenium
Äں˶ÔAPI·Òë³ÉµÄJavascript ÖÊÁ¿¸ßµÍ¡£
µ±Selenium2.xÌá³öÁËWebDriverµÄ¸ÅÄîÖ®ºó£¬ËüÌṩÁËÍêÈ«ÁíÍâµÄÒ»ÖÖ·½Ê½Óëä¯ÀÀÆ÷½»»¥¡£ÄǾÍÊÇÀûÓÃä¯ÀÀÆ÷ÔÉúµÄAPI£¬·â×°³ÉÒ»Ì׸ü¼ÓÃæÏò¶ÔÏóµÄSeleniumWebDriver
API£¬Ö±½Ó²Ù×÷ä¯ÀÀÆ÷Ò³ÃæÀïµÄÔªËØ£¬ÉõÖÁ²Ù×÷ä¯ÀÀÆ÷±¾Éí£¨½ØÆÁ£¬´°¿Ú´óС£¬Æô¶¯£¬¹Ø±Õ£¬°²×°²å¼þ£¬ÅäÖÃÖ¤ÊéÖ®ÀàµÄ£©¡£ÓÉÓÚʹÓõÄÊÇä¯ÀÀÆ÷ÔÉúµÄAPI£¬ËÙ¶È´ó´óÌá¸ß£¬¶øÇÒµ÷ÓõÄÎȶ¨ÐÔ½»¸øÁËä¯ÀÀÆ÷³§É̱¾Éí£¬ÏÔÈ»ÊǸü¼Ó¿ÆÑ§¡£È»¶ø´øÀ´µÄһЩ¸±×÷ÓþÍÊÇ£¬²»Í¬µÄä¯ÀÀÆ÷³§ÉÌ£¬¶ÔWebÔªËØµÄ²Ù×÷ºÍ³ÊÏÖ¶àÉÙ»áÓÐһЩ²îÒ죬Õâ¾ÍÖ±½Óµ¼ÖÂÁËSelenium
WebDriver Òª·Öä¯ÀÀÆ÷³§É̲»Í¬£¬¶øÌṩ²»Í¬µÄʵÏÖ¡£ÀýÈçFirefox¾ÍÓÐרÃŵÄFirefoxDriver£¬Chrome¾ÍÓÐרÃŵÄChromeDriverµÈµÈ¡££¨ÉõÖÁ°üÀ¨ÁËAndroidDriverºÍiOS
WebDriver£©
Æô¶¯SeleniumRCÖÁ½ñΪֹ»¹±£Áô×Å£¬Ó¦¸ÃÊÇ¿¼Âǵ½Ïòǰ¼æÈÝ¡£
Selenium RCÒªÇóÕæÊµµÄä¯ÀÀÆ÷»·¾³£¬¶øWebFriver¿ÉÒÔÖ±½Ó²Ù×÷HtmlUnitÇý¶¯£¬SeleniumÆô¶¯Firefox·Ç³£Âý£¬¶øWebFriver¿ÉÒÔͨ¹ýHtmlUnitÔÚϵͳÄÚ´æÖÐѸËÙµÄÖ´ÐУ¬µ«ÊÇÕâÁ½Õß¶¼²»·½±ãµ÷ÊÔ¡£Webdriver²»Ö§³Ö²¢ÐвâÊÔ£¬¶øSelenium
Grid¿ÉÒԸ㶨Õâ¸ö¡£WebFriverÒªÇóÕë¶Ôä¯ÀÀÆ÷Ñ¡Ôñ×îºÏÊʵÄÓïÑÔÀ´±àд½Å±¾£¬¶øÖÚËùÖÜÖª£¬³ÌÐòÔ±×ÜÊÇÏ£ÍûʹÓÃ×Ô¼ºÉó¤µÄÓïÑÔÀ´±àд½Å±¾£¬¹«Ë¾Ò²²»¿ÉÄÜÅɶà¸ö½Å±¾ÈËÔ±ÔÚÒ»¸öÏîÄ¿Öнö½öÊÇΪÁ˶àä¯ÀÀÆ÷Ö§³Ö¡£Òò´Ë£¬ÎÒÃÇÐèÒªÒ»¿î¹¤¾ß£¬ËüÄܹ»°ÑÁ½ÕßµÄÓŵ㼯ºÏÆðÀ´£¬Õâ¾ÍÊÇÎÒÃÇÏÂÃæ½éÉܵÄSelenium
2.0£¬¼´Selenium 1.0+Webdriver ¡£
Selenium2Ôö¼ÓÁËWebDriver£¬±£³ÖRCÏòǰ¼æÈÝ¡£WebDriverÏîÄ¿ÊÇÓÉSimon
Stewart´´½¨µÄ£¬ËüÊÇÒ»¸ö·Ç³£±ã½ÝµÄ×Ô¶¯»¯²âÊÔ¹¤¾ß¡£WebDriver¶Ô²»Í¬ä¯ÀÀÆ÷µÄ´¦Àí·½Ê½ºÍRCÓÐ×ÅÃ÷ÏԵIJ»Í¬£¬RCÊDz»¹Üʲôä¯ÀÀÆ÷¶¼ÊÇJavaScript
À´´¦Àí£¬¶øWebDriverÊÇÑ¡Ôñä¯ÀÀÆ÷×îÈÝÒ×½ÓÊܵÄÓïÑÔÀ´´¦Àí¡£±ÈÈ磬ÔÚIEÖУ¬C++×îºÏÊÊ£¬ÔÚFirefox
ÖУ¬ JavaScript×îºÏÊʵȵȡ£Í¨¹ýÁé»îÑ¡Ôñ×îºÏÊʵÄÓïÑÔÀ´´¦Àí¶àä¯ÀÀÆ÷£¬ÎÒÃÇ¿ÉÒԺܺõĻرÜijЩä¯ÀÀÆ÷¶ÔJavaScriptµÄ°²È«ÏÞÖÆ¡£¶øÇÒWebDriver²»½ö½ö¾ßÓÐÕâЩÄÜÁ¦£¬Ëü»¹Äܹ»µ÷ÓòÙ×÷ϵͳAPI£¬ÓÈÆäÊǵ±Óû§ÐèҪģÄâÊó±êºÍ¼üÅ̽øÐÐÕæÊǵÄÒ³Ãæ²Ù×÷µÄʱºò£¬ÕâÏîÄÜÁ¦µÄ×÷ÓÃÓÈΪÃ÷ÏÔ¡£
ÏÖÔÚÖ§³ÖµÄWebDriver£ºAndroidDriver,ChromeDriver,
FirefoxDriver, HtmlUnitDriver, EventFiringWebDriver
,InternetExplorerDriver , IPhoneDriver , IPhoneSimulatorDriver,
RemoteWebDriver¡£

ËÄ¡¢Selenium Grid
Selenium Grid·ÖΪ°æ±¾1ºÍ°æ±¾2£¬²¢²»ÊǺÍSeleniumµÄ°æ±¾1ºÍ2Ïà¶ÔÓ¦·¢²¼µÄ¡£ÏÖÔÚµÄSelenium
Grid»ù±¾ÄÜÖ§³Öselenium2 µÄËùÓй¦ÄÜÁË¡£Á½¸ö°æ±¾ÔÀíºÍ»ù±¾¹¤×÷·½Ê½¶¼ÊÇÒ»ÑùµÄ¡£Ö»Êǰ汾2ͬʱ֧³ÖSelenium1
ºÍSelenium2 Á½ÖÖÐÒ飬²¢ÇÒÔÚһЩСµÄ¹¦ÄܺÍÒ×ÓÃÐÔÉϽøÐÐÁËÓÅ»¯¡£

´«Í³µÄÎÞGridµÄģʽ£¬Ö»ÄÜÔÚһ̨»úÆ÷ÉϽøÐвâÊÔ¡£

Selenium¿ÉÒÔÔÚÉÏÃæÁ½ÖÖ·½Ê½Ï½øÐÐÖ´ÐУ¬µÚÒ»ÖÖÊÇÿ̨»úÆ÷¶¼ÊÇÒ»Öµģ¬µÚ¶þÖÖÊÇ¿ÉÒÔÖ¸¶¨Ìض¨µÄä¯ÀÀÆ÷»òÕßÌØ¶¨µÄ²Ù×÷ϵͳִÐС£
ÉÏÊöËĸö¹¤¾ßÊÇSeleniumµÄºËÐŤ¾ß£¬¹ØÏµÈçÏ¡£

³ýÁËÕâËĸö¹¤¾ßÍ⣬»¹ÓÐÁ½¸ö¹¤¾ß½éÉÜһϡ£
Îå¡¢¸¨Öú¹¤¾ßFireBug
FirebugÊÇFirefoxϵÄÒ»¸öÀ©Õ¹,Äܹ»·½±ãµÄ²é¿´ºÍµ÷ÊÔËùÓÐÍøÕ¾ÓïÑÔ£¬ÈçHtml,CssµÈ£¬²¢ÇÒÄܹ»½øÐÐJavaScript
µ÷ÊÔ¡£

Áù¡¢¸¨Öú¹¤¾ßFirePath
FirePathÀ©Õ¹FireBugµÄ¹¦ÄÜ¡£Äܹ»Ð޸ġ¢¼ì²é¡¢Éú²úXPathºÍCSSÑ¡Ôñ¶¨Î»Æ÷µÄ¹¦ÄÜ¡£Ìṩ×Ô¶¨ÒåµÄXPath
Öµ£¬Ö±½ÓÔÚÍøÒ³ÉϲâÊÔËûÃǵÄÕýÈ·ÐÔ¡£FireBugÒ»Ñù·µ»ØÄãÑ¡ÔñµÄÔªËØµÄXpath¡£XPathÊÇÓÃÓÚÔÚÍøÒ³ÉÏΨһµÄʶ±ðÔªËØµÄ¼¼Êõ£¬Ëü¾ÍÏñHTMLÔªËØµÄµØÖ·£¬±ÈÈçcheck
boxes¡¢text»òdivµÈ¡£ÔÚSeleniumÀÓÐÈËÈÏΪXPath ÊÇ×îÖµµÃÐÅÀµµÄ¶¨Î»Æ÷Ö®Ò»¡£

|