1. 程式人生 > >(更新2017.05.08)Appium(JAVA)Windows 7系統搭建及示例執行

(更新2017.05.08)Appium(JAVA)Windows 7系統搭建及示例執行

1、搭建Android環境

注:需要設定系統變數“ANDROID_HOME”。

2、下載安裝Eclipse及ADT

3、安裝Microsoft .NET Framework 4.5

3、安裝Appium(安裝前必須安裝上一步的Microsoft .NET Framework 4

(1)下載地址:

下載完畢後直接執行appium-desktop-Setup-1.0.0.exe 安裝直至完畢。

4、建立虛擬機器或使用實際裝置

建立一個4.4.2的虛擬機器

5、建立Java工程(Eclipse)

(1)啟動Eclipse;

(2)點選“File”>“New”>“Project...”;

(3)選擇點選“Java Project”;

(4)“Project name”輸入“AppiumDemo”;

(5)點選“Finish”,彈出對話方塊點選“yes”;


(6)“src”目錄滑鼠右鍵“New”>“Package”,輸入“com.test”(此處可以自己定義);

(7)在“com.test”滑鼠右鍵“New”>“Class”,輸入Name為“AppiumTest”,並點選“Finish”按鈕;

(8)匯入Selenium類庫

  • 解壓縮到本地;
  • 在專案滑鼠右鍵點選“Properties”,點選左側欄“Java Build Path”,點選“Libraries”,點選“Add External JARs”按鈕,選擇本地jar檔案新增。


注:需要匯入兩個Jar,一個是客戶端,一個是服務端,服務端庫不匯入會導致執行時報錯。

(9)匯入Appium類庫(方法同上)

注:此處如果選擇下載最新的2.0以上的版本,會導致編譯newAppiumDriver時報錯。解決辦法見:

http://blog.csdn.net/zhubaitian/article/details/39717889 


6、執行Appium示列

(1)下載示例程式

並將該apps放到當前專案的apps目錄下(目錄自行建立)


(2)下載示例程式測試

內容經過更改如下

package com.Demo;
 
import io.appium.java_client.AppiumDriver;
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 java.io.File;
import java.net.URL;
import java.util.List;
 
public class AppDemo {
    private AppiumDriver driver;
 
    @Before
    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 AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }
 
    @After
    public void tearDown() throws Exception {
        driver.quit();
    }
 
    @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("Some Name");
        textFieldsList.get(2).sendKeys("
[email protected]
"); driver.swipe(100, 500, 100, 100, 2); driver.findElementByName("Save").click(); } }

(3)啟動android4.4.2虛擬機器

(4)命令列啟動後輸入:appium


(5)專案右鍵>“Run As”>“JUnit Test”(選擇Eclipse JUnit Launcher)

       以上步驟確認可以執行成功,但由於筆者也是剛接觸Appium,可能存在遺漏,也請大家幫忙指出,另外也可以使用maven和相關Eclipse外掛會更方便些,網上例子很多可自行查詢。


相關推薦

(更新2017.05.08AppiumJAVAWindows 7系統搭建示例執行

1、搭建Android環境 注:需要設定系統變數“ANDROID_HOME”。 2、下載安裝Eclipse及ADT 3、安裝Microsoft .NET Framework 4.5 3、安裝Appium(安裝前必須安裝上一步的Microsoft .NET Fr

AppiumJAVAWindows 7系統搭建示例執行

1、搭建Android環境 注:需要設定系統變數“ANDROID_HOME”。 2、安裝Node.js 下載相關作業系統的版本 安裝過程,一路“Next”。 3、安裝Appium (1)下載地址:http://appium.io/ 下載完畢後解壓

資料結構與演算法2—— 棧java

1 棧的實現 1.1 簡單陣列實現棧 package mystack; public class ArrayStack { private int top; //當前棧頂元素的下標 private int[] array; public ArraySt

資料結構與演算法3—— 佇列java

1 陣列實現的佇列 public class ArrayQueue { private String[] items; private int n=0; //陣列的大小 private int head

AngluarJSJava端分離微信授權

1、前端請求正常介面,進入攔截器,後臺從Cookie中沒取到值,返回54000給前端。 2、由前端頁面發起授權跳轉(跳轉到微信官方的那個授權介面)。 3、使用者點選同意後,跳轉後臺介面接收code。 4、後端通過code獲取使用者的access_token和openid,然後獲取使用者資訊,進行登入/註冊,將

Nginx代理 + TomcatJava + ApachePHP 共用80埠,叢集

問題闡述:很多時候我們一臺伺服器同時安裝了 java執行環境、php執行環境、.net執行環境,不同的環境會使用不同的埠,那麼訪問的時候就需要用不同的埠來訪問專案,顯然這對使用者的友好度不行。文章目的:解決的核心問題是:使用一個80埠,根據域名或者子域名 同時訪問java +

Spark+ECLIPSE+JAVA+MAVEN windows開發環境搭建入門例項【附詳細程式碼】

前言 本文旨在記錄初學Spark時,根據官網快速入門中的一段Java程式碼,在Maven上建立應用程式並實現執行。 首先推薦一個很好的入門文件庫,就是CSDN的Spark知識庫,裡面有很多spark的從入門到精通的形形色色的資料, 1.開發軟體恭喜你,拿到spark駕考

2017面向對象程序設計Java 第1周學習指導要求2017.8.24-2017.8.27

令行 str applet 面向 學習目標 對象 com 變量 課程學習 2017面向對象程序設計(Java) 第1周學習指導及要求(2017.8.24-2017.8.27) 學習目標 了解課程上課方式及老師教學要求,掌握課程學習必要的軟件工具; 簡單了解Java特點

對於“2017面向對象程序設計Java第五周工作總結”存在問題的反饋本周教學計劃

語法 調整 特點 構造 選擇 問題 關於 答疑 功夫 一:問題反饋 “上周我們學習的新內容主要是第五章,並對第四章內容做了鞏固。從學生上交的實驗報告完成情況以及學習Java心得博客中的反饋可以看出,學生對構造器、重載、超類、多態、抽象類這幾個概念理解的不到位,仍有困惑,在具

HDU——1166敵兵佈陣 單點更新,區間求和java

C國的死對頭A國這段時間正在進行軍事演習,所以C國間諜頭子Derek和他手下Tidy又開始忙乎了。A國在海岸線沿直線佈置了N個工兵營地,Derek和Tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數C國都掌握的一清二楚,每個工兵營地的人數都有可能發生

CCF CSP 2017 12-1 最小差值 java

問題描述試題編號:201712-1試題名稱:最小差值時間限制:1.0s記憶體限制:256.0MB問題描述:問題描述  給定n個數,請找出其中相差(差的絕對值)最小的兩個數,輸出它們的差值的絕對值。輸入格式  輸入第一行包含一個整數n。  第二行包含n個正整數,相鄰整數之間使用

2017 暑期實習校園招聘Java後臺開發方向面經分享

分享一下我這兩個月裡找暑期實習過程中記錄總結的面試經驗吧,希望能對大家有所幫助。本人研二,電子科學與技術專業,本科電子資訊科學與技術專業,有三個多月的java開發實習經驗,暑期實習投遞的是Java研發工

Appium左右、上下滑動Java

網上很多文章都說用swipe來左右滑動,你把程式碼一貼,結果報錯,看半天,原來是java-client中swipe早就被廢除了!!!下面介紹一種Java寫法來左右上下滑動: 首先,建立一個Swipe類 import org.openqa.selenium.

2017華為校招粵港澳廣州場it應用軟體開發java面經

先說整個流程吧,我走的華為校招通道。在官網投了簡歷後會有線上程式設計題(9.23)和線上性格測試(9.24),接下來就是面試(10.11),面試完就是等結果了,先是簡訊通知通過面試進入offer資源池(10.16)然後是簡訊通知簽約邀請(10.26),收到簽約邀請就是拿到o

2017第八屆藍橋杯 01 外星日曆java

標題:外星日曆某星系深處發現了文明遺蹟。他們的計數也是用十進位制。他們的文明也有日曆。日曆只有天數,沒有年、月的概念。有趣的是,他們也使用了類似“星期”的概念,只不過他們的一個星期包含了9天,為了方便,這裡分別記為: A,B,C....H,I從一些資料上看到,他們的23日是星

排序算法之高速排序Java

大於 一個數 大小 main div 移動 swap 交換 system //高速排序 public class Quick_Sort { // 排序的主要算法 private int Partition(int[] data, int start, int en

session與cookie-----2017-05-08

之前 控制 uid -- 5-0 php代碼 會話 默認 安全性 會話控制:目的是記錄不同用戶身份。 1、session:有實效性 特點: (1)存在在服務器 (2)每個用戶都會存一份 (3)可以存儲任意類型的數據 優點:安全性高 缺點:服務器壓力過大 2、

2017/05/08學習筆記

信號量 存儲器 運行時 程序代碼 數據位 內容 提高 加載 數據區 我們將處理器的指令集架構和處理器的微體系結構區分開來:指令集架構描述的是每條機器代碼效果,而微體系結構描述的是處理器實際上是如何實現的。 運行程序 當我們在鍵盤上輸入字符串./hello後,shell程序將

《劍指offer》面試題39 二叉樹的深度java

設計模式 博客 rgs 歷史 存在 復制 pri 取值 今天 摘要: 今天翻到了《劍指offer》面試題39,題目二中的解法二是在函數的參數列表中通過指針的方式進行傳值,而java是沒有指針的,所以函數要進行改造。然而我翻了下別人的java版本(我就想看看有什麽高大上的改造

selenium測試Java--元素操作

ear 獲取驗證碼 wid 輸入 static pri 元素 sta email 元素的操作有 1. 清除文本 2. 模擬按鍵輸入 3. 單擊元素 4. 返回元素尺寸 5. 獲取文本 6. 獲取屬性值 7. 判斷是否可見 8. 提交 下面通過操