1. 程式人生 > >windows下搭建appium+android測試環境(node.js樣例)

windows下搭建appium+android測試環境(node.js樣例)

安裝 Appium

Appium是開源的自動化測試框架,主要用於iOS,Android以及Windows apps等移動平臺的自動化測試。官網的介紹說是它實現一套適用於移動端的WebDriver協議,所以使用Appium時用的還是依賴於Selenium,和Web自動化測試的主要區別就在Driver不一樣。

舉一個例子,如果我們需要用Google Chrome來跑Selenium的自動化測試,那麼首先需要一個ChromeDriver。如果需要跑在IE上,那麼需要一個IEDriver。那麼現在需要在移動端比如Android裡跑Selenium,這時候你需要一個Appium就夠了,它擔當了Driver的角色。Appium實現了一套標準的WebDriver,只要Appium服務起來之後,你的程式碼只需要和Appium互動,Appium會去告訴裝置該幹嘛幹嘛。這裡提到的裝置可以是iOS或者Android,甚至是Windows Phone 和Firefox OS。

安裝方式一: 使用NodeJS 安裝

首先到NodeJS官網下載安裝最新的NodeJS,Windows下屬於傻瓜安裝。安裝好之後你可以配置NodeJS的安裝源,在國內一般都用taobao的映象,速度還不錯。

在個人目錄下新建一個 .npmrc 檔案,寫入:

1
registry=https://registry.npm.taobao.org/

然後使用npm命令安裝 Appium

1
npm install -g appium

建議順便安裝一下appium-doctor,通過執行appium-doctor命令可以快速檢查appium的環境問題。

1
npm install -g appium-doctor

如果安裝成功,那麼就可以通過appium命令啟動appium server。

appium-start

關閉命令列或者按 Ctrl - C 就可以停止 Appium Server。

安裝方式二: 使用Appium安裝包

網上很多教程所引導的Appium安裝包一般在百度網盤或者bitbucket裡,其實這兩者都不是最新的。最新版的安裝包應該從官網下載,Appium 目前託管在github,正確的下載地址應該為:

最新版的Appium 桌面安裝後啟動是這樣的。

appium-desktop

功能上和老的版本沒太大區別,但是日誌和UI顯示更加清晰,一旦錯誤發生讓你更容易找到問題所在。

appium-desktop-error

注意,你可以不安裝Appium 桌面版,但是命令列版應該還是需要安裝的,因為自動化測試執行時一般都是通過命令啟動和關閉Appium,桌面版並不提供命令列功能,只是為了除錯方便。

必要的環境變數設定

如果你已經安裝了appium-doctor,那麼你只要執行appium-doctor命令就可以知道你還需要設定哪些環境變數,比如:

appium-doctor

不要慌,其實你只需要設定以下環境變數:

環境變數
ANDROID_HOME Android SDK 的安裝位置
JAVA_HOME JDK 或者 JRE 的安裝位置
加入 PATH %ANDROID_HOME%\tools
加入 PATH %ANDROID_HOME%\platform-tools
加入 PATH %JAVA_HOME%\bin
加入 PATH %ANDROID_HOME%\build-tools\??version?? (可選)

最後一個環境變數是為了更方便地使用aapt這個工具,完成環境變數配置後你可以再次執行appium-doctor進行檢查。不出意外,你應該能通過檢查。

Node.js測試用例

"use strict";

require("./helpers/setup");

var wd = require("wd"),
    _ = require('underscore'),
    serverConfigs = require('./helpers/appium-servers');

describe("android simple", function () {
  this.timeout(300000);
  var driver;
  var allPassed = true;

  before(function () {
    var serverConfig = process.env.npm_package_config_sauce ?
      serverConfigs.sauce : serverConfigs.local;
    driver = wd.promiseChainRemote(serverConfig);
    require("./helpers/logging").configure(driver);

    var desired = process.env.npm_package_config_sauce ?
      _.clone(require("./helpers/caps").android) :
      _.clone(require("./helpers/caps").android);
    // desired.app = require("./helpers/apps").taobaoApp;
    if (process.env.npm_package_config_sauce) {
      desired.name = 'android - simple';
      desired.tags = ['sample'];
    }
    return driver
      .init(desired)
      .setImplicitWaitTimeout(3000);
  });

  after(function () {
    return driver
      .quit()
      .finally(function () {
        if (process.env.npm_package_config_sauce) {
          return driver.sauceJobStatus(allPassed);
        }
      });
  });

  afterEach(function () {
    allPassed = allPassed && this.currentTest.state === 'passed';
  });

  it("should find an element", function () {
    return driver
      .elementByAccessibilityId('Graphics')
      .click()
      .elementByAccessibilityId('Arcs')
        .should.eventually.exist
      .back()
      .elementByName('App')
        .should.eventually.exist
      .elementsByAndroidUIAutomator('new UiSelector().clickable(true)')
        .should.eventually.have.length(12)
      .elementsByAndroidUIAutomator('new UiSelector().enabled(true)')
        .should.eventually.have.length.above(20)
      .elementByXPath('//android.widget.TextView[@text=\'API Demos\']')
        .should.exists;
  });
});
caps.js
exports.android = {
    // browserName: '',
    'appium-version': '1.7.2',
    platformName: 'Android',
    platformVersion: '5.1',
    deviceName: 'emulator-5554',
    appActivity:'com.taobao.tao.homepage.MainActivity3',
    appPackage:'com.taobao.taobao'
    // app: undefined // will be set later
};


部分轉載至:https://betacat.online/posts/2017-05-03/setup-appium-automation-test-environment/

相關推薦

windows搭建appium+android測試環境node.js

安裝 Appium Appium是開源的自動化測試框架,主要用於iOS,Android以及Windows apps等移動平臺的自動化測試。官網的介紹說是它實現一套適用於移動端的WebDriver協議,所以使用Appium時用的還是依賴於Selenium,和Web自動化測試的

在linux環境搭建java web測試環境非常詳細!!

一.專案必備軟體及基本思路 專案必備:虛擬機器:VMware Workstation (已安裝linux的 CentOS6.5版本) 專案:java web專案 (必須在本地部署編譯後選擇專案的webRoot,改為ROOT(ROOT包含下面四個關鍵檔案),放到tomcat下的webapps

Windows 搭建 Appium + Android+python 自動化測試環境

細節 事情 android view package 效果 框架 比較 framework 前言 本來並不打算寫這麽一篇文章,但是實踐下來發現網上的各種教程裏大致有兩個問題。一是文章有些跟不上時代,目前android開發和測試的技術更新都比較快,內容有些過期。二是細節部分不

開發環境-Windows搭建JAVA Web開發環境含Tomcat+MySQL-過程記錄

一、新建雲伺服器 (請注意,文中連結均在“http”中“h”後和“www”第一個“w”後多加一“ ”)     1、在"teng xun 雲",新建雲伺服器:Windows Server 2012 R2 標準版 64位中文版     2、登入雲伺服器:h ttps://w

kubernetes實戰之consul篇及consul在windows搭建consul簡單測試環境

consul是一款服務發現中介軟體,1.12版本後增加servicemesh功能.consul是分散式的,可擴充套件的,高可用的根據官方文件介紹,目前已知最大的consul叢集有5000個節點,consul被廣泛用用於服務發現,服務健康檢測以及分散式配置儲存,並且不斷地改進對servicemesh和kuber

Windows 10搭建 Appium + Android +python自動化測試環境

轉:https://betacat.online/posts/2017-05-03/setup-appium-automation-test-environment/ 前言 本來並不打算寫這麼一篇文章,但是實踐下來發現網上的各種教程裡大致有兩個問題。一是文章有些跟不上

Appium Android測試環境搭建 for Mac

detail 資源 and 搭建 car log nbsp www 查找 Appium Android測試環境搭建 涉及的資源,工具都很多 ,從網上各種資料查找,整合一下資源,針對小白級別。 1、Appium安裝: 轉載自:http://www.cnblogs.com/os

Objective C 學習心得 :--Windows搭建objective C開發環境

      最近打算針對iPhone、iPod touch和iPad開發一些應用,所以,需要開始學習Objective C(蘋果推出的類似C語言的開發語言)。由於蘋果的自我封閉的產業鏈發展模式(從晶片、機器、開發語言、終端產品、服務)的限制,要想開發針對蘋果iPhone等產品

3.如何搭建Appium自動化測試環境

apk d+ html ani list 方法 win .com appium 整個APP自動化環境安裝可以參照蟲師博客安裝 附以下鏈接: http://www.cnblogs.com/fnng/category/695788.html 下面介紹運用到工作中遇到

Windows如何創建虛擬環境默認情況

img .com mil cti 版本 文件 12px ctrl+z ace 很多小夥伴平時在使用Python的時候,有的項目需要使用Python2來進行開發,有的項目則是需要Python3來進行開發。當不清楚怎麽分開環境的時候,此時兩個環境開始打架,彼此傻傻分不清楚。虛擬

windows搭建nginx+php開發環境

windows下搭建nginx+php開發環境 1.前言   windows下大多我們都是下載使用整合環境,但是本地已經存在一個整合環境,但不適合專案的需求。因此準備再自己搭建一個環境。   2.準備   工具:     下載 nginx1.14.0(版本根據自己需要下載,本教程使用1.

windows搭建hadoop+eclipse開發環境

        1.去官網下載hadoop-eclipse-plugin-2.7.3.jar(與你Hadoop版本一致)   2.把jar包匯入在eclipse安裝路徑的plugins中  

Windows搭建Git,Python環境

環境:windows10(其它版本應該區別不大) GIt的搭建 git-gui(有圖形化的操作介面,也支援命令列操作)下載: https://git-scm.com/downloads 圖形化介面的使用先跳過(可參考網友的 http://www.cnblogs.com/iruxu/p/gitgui.ht

Ubuntu搭建Appium+python自動化環境記錄及遇到的錯誤記錄

     系統:Ubuntu 18.04.1 LTS   64位 搭建環境前準備     1.JDK 8安裝     2.android-sdk_r24.3.4-linux  

關於quarz的使用中出現了開發環境正常執行,測試環境LINUX - Ubutu15.4使用異常的情況

開發中使用了spring和quarz結合的方式,執行了四個任務,兩個流量資料同步,日同步每天0點同步資料,每小時的資料存放在redis裡,供頁面使用。另外兩個任務負責同步squid的日誌到第三方日誌伺服器,一個每30秒檢測一次日誌狀態,日誌檔案大於10M或者0點以後未同步資料就會開始使用我編寫的py

linux搭建nginx+uwsgi+django環境一)

nginx是什麼? uwsgi是什麼? django又是什麼? 不做過多的解釋,有不明白的朋友們自行學習吧。此篇只講環境搭建及解決環境搭建過程中遇到的問題。 作業系統:centos 7 登入使用者:root 第一步,安裝python     本例中使用的是d

Windows搭建react-native開發環境

最近公司沒有什麼事情,所以決定研究一下react-native.react-native是Facebook研發的一種用於移動端研發hybrid app 的技術(研究的不深,目前只知道這個作用),那麼對於react-native的環境搭建卻是有些複雜.那麼對於剛剛完成環境搭建的

一步步教你搭建Android開發環境有圖有真相--“自吹自擂:史上最詳細、最囉嗦、最新的搭建教程”

宣告:轉摘請註明http://blog.csdn.net/longming_xu/article/details/28241045 前言:為什麼要寫這麼一篇文章?網上介紹Android開發環境搭建的文章一片一片的,我為什麼要自己”重複的去造輪子“呢?原因有三個:第一個

windows搭建NDK+Cygwin編譯環境

下載ndk,安裝完cygwin後 1.在系統變數Path後面加上C:\cygwin\bin   這樣在dos下,只要輸入bash就可以進入到cygwin環境。 2.在系統變數Path後面加上E:\android\android-ndk-r8   輸入命令列的時候簡單一點。 3.先定義一個系統變數NDK

windows搭建hadoop+eclipse開發環境

我的環境:windows8+hadoop1.1.2+eclipse4.3(linux為centerOS6.4) 實現步驟 下載eclipse、hadoop,提取hadoop中的hadoop-ecli