Appium自動化測試環境搭建

前言

Appium是一個開源的自動化測試框架,支持跨平臺,支持多種編程語言,可用於原生,混合和移動web應用程序,使用webdriver驅動ios,android應用程序、那麼爲了學習app自動化測試首要任務確定就是搭建測試開發環境, 所以在這裏記一次搭建Appium自動化測試環境的完整過程,文章較長,須要花費必定的時間,請耐心閱讀,若是文中有什麼錯誤請指正html

安裝Java JDK

JDK環境能夠看我以前安裝Jenkins時的隨筆https://www.cnblogs.com/linuxchao/p/linuxchao-jenkins-setup.html,這裏須要注意一點儘可能安裝jdk 1.8,防止後面連接手機失敗node

安裝Node.js

安裝nodejs以前,咱們須要知道,爲何要安裝nodejs? 由於appium是nodejs實現的,node至關於appium的解釋器python

Node.js下載地址:https://nodejs.org/en/download/current/linux

因爲個人電腦是windows 64位的系統,這裏我直接下載windows 64位的msi程序文件android

下載完成後直接雙擊安裝便可(傻瓜式的安裝),因此我就不說具體步驟了,安裝後,檢查是否安裝成功ios

cmd終端輸入第一個命令 node -version,輸出下面的信息git

接着再輸入 npm 命令,輸出下面的信息github

ok, 這說明node.js已經安裝成功web

安裝Appium server

不知道你作過或者學習過selenium沒有,這裏的appium server 至關於 selenium中的瀏覽器驅動程序,當啓動瀏覽器驅動時會初始化一個服務器,綁定本機的地址和端口,那麼Appium server也同樣,當啓動appium時一樣會初始化一個服務器綁定本地的地址和端口npm

安裝server有兩種方式

第一種:使用npm工具

使用命令 npm install -g appium 安裝,不過這種安裝方式比較慢(我用這種方式沒安裝成功,可能網速不行,報了一些錯誤,比較尷尬)

第二種:安裝desktop版本

這種安裝方式仍是比較快的,可是下載安裝包也比較慢,好歹安裝沒出現什麼問題

下載地址

https://bitbucket.org/appium/appium.app/downloads/(modify at: 2019.08.12-這個地址不要用了,我後來才發現裏面的版本並非最新的,是很老的版本,對後期定位app中的toast會失敗)

https://github.com/appium/appium-desktop/releases (這個是官網的地址,按下圖下載最新的安裝便可)

下載完成以後,直接雙擊安裝

這裏我也不敘述安裝過程了,一樣的傻瓜式安裝,默認安裝目錄: C:\Users\v-xug\AppData\Local\Programs\Appium

配置環境變量

appium安裝目錄下的node_modules\.bin添加到系統環境變量(添加放看後面吧)

注:老版本的有這個目錄,新版的我還真沒找到這個目錄,因此也不須要配置環境變量了-modify at: 2019.08.12

 

安裝完成後可以成功打開桌面的appium程序,說明安裝過程暫時沒什麼問題

安裝Android SDK

下載SDK及安裝

下載地址: https://www.androiddevtools.cn/

下載完成後,直接雙擊安裝便可

安裝完成後,找到你的安裝目錄,並找到SDK-manager工具雙擊打開

本身根據需求選擇對應的sdk build-tools,Android SDK Platform-tools及api,api我選擇的API 22(5.1.1)版本

Android SDK Platform-tools, SDK build-tools我這裏是直接下載安裝的最新版本,若是你下載的版本比較低的話,後面連接模擬器或者真機時可能會連接不上

點擊上圖中的[Install packages],彈出下面的頁面,點擊Accept License後安裝,等待全部包安裝完成(所需時間比較久,請耐心等待)

配置環境變量

新建系統變量

ANDROID_HOME=D:\Program Files\Android\android-sdk變量及值(SDK的安裝目錄)

添加系統變量

把platform-tools及tools添加到系統環境變量,變量值(路徑)之間使用分號隔開,兩個變量值分別爲:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;或者直接添加絕對路徑

配置完環境變量以後,咱們就可使用adb命令了

安裝Appium Client

咱們使用python開發appium的自動化測試腳本,確定離不開appium的一些api庫,因此說這裏的appium 客戶端就是python代碼使用的庫,用來鏈接appium server 及操做app

安裝appium client 就很是簡單了,只要你已經配置好了python環境,就能夠直接使用pip安裝了,cmd 執行pipi install Appium-Python-Client便可完成安裝,輸入下圖命令不報錯,表明已經安裝成功

環境檢查

注:這裏我只在老版本的appium中找到 appium-doctor這個工具, 新版的並無找到,那怎麼辦呢?

打開CMD執行命令 npm install -g appium-doctor 安裝appium-doctor

如今們就可使用appium-doctor命令檢查整個環境是否有問題了

cmd執行 appium-doctor命令,如何你的輸出信息和個人同樣那麼恭喜你環境搭建成功了

安裝模擬器

全部的環境已經安裝完成,接下來就是連接手機模擬器或者真機了,我這裏使用的是夜神模擬器,下載地址:https://www.yeshen.com/

下載完成後直接安裝,安裝完成後,桌面會生成兩個圖標,夜神模擬器和夜神多開器

鏈接模擬器

開啓模擬器的開發者模式

點擊模擬器的設置-點擊關於平板電腦-點擊版本號(會有提示點擊幾回打開開發者模式)

打開CMD終端,切換cmd 的工做目錄到夜神模擬器的安裝目錄的bin目錄下(或者你把這個目錄添加到環境變量也能夠,可是最好不要添加到環境變量,由於bin目錄下也存在一個adb.exe會和Android SDK中的adb.exe衝突),執行命令 nox_adb.exe connect 127.0.0.1:62001(不一樣模擬器的這個端口號不一樣)

若是執行命令時提示相似:abd server version(40) doesn't match this client (36) 這樣的失敗信息,那麼說明你的server(夜神模擬器的adb(nox_adb.exe))和client(Android SDK中的adb)版本不對應

檢查版本

cmd 輸入 adb version 查看client版本

cmd切換到夜神安裝目錄的bin目錄下,執行nox_adb.exe version

個人版本是同樣的,你的多是兩個不一樣的版本號, 你須要把Android SDK中的adb拷貝到夜神模擬器安裝目錄下的bin目錄下,並重命名爲nox_adb.exe 並替換原來的便可

鏈接模擬器

接下來咱們就能夠測試鏈接是否正常了,輸入命令 nox_adb.exe connect 127.0.0.1:62001(這裏要注意執行命令的目錄,應爲夜神模擬器安裝目錄的bin目錄下)

看到上面的提示後,接着再次輸入命令 adb devices (注意:不要在上面的目錄下繼續輸入命令,由於bin下一樣存在一個adb.exe ,若是你還在這個目錄下執行adb命令,那麼使用的並非Android SDK中的adb,因此切換到其餘任意目錄執行命令)

若是你看到的是上圖中的信息, 說明已經成功鏈接上了模擬器, 這裏只能說明Android的開發環境沒問題了,可是進行自動化時還不必定可以正常控制模擬器

測試環境驗證

下面咱們經過編寫一段簡單的代碼程序,驗證一下程序是否可以成功驅動模擬器打開指定的app,若是沒有報錯,那麼到此爲止整個appnium自動化測試環境就已經完成了

打開appium,並啓動服務器,保持模擬器開啓狀態

測試代碼

編寫以下測試代碼

""" ------------------------------------ @Time : 2019/7/30 19:47 @Auth : linux超 @File : appium_test.py @IDE : PyCharm @Motto: Real warriors,dare to face the bleak warning,dare to face the incisive error! @QQ : 28174043@qq.com @GROUP: 878565760 ------------------------------------ """
from appium import webdriver desired = { "platformName": "Android", "platformVersion": "5.1.1", "deviceName": "e9b768eb7d2a", "appPackage": "com.xxzb.fenwoo", "appActivity": "com.xxzb.fenwoo.activity.addition.WelcomeActivity" } driver = webdriver.Remote( command_executor="http://127.0.0.1:4723/wd/hub", desired_capabilities=desired)

以上代碼desired_capabilities參數,暫不作介紹

輸出

對應app被成功打開,表示整個環境已經沒有任何問題了,接下來就能夠愉快的開啓咱們的app自動化測試了

總結

最後,回顧一下搭建環境過程當中須要注意的點

1.若是在安裝appium的時候提示缺乏.net framework 4.5 那麼先下載安裝它,再安裝appium便可https://www.microsoft.com/zh-cn/download/details.aspx?id=30653

2.下載最新的appium,防止定位app的toast時沒法定位

3.注意Android SDK 中adb的版本和模擬器中nox_adb的版本須要相同

4.下載Andorid SDK的時候必定要安裝最新的 platform-tools,防止後面鏈接模擬器或者真機時遇到不可預料的錯誤(找不到adb命令等)

原文出處:https://www.cnblogs.com/linuxchao/p/linuxchao-appium-environment.html

相關文章
相關標籤/搜索