android 自動化測試:Appium

jopen 10年前發布 | 40K 次閱讀 Appium 測試工具

1、安裝 nodejs 測試安裝是否成功:運行cmd,輸入命令node -v

2、安裝 android 的 sdk 包,由于本人的用的是普通eclipse 只要eclipse 上安裝ADT 插件,且并確保你安裝了Level17或以上的版本 api。設置ANDROID_HOME 系統變量為你的 Android SDK 路徑,并把toolsplatform-tools兩個目錄加入到系統的 Path路徑里。

3、安裝 maven 插件

4、安裝appium:在cmd使用命令 npm install –g appium 

5、在cmd啟動appium
android 自動化測試:Appium
 

6、運行實例代碼

package com.saucelabs.appium;

import java.io.File;
import java.net.URL;
import java.util.List;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Capabilities;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasTouchScreen;
import org.openqa.selenium.interactions.TouchScreen;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteTouchScreen;
import org.openqa.selenium.remote.RemoteWebDriver;

public class AndroidContactsTest {
  public class SwipeableWebDriver extends RemoteWebDriver implements
      HasTouchScreen {
    private final RemoteTouchScreen touch;

    public SwipeableWebDriver(final URL remoteAddress,
        final Capabilities desiredCapabilities) {
      super(remoteAddress, desiredCapabilities);
      touch = new RemoteTouchScreen(getExecuteMethod());
    }

    public TouchScreen getTouch() {
      return touch;
    }
  }

  private WebDriver driver;

  @Test
  public void addContact() {
    final WebElement el = driver.findElement(By.name("Add Contact"));
    el.click();
    final List<WebElement> textFieldsList = driver.findElements(By
        .tagName("textfield"));
    textFieldsList.get(0).sendKeys("Some Name");
    textFieldsList.get(2).sendKeys("Some@example.com");
    driver.findElement(By.name("Save")).click();
  }

  @Before
  public void setUp() throws Exception {

    final File app = new File(
        "C:/Users/Administrator/Desktop/appium/appium-master/sample-code/apps/ContactManager/ContactManager.apk");
    final DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("device", "Android");
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    capabilities.setCapability(CapabilityType.VERSION, "4.2");
    capabilities.setCapability(CapabilityType.PLATFORM, "MAC");
    capabilities.setCapability("app", app.getAbsolutePath());
    capabilities.setCapability("app-package",
        "com.example.android.contactmanager");
    capabilities.setCapability("app-activity", ".ContactManager");
    driver = new SwipeableWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),
        capabilities);
  }

  @After
  public void tearDown() throws Exception {
    driver.quit();
  }
}
代碼從放的地址 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!