Appium 自動(dòng)化測(cè)試 <一极祸、安裝與 iOS 測(cè)試環(huán)境的搭建>

Appium 是一個(gè)自動(dòng)化測(cè)試框架,可與 native大审、混合和移動(dòng) web 應(yīng)用程序一起使用。它使用WebDriver (Facebook開(kāi)源)協(xié)議驅(qū)動(dòng) iOS座哩、Android 和 Windows 應(yīng)用程序徒扶。

Appium 支持多種語(yǔ)言。

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

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

安裝 appium 有兩種方式根穷,一種是通過(guò)命令行終端方式姜骡,一種是 Appium Desktop。
我使用的是 Appium Desktop 屿良,這個(gè)自帶圖形界面圈澈,安裝也簡(jiǎn)單的。

首先下載桌面版 Appium Desktop 尘惧,并安裝康栈。

正常工作要確保5個(gè)前提條件:

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

模擬器測(cè)試的話這些基本就可以了喷橙。

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

npm install -g appium-doctor

安裝成功后執(zhí)行

appium-doctor   # 這個(gè)命令包含 android 的依賴(lài)庫(kù)或軟件
// 或者
appium-doctor --ios

現(xiàn)在我們來(lái)啟動(dòng) Appium Desktop !

主界面

點(diǎn)擊 Start ,進(jìn)入 Server 界面贰逾,如果一切正常悬荣,會(huì)如下圖所示。


在點(diǎn)擊右上角 搜索 按鈕 進(jìn)入 inspector session 界面疙剑。


Appium 有多語(yǔ)言設(shè)置氯迂,想要中文的同學(xué)們践叠,可以進(jìn)行設(shè)置哦~
View ---> Languages ---> 中文


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

這里呢,我寫(xiě)了一個(gè)簡(jiǎn)單的 iOS AppiumDemo嚼蚀,進(jìn)行模擬器測(cè)試禁灼。
main.storyboard 里,拖拽了一個(gè)輸入框和一個(gè)按鈕轿曙。



按鈕有一個(gè)事件匾二。

#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:@"點(diǎn)擊了按鈕" 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拳芙,運(yùn)行程序察藐。


回到 inspector session 界面設(shè)置所需功能。
你可以先看看 所需功能文檔舟扎。

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

我是拿bundleID 喚起原有APP 進(jìn)行測(cè)試的睹限,所以要事先在模擬器編譯譬猫,確認(rèn)有當(dāng)前bundleID的項(xiàng)目,才能啟動(dòng)成功羡疗。
你也可以用 app 當(dāng)作key, value 是絕對(duì)路徑的.ipa染服、.app文件。

下一步我們來(lái)啟動(dòng)會(huì)話叨恨,成功后會(huì)出現(xiàn)檢查器界面柳刮。



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

下面說(shuō)說(shuō)檢查器導(dǎo)航欄按鈕的功能痒钝。

選擇元素

滑動(dòng)坐標(biāo)

點(diǎn)擊坐標(biāo)點(diǎn)

錄制
搜索
搜索詳情

基本操作已經(jīng)介紹完了秉颗,下篇將進(jìn)行 Appium 與 python 實(shí)現(xiàn) iOS 模擬器自動(dòng)化測(cè)試。


補(bǔ)充:

  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 拉取項(xiàng)目
git clone https://github.com/facebook/WebDriverAgent
# 下載完成后進(jìn)入文件編譯
cd WebDriverAgent
# 運(yùn)行初始化腳本
./Scripts/bootstrap.sh

編譯后的 WebDriverAgent 拷貝起來(lái)栋荸,替換掉 /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 路徑中 WebDriverAgent 文件就可以了菇怀。

這個(gè) 編譯過(guò)的 WebDriverAgent,后面真機(jī)測(cè)試會(huì)用到晌块,先保留一下爱沟。

  1. 模擬器或真機(jī)要開(kāi)啟 UI Automation。
    Settings ---> Developer ---> Enable UI Automation


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末摸袁,一起剝皮案震驚了整個(gè)濱河市钥顽,隨后出現(xiàn)的幾起案子义屏,更是在濱河造成了極大的恐慌靠汁,老刑警劉巖蜂大,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蝶怔,居然都是意外死亡奶浦,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)踢星,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)澳叉,“玉大人,你說(shuō)我怎么就攤上這事沐悦〕上矗” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵藏否,是天一觀的道長(zhǎng)瓶殃。 經(jīng)常有香客問(wèn)我,道長(zhǎng)副签,這世上最難降的妖魔是什么遥椿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮淆储,結(jié)果婚禮上冠场,老公的妹妹穿的比我還像新娘。我一直安慰自己本砰,他們只是感情好碴裙,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著点额,像睡著了一般青团。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咖楣,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天督笆,我揣著相機(jī)與錄音,去河邊找鬼诱贿。 笑死娃肿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的珠十。 我是一名探鬼主播料扰,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼焙蹭!你這毒婦竟也來(lái)了晒杈?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤孔厉,失蹤者是張志新(化名)和其女友劉穎拯钻,沒(méi)想到半個(gè)月后帖努,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粪般,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年拼余,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亩歹。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡匙监,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出小作,到底是詐尸還是另有隱情亭姥,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布顾稀,位于F島的核電站致份,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏础拨。R本人自食惡果不足惜氮块,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诡宗。 院中可真熱鬧滔蝉,春花似錦、人聲如沸塔沃。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蛀柴。三九已至螃概,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鸽疾,已是汗流浹背吊洼。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留制肮,地道東北人冒窍。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像豺鼻,于是被迫代替她去往敵國(guó)和親综液。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容