appium java 環境搭建

appium是一款open source 移動自動化測試框架,既支持Android 也支持IOS。java

appium 基於webdriver協議執行測試腳本。node

今天,如炒剩飯,介紹一下搭建appium Android環境android

須要:web

首先,下載安裝appium for windows,在環境變量path添加";C:\Program Files\nodejs;C:\Program Files (x86)\Appium\node_modules\.bin;"windows

接下來 安裝node js,安裝完畢再環境變量path 添加安裝路徑「;C:\Program Files\nodejs」app

驗證 node js:在命令行輸入node -v,會輸出v0.12.4框架

而後安裝Android SDK,並添加環境變量:ANDROID_HOMEeclipse

並在path添加";%ANDROID_HOME%\platform-tools"測試

驗證 appium:在命令行輸入appium-doctor,若是結果以下,證實 環境搭建成功ui

接下來能夠在eclipse建立一個java project

在project 新建apps的folder 把ContactManager.apk copy進去

 

注意, 本文使用Testng,不是eclipse自帶的junit,自行百度

添加appium example:

package com.dbyl.core;
 
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
 


import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import io.appium.java_client.android.AndroidDriver;

import java.io.File;
import java.net.URL;
import java.util.List;
 
public class AppDemo {
    private  AndroidDriver  driver;
 
    @BeforeMethod(alwaysRun=true)
    public void setUp() throws Exception {
        // set up appium
        File classpathRoot = new File(System.getProperty("user.dir"));
        File appDir = new File(classpathRoot, "apps");
        File app = new File(appDir, "ContactManager.apk");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("deviceName","Android Emulator");
        capabilities.setCapability("platformVersion", "4.4");
        capabilities.setCapability("app", app.getAbsolutePath());
        capabilities.setCapability("appPackage", "com.example.android.contactmanager");
        capabilities.setCapability("appActivity", ".ContactManager");
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }
 
    @AfterMethod(alwaysRun=true)
    public void tearDown() throws Exception {
        driver.quit();
    }
 
    @Test(groups={"addContact"})
    public void addContact(){
        WebElement el = driver.findElement(By.name("Add Contact"));
        el.click();
        List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
        textFieldsList.get(0).sendKeys("Some Name");
        textFieldsList.get(1).sendKeys("10086");
        textFieldsList.get(2).sendKeys("Some@example.com");
        driver.swipe(100, 500, 100, 100, 2);
        driver.findElementByName("Save").click();
    }
}

若是,你看到一片報錯,那就對了,說明相關依賴包並無導入。

這時候,你須要將如下2個jar 包import(selenium-standalone 和 java-client)

若執行case,首先在啓動一個本地的Android模擬器

而後在命令行輸入:appium

等待命令行出現如下提示:

而後run as testng test

大功告成

相關資料: ContactManager.apk 下載地址:http://pan.baidu.com/s/1i3KlNrZ

           java-client 2.2 : http://pan.baidu.com/s/1pJ7Opsv

              selenium standalone 4.6:http://pan.baidu.com/s/1qWE7SD2

相關文章
相關標籤/搜索