Appium--入門demo


 

    Appium環境搭建已經在在博客中寫出

http://www.cnblogs.com/feimaoyuzhubaobao/p/5057832.html   那么本篇博客主要介紹java版本的appium入門demo。在開始demo之前,Android模擬器要安裝好,其實模擬器就是模擬器真機,除了不能打電話和發信息,其他應該都可以的。模擬器的話在這里還可以安裝genymotion,其實它不是普通的模擬器,嚴格來說,genymotion是虛擬機,被網傳定義為模擬器。想安裝這款模擬器的話。我在這里提供安裝文件地址 http://yun.baidu.com/s/1pJC6ve7 和我自己在官網上注冊號的賬號和密碼:feimao ,feimao12345。genymotion安裝文件比較多,效果確實比前面AVD.exe模擬器要快些。我就不再贅述模擬器了,下面開始正式appium入門demo。

 

使用Eclipse創建demo工程

 

    1.打開Eclipse,【File】-->【New】-->【Project】

    2.選擇【Java Project】-->【Next】

    3.輸入工程名稱AppiumDemo,點擊【Finish】

     

    4.右鍵點擊工程 New-Folder,新建兩個文件夾:apps和libs,目錄結構如下:

     

 

導入測試的類庫

 

    由於Appium 驅動蘋果的 UIAutomation 庫和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 協議。所以selenium類庫是要導入的。

    1.Selenum2類庫: http://seleniumhq.org/downlod

   

    做過selenium自動化的朋友這塊應該是熟悉的,就不多講了。

    2.Appium類庫: http://appium.io/downloads.html

    3.右鍵點擊工程空白處,選擇【Build Path】-->【Configure Build Path】

  

    selenium的類庫我導入比較多哈,不影響的。

 

下載測試APK

 

    1.下載測試的文件

    ContactManager.apk  https://github.com/appium/sample-code/tree/master/sample-code/apps/ContactManager

    2.將下載的apk直接復制黏貼到項目的apps目錄下

    

 

建立package包和demo文件

 

    1.在src文件夾上右鍵單擊,【New】-->【package】,輸入包名: com.feimao.demo,點擊【Finish】

    2.在package下新建類:ContactTest.java

    下載地址如下:  

    https://github.com/appium/sample-code/tree/master/sample-code/examples/java/junit/src/test/java/com/saucelabs/appium

    代碼如下:

  

package com.feimao.demo;

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.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;

public class ContactTest {
    private AndroidDriver driver; 
    @Before
    public void setUp() throws Exception {
        //設置apk的路徑
        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.2");
        //設置apk路徑
        capabilities.setCapability("app", app.getAbsolutePath()); 
        
        //設置app的主包名和主類名
        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);       
    }
 
    @Test
    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("feimaoyuzhubaobao");
        textFieldsList.get(2).sendKeys("forever together");
        driver.swipe(100, 500, 100, 100, 2);
        driver.findElementByName("Save").click();
    }    
    
    @After
    public void tearDown() throws Exception {
        driver.quit();
    }
}

 

 

 啟動Android模擬器(也可以連接真機)

 

    1.cmd輸入:android avd,選擇模擬器,點擊【Start】即可。如果你在eclipse中集成了插件,那么在eclipse中也可以直接啟。

    

    

 

    2.啟動好后,cmd輸入:adb devices,確定設備是否連接上,如下圖連接成功:

    

 

 啟動Appium

 

     1.由於之前安裝好了appium,那么直接雙擊,然后點擊啟動按鈕

    

 

    2.cmd命令,appium 啟動

    

 

運行Appium入門demo

 

    1.在eclipse中,項目右鍵>【Run As】>【JUnit Test】,運行過程如下: 

     

 

    到這里appium的入門demo已經全部寫完了,這只是一個模擬呼叫聯系人的例子,然后可以模擬此demo,寫登錄啊、定位元素啊等等。appium定位元素的方法貌似有9種,后續還會寫一些工作中的例子和解決appium問題的方法。另外還可以去官網上下載源代碼來看,看它的原理,看它的API等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM