Appium 介紹及環境安裝

Appium是一個可用於測試iOS、 Android操做系統和Windows桌面平臺原生應用,移動網頁應用和混合應用的自動化測試框架。php

  • 原生應用(Native App):用 android、iOS或者Windows SDK編寫的應用html

  • 移動網頁應用(Web App):經過手機瀏覽器訪問的網頁應用,好比iOS中 safari應用,Android上的Chrome應用或者內置瀏覽器應用,不會佔用手機的存儲空間。java

  • 混合應用(Hybrid App):同時具有Native App和Web App的特性,一種 webview應用,將Javascript,HTML和CSS執行在embedded webview中,外層用Native App wrapper包起來。node

Appium 跨語言支持:Java、 Python、 Ruby、JavaScript (Node.js)、PHP、C# (.NET)、RobotFramework等,Appium是跨平臺的,能夠用在OSX,Windows以及Linux桌面系統上運行。python

Appium架構

Appium引擎列表

  • Android 4.3+
    • UIAutomator
    • UIAutomator2[推薦]
  • iOS
    • UIAutomation (iOS ≤ 9.3)
    • XCUITest[推薦] (iOS ≥ 9.3)
  • Windows:
    • WinAppDriver

Appium的設計理念

Client/Server設計模式

Appium採用 C/S架構,Appium與客戶端創建鏈接並監聽命令,而後在移動設備上執行這些命令,命令執行結果經過 HTTP 響應的方式返回。客戶端經過 WebDriver json wire協議與服務端通信。因爲Appium的這種特性,咱們能夠將Appium server放在與測試機不一樣的機器上。Appium Server是使用 Node.js 編寫的HTTP服務。android

session 會話

Appium自動化執行時會首先拉起一個session會話,客戶端和服務器之間初始化一個session,經過發送一個POST /session創建鏈接,客戶端的post請求中攜帶一個稱爲 'desired capabilities‘ 的JSON對象,定義設備平臺(iOS或Android)、版本、server地址等請求字段,後面的文章將詳細介紹。服務器接收到請求後會創建一個session並回應一個session ID,創建好鏈接後就能夠發送命令了。git

Appium Clients

Appium支持多語言,包括Java, Ruby, Python, PHP, JavaScript, 和 C#,這些客戶端庫支持WebDriver 協議擴展。github

語言/框架 Github倉庫地址
Ruby https://github.com/appium/ruby_lib, https://github.com/appium/ruby_lib_core
Python https://github.com/appium/python-client
Java https://github.com/appium/java-client
JavaScript (Node.js) https://github.com/admc/wd
JavaScript (Node.js) https://github.com/webdriverio/webdriverio
JavaScript (Browser) https://github.com/projectxyzio/web2driver
Objective C https://github.com/appium/selenium-objective-c
PHP https://github.com/appium/php-client
C# (.NET) https://github.com/appium/appium-dotnet-driver
RobotFramework https://github.com/serhatbolsu/robotframework-appiumlibrary

Appium生態工具

  • adb:android的控制工具,用於獲取 android的各類數據和控制web

  • Appium Desktop:內嵌了 appium server和inspector的綜合工具objective-c

  • Appium Server:appium的核心工具,命令行工具

  • Appium client:各類語言的客戶端封裝庫,用於鏈接 appium server

  • AppCrawler:自動遍歷工具

appium使用 appium-xcuitest-driver來測試iPhone設備,其中須要安裝 facebook開發的WDA(webdriver agent)來驅動iOS測試,下面介紹Android APP測試環境安裝。

Appium環境安裝

  • Java1.8版本
  • Android sdk
  • Node.js(>=10 版本),npm(>=6 版本)
  • Python3
  • Appium-desktop
  • Appium python client

一、安裝Node.js

  • Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境
  • Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。
  • 是運行在服務端的 JavaScript

https://nodejs.org/en/download/

命令行窗口中運行node -v 查看是否安裝成功

二、安裝jdk

jdk下載下載地址:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

按照默認路徑安裝
配置環境變量
「個人電腦」右鍵菜單--->屬性--->高級--->環境變量--->系統變量-->新建

  • 變量名:JAVA_HOME 
    變量值:C:\Program Files (x86)\Java\jdk1.8.0_144
  • 變量名:CALSS_PATH
    變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

找到path變量名—>「編輯」添加:

  • 變量名:PATH
    變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

查看是否安裝成功:java -version

3. 安裝Android SDK

Android SDK是Google提供的Android開發工具包,在開發Android應用的時候會用到,須要經過引入工具包來調用Android的API

下載地址:https://developer.android.com/
中文社區的SDK下載地址:
http://tools.android-studio.org/index.php/sdk

雙擊打開SDK Manage.exe,安裝API版本和對應的工具包,這些在運行模擬器和真機測試的時候會使用到。

配置環境變量
新建環境變量ANDROID_HOME,變量值爲sdk的路徑:E:\Android\android-sdk

「個人電腦」右鍵菜單--->屬性--->高級--->環境變量--->系統變量-->新建

  • 變量名:ANDROID_HOME 
    變量值:D:\android\android-sdk-windows

找到環境變量path—>「編輯」添加:

  • 變量名:PATH
    • 變量值:;% ANDROID_HOME%\platform-tools;

    • 變量值:% ANDROID_HOME%\build-tools;

    • 變量值:% ANDROID_HOME%\tools;

tools目錄下運行android命令,platform-tools目錄運行adb命令

檢驗Android SDK是否安裝成功:adb version

4. 安裝Appium

下載地址:https://bitbucket.org/appium/appium.app/downloads/?tab=downloads

  • 安裝完成後添加到環境變量
  • 把安裝的appium文件夾的Appium\node_modules.bin加到系統環境變量path中

運行appium-doctor,檢測appium運行環境的工具

5. 安裝appium-desktop

下載地址:https://github.com/appium/appium-desktop/releases/tag/v1.15.1

6. 下載Appium-Python-Client

下載連接:https://pypi.org/project/Appium-Python-Client/
運行python setup.py install安裝

或者運行 pip install Appium-Python-Client 安裝。

--THE END--

文章標題:Appium 介紹及環境安裝
本文做者:hiyo
本文連接:https://www.cnblogs.com/hiyong/p/14163337.html 歡迎關注公衆號:「測試開發小記」及時接收最新技術文章!

相關文章
相關標籤/搜索