Appium 自動化測試 <一、安裝與 iOS 測試環(huán)境的搭建>

Appium 是一個自動化測試框架,可與 native、混合和移動 web 應用程序一起使用。它使用WebDriver (Facebook開源)協(xié)議驅動 iOS、Android 和 Windows 應用程序。

Appium 支持多種語言。

  1. Ruby
  2. Python
  3. Java
  4. JavaScript
  5. PHP
  6. C#
  7. Objective-C

Appium iOS 測試環(huán)境的搭建

安裝 appium 有兩種方式,一種是通過命令行終端方式,一種是 Appium Desktop。
我使用的是 Appium Desktop ,這個自帶圖形界面,安裝也簡單的。

首先下載桌面版 Appium Desktop ,并安裝。

正常工作要確保5個前提條件:

  1. iOS 設備系統(tǒng)必須是 iOS 9.3及以上
  2. macOS 系統(tǒng)必須是10.11 或10.12
  3. Xcode 版本為 Xcode 8及以上
  4. Appium 版本為1.6及以上
  5. 安裝所需依賴庫,包括:
    node # brew install node
    npm # brew install npm
    carthage # brew install carthage

模擬器測試的話這些基本就可以了。

是否安裝成功可以用 appium-doctor 驗證。
終端執(zhí)行安裝命令

npm install -g appium-doctor

安裝成功后執(zhí)行

appium-doctor   # 這個命令包含 android 的依賴庫或軟件
// 或者
appium-doctor --ios

現在我們來啟動 Appium Desktop !

主界面

點擊 Start ,進入 Server 界面,如果一切正常,會如下圖所示。


在點擊右上角 搜索 按鈕 進入 inspector session 界面。


Appium 有多語言設置,想要中文的同學們,可以進行設置哦~
View ---> Languages ---> 中文


屏幕快照 2019-04-10 下午8.59.20.png

這里呢,我寫了一個簡單的 iOS AppiumDemo,進行模擬器測試。
main.storyboard 里,拖拽了一個輸入框和一個按鈕。



按鈕有一個事件。

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (IBAction)buttonAction:(id)sender {
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"點擊了按鈕" message:nil preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"確定" style:UIAlertActionStyleCancel handler:nil];
    [alert addAction:cancel];
    [self presentViewController:alert animated:YES completion:nil];
}


@end

指定模擬器 iPhone 6 ,系統(tǒng)版本 10.0,運行程序。


回到 inspector session 界面設置所需功能。
你可以先看看 所需功能文檔

{
  "platformName": "iOS",  # 平臺名稱 iOS / Android ...
  "platformVersion": "10.0", # 系統(tǒng)版本
  "deviceName": "iPhone 6", # 設備名稱
  "newCommandTimeout": "300", # Appium服務器待appium客戶端發(fā)送新消息的時間。默認為60秒
  "bundleId": "BB.AppiumDemo", # iOS 包名
  "onReset": true # true:不重新安裝APP,false:重新安裝app
}

我是拿bundleID 喚起原有APP 進行測試的,所以要事先在模擬器編譯,確認有當前bundleID的項目,才能啟動成功。
你也可以用 app 當作key, value 是絕對路徑的.ipa、.app文件。

下一步我們來啟動會話,成功后會出現檢查器界面。



到這里簡單的環(huán)境配置基本完成。

下面說說檢查器導航欄按鈕的功能。

選擇元素

滑動坐標

點擊坐標點

錄制
搜索
搜索詳情

基本操作已經介紹完了,下篇將進行 Appium 與 python 實現 iOS 模擬器自動化測試。


補充:

  1. Appium 自帶的 WebDriverAgent 存在 bug,下載 FaceBook 的 WebDriverAgent 。編譯后替換 Appium Desktop
    /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 目錄文件。
# 終端下載 cd 到 桌面
cd Desktop
# 然后從 git 拉取項目
git clone https://github.com/facebook/WebDriverAgent
# 下載完成后進入文件編譯
cd WebDriverAgent
# 運行初始化腳本
./Scripts/bootstrap.sh

編譯后的 WebDriverAgent 拷貝起來,替換掉 /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 路徑中 WebDriverAgent 文件就可以了。

這個 編譯過的 WebDriverAgent,后面真機測試會用到,先保留一下。

  1. 模擬器或真機要開啟 UI Automation。
    Settings ---> Developer ---> Enable UI Automation


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容