<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    安裝運行Appium初體驗

     最近有空玩了一下Appium,記錄一下
      1.下載Appium for windows,現在是0.12.3版本
      解壓后如下圖
      雙擊Appium.exe就能啟動Appium界面
      點擊Launch開啟服務
      2. 下載Android SDK
      解壓后
      3. 配置系統環境變量
      ANDROID_HOME: C:\adt-bundle-windows-x86_64-20131030\sdk
      Path添加: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
     4. 啟動AVD,耗資源啊,這時候我T400的CPU已經100%了
      5. 編寫Test,使用ADT安裝好Maven插件,創建一個Maven項目,添加一個文件夾apps用來存放被測的app,這里測試的是ContactManager.apk
      pom.xml添加如下依賴
    1   <dependencies>
    2     <dependency>
    3             <groupId>junit</groupId>
    4             <artifactId>junit</artifactId>
    5             <version>4.11</version>
    6             <scope>test</scope>
    7         </dependency>
    8         <dependency>
    9             <groupId>org.seleniumhq.selenium</groupId>
    10             <artifactId>selenium-java</artifactId>
    11             <version>LATEST</version>
    12             <scope>test</scope>
    13         </dependency>
    14   </dependencies>
     編寫AndroidContactsTest
    1 package com.guowen.appiumdemo;
    2
    3 import org.junit.After;
    4 import org.junit.Before;
    5 import org.junit.Test;
    6 import org.openqa.selenium.*;
    7 import org.openqa.selenium.interactions.HasTouchScreen;
    8 import org.openqa.selenium.interactions.TouchScreen;
    9 import org.openqa.selenium.remote.CapabilityType;
    10 import org.openqa.selenium.remote.DesiredCapabilities;
    11 import org.openqa.selenium.remote.RemoteTouchScreen;
    12 import org.openqa.selenium.remote.RemoteWebDriver;
    13 import java.io.File;
    14 import java.net.URL;
    15 import java.util.List;
    16
    17 public class AndroidContactsTest {
    18     private WebDriver driver;
    19
    20     @Before
    21     public void setUp() throws Exception {
    22         // set up appium
    23         File classpathRoot = new File(System.getProperty("user.dir"));
    24         File appDir = new File(classpathRoot, "apps/ContactManager");
    25         File app = new File(appDir, "ContactManager.apk");
    26         DesiredCapabilities capabilities = new DesiredCapabilities();
    27         capabilities.setCapability("device","Android");
    28         capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    29         capabilities.setCapability(CapabilityType.VERSION, "4.4");
    30         capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS");
    31         capabilities.setCapability("app", app.getAbsolutePath());
    32         capabilities.setCapability("app-package", "com.example.android.contactmanager");
    33         capabilities.setCapability("app-activity", ".ContactManager");
    34         driver = new SwipeableWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    35     }
    36
    37     @After
    38     public void tearDown() throws Exception {
    39         driver.quit();
    40     }
    41
    42     @Test
    43     public void addContact(){
    44         WebElement el = driver.findElement(By.name("Add Contact"));
    45         el.click();
    46         List<WebElement> textFieldsList = driver.findElements(By.tagName("textfield"));
    47         textFieldsList.get(0).sendKeys("Some Name");
    48         textFieldsList.get(2).sendKeys("Some@example.com");
    49         driver.findElement(By.name("Save")).click();
    50     }
    51
    52     public class SwipeableWebDriver extends RemoteWebDriver implements HasTouchScreen {
    53         private RemoteTouchScreen touch;
    54
    55         public SwipeableWebDriver(URL remoteAddress, Capabilities desiredCapabilities) {
    56             super(remoteAddress, desiredCapabilities);
    57             touch = new RemoteTouchScreen(getExecuteMethod());
    58         }
    59
    60         public TouchScreen getTouch() {
    61             return touch;
    62         }
    63     }
    64 }
      6. 運行Test,注意AVD里的Android如果沒有解鎖需要先解鎖
      這時候我們可以看到AVD在運行了,
      同時Appium的命令行有對應的輸出
      7. 更多信息請參考Appium的Github

    posted on 2014-11-27 11:57 順其自然EVO 閱讀(1364) 評論(0)  編輯  收藏 所屬分類: android

    <2014年11月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲视频在线观看不卡| 亚洲一区二区视频在线观看| 亚洲av无码乱码国产精品| 中文在线观看永久免费| 亚洲国产精品无码久久久不卡 | 亚洲成a人片在线网站| 最近新韩国日本免费观看| 久久精品亚洲一区二区三区浴池| 日韩免费人妻AV无码专区蜜桃| 91亚洲精品视频| 可以免费看黄视频的网站| 亚洲人成色77777在线观看| 国产又大又粗又硬又长免费| 狠狠热精品免费观看| 亚洲热妇无码AV在线播放| 暖暖日本免费中文字幕| 亚洲男女一区二区三区| 最近中文字幕免费mv视频8| 国产成人综合久久精品亚洲| 久久久久久亚洲精品不卡| 久久免费看少妇高潮V片特黄| 亚洲五月综合网色九月色| 日本成人在线免费观看| jizz在线免费观看| 久久综合亚洲鲁鲁五月天| 天堂在线免费观看中文版| 国产精品美女久久久免费| 久久久久亚洲AV无码永不| 日本免费一区尤物| 任你躁在线精品免费| 久久国产亚洲精品| 亚洲国产精品尤物YW在线观看| 日本人成在线视频免费播放| 亚洲综合成人婷婷五月网址| 亚洲日韩涩涩成人午夜私人影院| 国产va在线观看免费| 色欲aⅴ亚洲情无码AV| 亚洲an天堂an在线观看| 国产男女猛烈无遮档免费视频网站| 日韩免费高清播放器| 亚洲熟妇AV日韩熟妇在线|