1. 程式人生 > >UI“三重天”之appium(一)

UI“三重天”之appium(一)

serve multi this UNC 架構 creating nbsp ora 是否

官方介紹:

Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms. Native apps are those written using the iOS, Android, or Windows SDKs. Mobile web apps are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in ‘Browser‘ app on Android). Hybrid apps

have a wrapper around a "webview" -- a native control that enables interaction with web content. Projects like Apache Cordova or Phonegap make it easy to build apps using web technologies that are then bundled into a native wrapper, creating a hybrid app.

Importantly, Appium is "cross-platform": it allows you to write tests against multiple platforms (iOS, Android, Windows), using the same API. This enables code reuse between iOS, Android, and Windows testsuites.

For specific information about what it means for Appium to "support" its platforms, and automation modalities, please see the platform support doc.

appium呢,是開源的,用於在iOS移動,Android移動和Windows桌面平臺上自動化本機,移動Web和混合應用程序。。。。。。。(一大堆、自行百度)

重要的是,Appium是“跨平臺的”:它允許您使用相同的API針對多個平臺(iOS,Android,Windows)編寫測試。這樣可以在iOS,Android和Windows測試套件之間重用代碼。

我們無論在做什麽測試,首先要考慮的便是該工具(框架)是否真的適合自己的業務,自己的需求;顯然跨平臺的優點是首選,和之前的jmeter是一樣的。我們不能被工具(框架)限制。

appium概念(來自官方文檔):

客戶端/服務器架構:

Appium的核心是一個公開REST API的Web服務器。它從客戶端接收連接,偵聽命令,在移動設備上執行這些命令,並使用表示命令執行結果的HTTP響應進行響應。我們擁有客戶端/服務器架構這一事實開辟了許多可能性:我們可以使用任何具有http客戶端API的語言編寫測試代碼,但使用其中一個Appium客戶端庫更容易。我們可以將服務器放在與運行測試不同的機器上。我們可以編寫測試代碼並依賴像Sauce Labs這樣的雲服務來接收和解釋命令。

會話:

自動化始終在會話的上下文中執行。客戶端以特定於每個庫的方式啟動與服務器的會話,但它們最終都向POST /session服務器發送請求,並使用稱為“所需功能”對象的JSON對象。此時,服務器將啟動自動化會話並使用會話ID進行響應,該會話ID用於發送更多命令。

環境搭建:

1、android SDK!!!

2、appium-server,下載傳送門:https://bitbucket.org/appium/appium.app/downloads/(本文以appium-server為主)

 (或者)appium-desktop,下載傳送門:http://appium.io/downloads.html

3、appium安裝:

  技術分享圖片

  技術分享圖片

  一路next,沒技術含量。

4、appium環境變量配置:appium-server安裝完成,

            將${appium_home}\node_modules\.bin添加至path變量

5、安裝nodejs,官網下載傳送門https://nodejs.org/en/download/releases/

 一路next,環境變量自動添加。

6、cmd命令行輸入appium-doctor,查看環境是否搭建成功

  技術分享圖片

ok,到這塊appium環境就搭建成功了。

appium-sever介紹:

看一下界面:

技術分享圖片

左上角四個按鈕功能:Android Setting=======>android應用配置

          General Setting=======>通用配置

          Developer Setting======>開發者配置

          版本詳情

Android Setting:

技術分享圖片

1、勾選:Application Path

2、點擊:Choose,將要測試的apk文件放進去,下方包名以及activity自動加載、。

   【切忌:每次選完成apk_path,將Application Path的勾去掉。否則,每次啟動時,appium會重新安裝相應的應用

3、勾選package包名,勾選launchActivity。

  有關launchActivity可直接向開發進行索取,或者重簽名,或是使用SDK中build-tools中的aapt.exe

4、capabilities中的platformname 和automationname都默認

General Setting:

技術分享圖片

1、server和port

2、pre-launch:在啟動app時,預先啟動它,建議不勾選。

3、logging中勾選show Timestamps,顯示時間戳

4、Log to File中填寫日誌保存路徑

ok,開發者選項沒用到,基本介紹以及配置方法完成。

先配置server,android-setting中加載一個APK,啟動,查看日誌。

技術分享圖片

點擊右上角的啟動按鈕。

技術分享圖片

ok,從日誌中可以看得到appium-server已經啟動成功了。本地的4723端口已經啟用。

技術分享圖片

指定的保存本地日誌文件也有相關執行日誌內容:

技術分享圖片

  

            

UI“三重天”之appium(一)