UI Testing實(shí)現(xiàn)IOS自動(dòng)化的菜鳥(niǎo)教程-1-開(kāi)篇

前言

? ? 作為測(cè)試行業(yè)已經(jīng)混了很長(zhǎng)一段時(shí)間的混子,前陣子接到Lead的要求,讓我們沒(méi)事搞搞自動(dòng)化。。。只有我有Mac機(jī)器(單位配的臺(tái)式機(jī)裝Windows,灰常不好用,這Mac是自帶來(lái)上班的。。。)然后就把IOS的自動(dòng)化扔給我了。。。。作為一個(gè)零Siwft + Object-C基礎(chǔ)的菜鳥(niǎo),只能硬著頭皮上。

因?yàn)槭橇慊A(chǔ),不能保證所介紹的100%正確,因此需要讀者自備甄別功能,若能幫助到想入門(mén)IOS自動(dòng)化的同行,不勝榮幸!

為什么選UI Testing作為測(cè)試框架?

其實(shí)一開(kāi)始是打算用Appium去做的,畢竟之前做過(guò)基于Java/C#的Selenium Web UI/API自動(dòng)化,應(yīng)該都是差不多的(關(guān)鍵是能用JAVA寫(xiě)啊,能省不少事!)。也確實(shí)做過(guò)點(diǎn)調(diào)研,無(wú)奈發(fā)現(xiàn)Appuim不太給力,如圖,Appium的官網(wǎng)上,能提供的最新版本是1.5.3(圖1),最后的更新時(shí)間是2016-06-08,而現(xiàn)在已經(jīng)是2017-02 了,已經(jīng)整整半年沒(méi)更新了,在使用Appium進(jìn)行調(diào)研的時(shí)候發(fā)現(xiàn)一個(gè)致命傷,幾個(gè)月前Xcode進(jìn)行了更新到8了,而Appium沒(méi)有更新跟上,導(dǎo)致當(dāng)我運(yùn)行demo的時(shí)候,出現(xiàn)error(圖2)也不知道啥時(shí)候能修復(fù)這個(gè)問(wèn)題。因此放棄Appium。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖1-Appium最新版本1.5.3

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2-當(dāng)前的Appium顯示不支持新版本得Xcode

之前看了一個(gè)鵝廠的帖子,介紹了他們的測(cè)試框架,也是用的UI Testing,說(shuō)的很牛掰,而且UI Testing 是XCode自帶(寫(xiě)過(guò)自動(dòng)化會(huì)明白,自動(dòng)化的用例會(huì)failed,很多時(shí)候都是環(huán)境引起的,包括測(cè)試框架本身都是不穩(wěn)定因素,用例本身不一定是主要因素),因此看好UI Testing,想著穩(wěn)定第一!然后。。。。義無(wú)反顧跳進(jìn)了這個(gè)坑,現(xiàn)在被坑的體無(wú)完膚,衣帶漸寬終不悔啊~


入坑一段時(shí)間后發(fā)現(xiàn)的UI Testing的一些優(yōu)點(diǎn)和缺點(diǎn):

優(yōu)點(diǎn):


1. 原生自帶,穩(wěn)定性杠杠的

2.入門(mén)很簡(jiǎn)單,點(diǎn)一下就可以錄制,代碼自動(dòng)寫(xiě)(雖然這功能不怎么用)。

3. 很容易定位元素。

缺點(diǎn):

1. 需要源代碼編譯,UI Testing需要在IOS工程上新建一個(gè)target,但事實(shí)上不是所有公司都這么open允許測(cè)試人員往上面提交代碼的,絕大部分公司還是死腦筋的認(rèn)為測(cè)試人員只是點(diǎn)點(diǎn)鼠標(biāo)那種沒(méi)有技術(shù)含量(我一直認(rèn)為黑盒測(cè)試要做好是很有技術(shù)含量的,探索性測(cè)試必須腦子要好使),或者就算自動(dòng)化也就像Selenium只要安裝包就能跑起來(lái) ,一句話就是不要?jiǎng)娱_(kāi)發(fā)的代碼:-( 。。。因此,我也就只能偷偷問(wèn)開(kāi)發(fā)要了份copy(論跟開(kāi)發(fā)搞好關(guān)系的重要性)。

2. 語(yǔ)言限制,學(xué)習(xí)門(mén)檻高。XCode的工程,用的是Swift,如果沒(méi)相關(guān)經(jīng)驗(yàn),就得額外去學(xué)習(xí)這門(mén)語(yǔ)言,增加學(xué)習(xí)成本。Siwft還經(jīng)歷了2個(gè)大版本,還有兼容性的問(wèn)題。如果是全新工程,建議用最新的。在使用過(guò)程中還會(huì)遇到跟Object-C交互的場(chǎng)景(還需要去源代碼寫(xiě)東西,這個(gè)之后講),學(xué)習(xí)這2種語(yǔ)言也需要成本。。。

3. 可以找到的資料比較少。入門(mén)的demo很好找,但是想深入了解,并不像JAVA那樣好找,真的不好找,更要命的時(shí)候當(dāng)你找到別人的例子的時(shí)候,發(fā)現(xiàn)敲進(jìn)去XCode已經(jīng)不認(rèn)了,新版的Swift已經(jīng)將函數(shù)名,使用特性什么的更新了。。囧,查Apple Developer ? 測(cè)試方面的介紹非常少,不好查。

4. 測(cè)試框架本身就有很讓人吐血的先天不足。沒(méi)有主動(dòng)截圖功能!沒(méi)有主動(dòng)截圖功能!沒(méi)有主動(dòng)截圖功能!日志功能極其渣!日志功能極其渣!日志功能極其渣!

好了,如果這些缺點(diǎn)都能忍受的話(或者你實(shí)在找不到好用的IOS 自動(dòng)化測(cè)試框架)。下一章就開(kāi)工開(kāi)搞。

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

相關(guān)閱讀更多精彩內(nèi)容

  • 前月某日,本人在鸞鶴群留貼: “昨晚寫(xiě)一畫(huà),題有一聯(lián)句,上句出唐詩(shī),下句為自擬。即: 狂風(fēng)落盡深紅色,飛雪迎來(lái)淡雅...
    高德華閱讀 821評(píng)論 2 8
  • 第一次見(jiàn)它便被它的的外型所吸引,冰清玉潔,美麗動(dòng)人。真的是捧在手里怕碎了,含在嘴里怕化了。那一顆顆晶瑩的冰糖,是上...
    想飛的魚(yú)小天閱讀 448評(píng)論 2 2
  • 高壓空氣罐 一米二高 工藝落后設(shè)備被淘汰 從料斗處拆下來(lái) 坐等著賣(mài)廢鐵了 有幸被我這雙慧眼看到 它的命運(yùn)發(fā)生了改變...
    老偉漫眼閱讀 137評(píng)論 4 4
  • 春末夏初去了一趟臺(tái)灣。 臺(tái)灣有很多吸引人的地方,美食、文化,自然風(fēng)光,都有獨(dú)特之處,而作為愛(ài)茶人,到了臺(tái)灣,自然要...
    江南煙雨閱讀 796評(píng)論 0 0

友情鏈接更多精彩內(nèi)容