¡¡¡¡1. ±³¾°½éÉÜ
¡¡¡¡Òƶ¯Ó¦Óõķ¢Õ¹ÓëÆÕ¼°ÈÕÒæѸËÙ£¬ÆäÖд󲿷ÖÓ¦ÓóÌÐòÐèÒª½øÐÐUI×Ô¶¯»¯
²âÊÔ¡£
AppiumÊÇÒ»¸ö¿ªÔ´µÄÒƶ¯Ó¦ÓÃ×Ô¶¯»¯¿ò¼Ü£¬ËüÖ§³Ö
Android¡¢iOSµÈ¶àÖÖƽ̨£¬¿ÉÒÔÓÃÓÚ
×Ô¶¯»¯²âÊÔÒƶ¯Ó¦ÓóÌÐòµÄUI¡£±¾ÎĽ«½éÉÜÈçºÎʹÓÃAppium½øÐÐÒƶ¯Ó¦ÓÃUI×Ô¶¯»¯£¬²¢Ì½ÌÖÆäºËÐĸÅÄî¡¢Ëã·¨ÔÀí¡¢×î¼Ñʵ¼ù¡¢Ó¦Óó¡¾°ºÍ¹¤¾ßÍƼö¡£
¡¡¡¡2. ºËÐĸÅÄîÓëÁªÏµ
¡¡¡¡2.1 AppiumµÄºËÐĸÅÄî
¡¡¡¡¡¤¿Í»§¶ËÇý¶¯£ºAppiumͨ¹ý¿Í»§¶ËÇý¶¯µÄ·½Ê½ÊµÏÖÒƶ¯Ó¦ÓóÌÐòµÄ×Ô¶¯»¯²âÊÔ£¬¿Í»§¶ËÇý¶¯µÄÒâ˼ÊÇͨ¹ý¿Í»§¶Ë£¨¼´Òƶ¯É豸£©ÉϵÄһЩ·þÎñÀ´¿ØÖÆÓ¦ÓóÌÐòµÄÔËÐС£
¡¡¡¡¡¤ ¿çƽ̨¼æÈÝ£ºAppiumÖ§³ÖAndroid¡¢iOSµÈ¶àÖÖƽ̨£¬¿ÉÒÔÓÃÓÚ×Ô¶¯»¯²âÊÔ²»Í¬Æ½Ì¨µÄÒƶ¯Ó¦ÓóÌÐò¡£
¡¡¡¡
¡¤ »ùÓÚWebDriver£ºAppiumÊÇ»ùÓÚ
Selenium WebDriverµÄ£¬Òò´Ë¾ßÓÐWebDriverµÄËùÓй¦ÄܺÍÌØÐÔ¡£
¡¡¡¡2.2 AppiumÓëÆäËû×Ô¶¯»¯¿ò¼ÜµÄÁªÏµ
¡¡¡¡¡¤ ÓëSeleniumµÄÁªÏµ£ºAppiumÊÇ»ùÓÚSelenium WebDriverµÄ£¬Òò´ËËü¾ßÓÐSeleniumµÄËùÓй¦ÄܺÍÌØÐÔ¡£Í¬Ê±£¬Appium»¹À©Õ¹ÁËSeleniumµÄ¹¦ÄÜ£¬Ê¹ÆäÊÊÓÃÓÚÒƶ¯Ó¦ÓóÌÐòµÄ×Ô¶¯»¯²âÊÔ¡£
¡¡¡¡
¡¤ ÓëRobotiumµÄÁªÏµ£ºRobotiumÊÇAndroidƽ̨µÄÒ»¸ö
×Ô¶¯»¯²âÊÔ¿ò¼Ü£¬ÓëAppiumÏà±È£¬RobotiumÖ»Ö§³ÖAndroidƽ̨£¬¶øAppiumÖ§³Ö¶àÖÖƽ̨¡£
¡¡¡¡3. ºËÐÄËã·¨ÔÀíºÍ¾ßÌå²Ù×÷²½ÖèÒÔ¼°ÊýѧģÐ͹«Ê½Ïêϸ½²½â
¡¡¡¡3.1 AppiumµÄºËÐÄËã·¨ÔÀí
¡¡¡¡AppiumµÄºËÐÄËã·¨ÔÀíÊÇ»ùÓÚWebDriverµÄ£¬¾ßÌå°üÀ¨£º
¡¡¡¡¡¤ Session¹ÜÀí£ºAppiumͨ¹ý´´½¨ºÍ¹ÜÀíWebDriver»á»°À´ÊµÏÖÓëÒƶ¯Ó¦ÓóÌÐòµÄͨÐÅ¡£
¡¡¡¡¡¤ ÔªËض¨Î»£ºAppiumʹÓÃWebDriverµÄÔªËض¨Î»²ßÂÔÀ´ÕÒµ½Òƶ¯Ó¦ÓóÌÐòÖеÄÔªËØ¡£
¡¡¡¡¡¤ ʼþ´¦Àí£ºAppiumͨ¹ýWebDriverµÄʼþ´¦Àí»úÖÆÀ´Ä£ÄâÓû§µÄ²Ù×÷£¬Èçµã»÷¡¢»¬¶¯µÈ¡£
¡¡¡¡3.2 ¾ßÌå²Ù×÷²½Öè
¡¡¡¡°²×°Appium·þÎñÆ÷£ºÊ×ÏÈÐèÒª°²×°Appium·þÎñÆ÷£¬¿ÉÒÔͨ¹ýnpm°²×°¡£
¡¡¡¡Æô¶¯Appium·þÎñÆ÷£ºÆô¶¯Appium·þÎñÆ÷ºó£¬Ëü»á¼àÌýÒ»¸ö¶Ë¿Ú£¬ÓÃÓÚÓë¿Í»§¶ËͨÐÅ¡£
¡¡¡¡Á¬½ÓÒƶ¯É豸£ºÍ¨¹ýUSBÏß½«Òƶ¯É豸Á¬½Óµ½¼ÆËã»ú£¬²¢ÔÚÒƶ¯É豸ÉÏ°²×°Appium¿Í»§¶Ë¡£
¡¡¡¡±àд×Ô¶¯»¯²âÊԽű¾£ºÊ¹ÓÃAppium¿Í»§¶ËµÄAPI±àд×Ô¶¯»¯²âÊԽű¾£¬½Å±¾ÖпÉÒÔ°üÀ¨Ò»ÏµÁеIJÙ×÷£¬Èç´ò¿ªÓ¦Óá¢ÊäÈëÎı¾¡¢µã»÷°´Å¥µÈ¡£
¡¡¡¡ÔËÐÐ×Ô¶¯»¯²âÊԽű¾£ºÍ¨¹ýAppium¿Í»§¶ËÏò·þÎñÆ÷·¢ËÍÇëÇó£¬Æô¶¯×Ô¶¯»¯²âÊԽű¾µÄÖ´ÐС£
¡¡¡¡3.3 ÊýѧģÐ͹«Ê½Ïêϸ½²½â
¡¡¡¡¡¤ ÓÉÓÚAppiumÊÇ»ùÓÚWebDriverµÄ£¬Òò´ËÆäÊýѧģÐÍÓëWebDriverÏàͬ¡£¾ßÌå°üÀ¨£º
¡¡¡¡ÔªËض¨Î»¹«Ê½£º$$
¡¡¡¡element = findElement(By.id("element_id"))
¡¡¡¡ÆäÖУ¬$By.id("element_id")$±íʾͨ¹ýÔªËØID¶¨Î»ÔªËØ¡£
¡¡¡¡¡¤ ²Ù×÷¹«Ê½£º$$
¡¡¡¡element.click()
¡¡¡¡±íʾµã»÷ÔªËØ¡£±íʾµã»÷ÔªËØ¡£
¡¡¡¡±íʾµã»÷ÔªËØ¡£
¡¡¡¡¡¤ ʼþ´¦Àí¹«Ê½£º$$
¡¡¡¡Actions.moveToElement(element).click().perform()
¡¡¡¡±íʾÒƶ¯µ½ÔªËز¢µã»÷¡£±íʾÒƶ¯µ½ÔªËز¢µã»÷¡£±íʾÒƶ¯µ½ÔªËز¢µã»÷¡£
¡¡¡¡4. ¾ßÌå×î¼Ñʵ¼ù£º´úÂëʵÀýºÍÏêϸ½âÊÍ˵Ã÷
¡¡¡¡4.1 ´úÂëʵÀý
¡¡¡¡ÒÔÏÂÊÇÒ»¸öʹÓÃAppium½øÐÐÒƶ¯Ó¦ÓÃUI×Ô¶¯»¯µÄ´úÂëʵÀý£º
¡¡¡¡import org.openqa.selenium.By;
¡¡¡¡import org.openqa.selenium.WebElement;
¡¡¡¡import org.openqa.selenium.remote.DesiredCapabilities;
¡¡¡¡import io.appium.java_client.AppiumDriver;
¡¡¡¡import io.appium.java_client.android.AndroidDriver;
¡¡¡¡import io.appium.java_client.android.AndroidElement;
¡¡¡¡public class AppiumExample {
¡¡¡¡ public static void main(String[] args) {
¡¡¡¡ // ÉèÖÃÒƶ¯É豸µÄƽ̨ºÍÓ¦ÓóÌÐò
¡¡¡¡ DesiredCapabilities capabilities = new DesiredCapabilities();
¡¡¡¡ capabilities.setCapability("platformName", "Android");
¡¡¡¡ capabilities.setCapability("app", "/path/to/your/app.apk");
¡¡¡¡ // Æô¶¯Appium·þÎñÆ÷
¡¡¡¡ AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
¡¡¡¡ // ͨ¹ýÔªËØID¶¨Î»ÔªËØ
¡¡¡¡ WebElement element = driver.findElement(By.id("element_id"));
¡¡¡¡ // µã»÷ÔªËØ
¡¡¡¡ element.click();
¡¡¡¡ // ¹Ø±ÕAppium·þÎñÆ÷
¡¡¡¡ driver.quit();
¡¡¡¡ }
¡¡¡¡}
¡¡¡¡4.2 Ïêϸ½âÊÍ˵Ã÷
¡¡¡¡ÉèÖÃÒƶ¯É豸µÄƽ̨ºÍÓ¦ÓóÌÐò£ºÍ¨¹ýDesiredCapabilitiesÀàÉèÖÃÒƶ¯É豸µÄƽ̨£¨Android»òiOS£©ºÍÓ¦ÓóÌÐòµÄ·¾¶¡£
¡¡¡¡Æô¶¯Appium·þÎñÆ÷£ºÍ¨¹ýAndroidDriverÀàÆô¶¯Appium·þÎñÆ÷£¬²¢´«Èë·þÎñÆ÷µÄURL¡£
¡¡¡¡Í¨¹ýÔªËØID¶¨Î»ÔªËØ£ºÊ¹ÓÃfindElement·½·¨Í¨¹ýÔªËØID¶¨Î»ÔªËØ¡£
¡¡¡¡µã»÷ÔªËØ£ºµ÷ÓÃÔªËصÄclick·½·¨£¬ÊµÏÖµã»÷²Ù×÷¡£
¡¡¡¡¹Ø±ÕAppium·þÎñÆ÷£ºµ÷ÓÃdriver.quit()·½·¨¹Ø±ÕAppium·þÎñÆ÷¡£
¡¡¡¡5. ʵ¼ÊÓ¦Óó¡¾°
¡¡¡¡AppiumµÄʵ¼ÊÓ¦Óó¡¾°°üÀ¨£º
¡¡¡¡
¡¤Òƶ¯Ó¦ÓóÌÐòµÄ
¹¦ÄܲâÊÔ£ºÍ¨¹ýAppium×Ô¶¯»¯²âÊÔÒƶ¯Ó¦ÓóÌÐòµÄ¹¦ÄÜ£¬È·±£Ó¦ÓóÌÐòµÄÕýÈ·ÐԺͿɿ¿ÐÔ¡£
¡¡¡¡
¡¤ Òƶ¯Ó¦ÓóÌÐòµÄ
ÐÔÄܲâÊÔ£ºÍ¨¹ýAppium×Ô¶¯»¯²âÊÔÒƶ¯Ó¦ÓóÌÐòµÄÐÔÄÜ£¬ÈçÆô¶¯Ê±¼ä¡¢ÏìӦʱ¼äµÈ¡£
¡¡¡¡¡¤ Òƶ¯Ó¦ÓóÌÐòµÄÓû§ÌåÑé²âÊÔ£ºÍ¨¹ýAppium×Ô¶¯»¯²âÊÔÒƶ¯Ó¦ÓóÌÐòµÄÓû§ÌåÑ飬Èç½çÃæ²¼¾Ö¡¢½»»¥Ð§¹ûµÈ¡£
¡¡¡¡6. ×ܽ᣺δÀ´·¢Õ¹Ç÷ÊÆÓëÌôÕ½
¡¡¡¡AppiumÊÇÒ»¸ö·Ç³£ÓÐÇ°¾°µÄÒƶ¯Ó¦ÓÃ×Ô¶¯»¯¿ò¼Ü£¬ËüµÄδÀ´·¢Õ¹Ç÷ÊÆ°üÀ¨£º
¡¡¡¡Ö§³Ö¸ü¶àƽ̨£ºAppium½«¼ÌÐøÀ©Õ¹ÆäÖ§³ÖµÄƽ̨£¬ÒÔÂú×㲻ͬÒƶ¯É豸µÄ×Ô¶¯»¯²âÊÔÐèÇó¡£
¡¡¡¡Ìá¸ßÐÔÄÜ£ºAppium½«¼ÌÐøÓÅ»¯ÆäÐÔÄÜ£¬ÒÔÌá¸ßÒƶ¯Ó¦ÓóÌÐòµÄ×Ô¶¯»¯²âÊÔЧÂÊ¡£
¡¡¡¡Ìá¸ß¿ÉÓÃÐÔ£ºAppium½«¼ÌÐøÌá¸ßÆä¿ÉÓÃÐÔ£¬ÒÔ±ã¸ü¶à¿ª·¢ÕߺͲâÊÔÈËÔ±¿ÉÒÔÇáËÉʹÓá£
¡¡¡¡ÌôÕ½°üÀ¨£º
¡¡¡¡¼æÈÝÐÔÎÊÌ⣺ÓÉÓÚAppiumÊÇ»ùÓÚWebDriverµÄ£¬Òò´ËËü¿ÉÄÜ»áÓöµ½ÓëWebDriver¼æÈÝÐÔÎÊÌâ¡£
¡¡¡¡ÐÔÄÜÆ¿¾±£ºÓÉÓÚAppiumÐèҪͨ¹ýÍøÂçÓëÒƶ¯É豸ͨÐÅ£¬Òò´Ë¿ÉÄÜ»áÓöµ½ÐÔÄÜÆ¿¾±¡£
¡¡¡¡Ñ§Ï°ÇúÏߣºAppiumµÄѧϰÇúÏßÏà¶Ô½Ï¶¸£¬ÐèÒª¿ª·¢Õ߾߱¸Ò»¶¨µÄWebDriver֪ʶ¡£
¡¡¡¡±¾ÎÄÄÚÈݲ»ÓÃÓÚÉÌҵĿµÄ£¬ÈçÉ漰֪ʶ²úȨÎÊÌ⣬ÇëȨÀûÈËÁªÏµ51TestingС±à(021-64471599-8017)£¬ÎÒÃǽ«Á¢¼´´¦Àí