ATX ui自動化ios實戰(zhàn)(一)

前一段時間了解到有那么一個自動化測試框架,名叫ATX,是由網(wǎng)易大佬@codeskyblue的團隊研發(fā)的。

經(jīng)過一段時間的學習,在此我總結(jié)一下ATX的優(yōu)缺點。

優(yōu)點:

1.環(huán)境搭建簡單

2.運行速度比Appium略快

3.易上手,如果學習過其它自動化框架就能在很短的時間內(nèi)學會ATX,即便是第一次學習這類框架也會感受到世界是如此美好

缺點:

1.暫時還沒感受到明顯的缺點

歡迎加入ATX qq群499563266


本文不對ATX安裝做贅述,如果需要安裝教程請另行搜索,本文更專注于ATX在工作中的實際應用。

事前準備:

mac一臺(由于ios系統(tǒng)的封閉性,所以想做ios自動化必備mac電腦)

ios手機一臺

python3+環(huán)境

ATX環(huán)境


App選擇:

由于是網(wǎng)易的框架,所以在這里我選擇網(wǎng)易的app“網(wǎng)易云課堂”做演示(當然其它公司的app也是可以用的),不要問我為什么不選擇網(wǎng)易云音樂。


本系列文章預計分成三篇

第一篇:登錄網(wǎng)易云課堂

第二篇:更改學習興趣,搜索課程并標記為想學,觀看課程

第三篇:套用單元測試框架,生成測試報告


ok,閑扯了這么多,現(xiàn)在正式開始第一篇,登錄網(wǎng)易云課堂,首先在你的手機上安裝好app,其次給它打個評價(以防跑腳本的時候冷不丁跳出來求好評,那就涼涼了),再然后確定wda的代理已經(jīng)運行在你的手機上,最后把手機端口映射到電腦上。(以上這些是安裝ATX會涉及的內(nèi)容,所以本文一句話帶過了)

本篇內(nèi)容主要分為兩部分

1.打開app

2.登錄帳號


1.打開app

我們先來看一個demo,看一下打開一個app最簡單的方法

import wda

client= wda.Client('http://localhost:8100')

client.healthcheck()

session= client.session('包名')

代碼非常簡單,僅需短短四行就可以實現(xiàn)打開app,每一個app都有包名,那么我們該怎么獲得包名呢?

在命令行輸入命令:ideviceinstaller -l

可以獲得當前手機上所有已安裝的app的包名,是不是很簡單

我們可以快速得到網(wǎng)易云課堂的包名為:com.netease.study901iphone

然后把上面的demo的session= client.session('包名')替換為

session= client.session('com.netease.study901iphone')就行了

運行文件,看看是不是成功打開了app,由于后面沒有加延遲,所以打開后會立馬關閉,不要感到詫異,這是正常的!!!


2.登錄帳號

接著我們要進入登錄界面(目前在首頁),那就是先點擊"賬號"頁面,然后點擊"登錄/注冊"(或者你想點擊"我的學習",然后點擊"登錄",也是一樣的),本來打算把進入app的廣告頁面(就是右上角是"跳過"按鈕的那個頁面)直接跳過的,不過廣告頁面顯示挺短的,一兩秒就過了,就不專門做處理了,如果你有興趣的話可以寫一下。

根據(jù)wda自帶的inspector我們可以獲取到元素的屬性,如圖

WebDriverAgent Inspector

我們要做的就是點擊"帳號"一下,然后點擊"登錄/注冊"一下

我們可以看到"帳號"這個元素的name為帳號,同理可得"登錄/注冊"元素的name為元素/注冊,但是在這里提醒一下大家,不要想當然以為name就是元素的名字,盡量用inspector確認一下元素的屬性再使用

直接上代碼

session(name='帳號').tap()

session(name='登錄/注冊').tap()

粘貼到前面已經(jīng)成功打開app的代碼后面

運行一下試試~

不出意外報錯了,沒有發(fā)現(xiàn)"登錄/注冊"這一元素,再看一下app當前所在的頁面,你會發(fā)現(xiàn)還停留在首頁,那可以推斷出帳號這個點擊操作沒有成功執(zhí)行,為什么呢?

忽然想到,打開app后的廣告頁,會不會內(nèi)頁已經(jīng)加載完成(但被廣告頁遮擋),帳號的點擊操作實際點擊到了廣告頁面上了呢?

有一個想法了,那怎么讓點擊操作不落在廣告頁面上,visible屬性了解一下

session(name='帳號',visible=True).tap()

這句比上面多了visible=True,實際作用就是當name為帳號的元素可見時再點擊

ok,那我們再試試~

是不是成功進入了登錄界面!

然后我們選擇手機號登錄的方法,然后還要輸入帳號,密碼,最后點擊登錄

理想的話應該就是四個操作,如下

session(name='手機號登錄').tap()

# 輸入帳號

session(className='TextField').set_text('你的帳號')

# 輸入密碼

session(className='SecureTextField').set_text('你的密碼')

# session(value='請輸入手機號').set_text('你的帳號')

# session(value='請輸入6-16密碼').set_text('你的密碼')

# 點擊登錄

session(name='登 錄').tap()

登錄頁面inspector

由于帳號輸入框和密碼輸入框沒有name,所以這里我沒有采用name的定位方式,而是className的定位方式,另外還多寫了一種用value定位的方式(已注釋的兩行),有興趣的同學可以試試。

我們把上面這段代碼拷到之前的代碼后面,并將你的帳號和密碼填充上去,運行一下,

艸,又報錯了!

"Keyboard is not present"

鍵盤不存在,其實就是鍵盤沒有調(diào)出來

真不是我故意搞你,我一開始也是這么想的,但是不知道為啥,鍵盤沒有調(diào)出來(這里還希望知道的大佬們能說一下原因)

既然不存在,那就把它搞出來,set_text方法不行,那我就用tap方法,我點擊帳號輸入框,總會調(diào)出鍵盤的,所以在"手機號登錄"那一句后面再加一句

session(className='TextField').tap()

我們再試著運行一下,這次百分之一百成功了!

我們成功登錄到了帳號頁面有木有~

由于本人沒用git,所以完整代碼保存到百度云上了,感興趣的同學請到下面的鏈接下載,會有更詳細的注釋。

鏈接: https://pan.baidu.com/s/11F_Ab6t7SnOzXCo4JbHlzQ 密碼: 2uu5

那我們下一篇再見吧,bye~


感謝閱讀,歡迎轉(zhuǎn)載。

如有錯誤請及時指出,謝謝!

如有問題請留言,我懂的必然會回復!

共勉。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,406評論 6 538
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,034評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,413評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,449評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,165評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,559評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,606評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,781評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,327評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,084評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,278評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,849評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,495評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,927評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,172評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,010評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,241評論 2 375

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,692評論 25 708
  • 點擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應用提供一個完善的 IM 系統(tǒng)...
    layjoy閱讀 13,842評論 0 15
  • 如果說我會懷念一個地方,可能常常是因為那里有著很好吃的食物,就是在這個世界的許許多多的角落里,會懷念幾個小小的市鎮(zhèn)...
    蒼羽紗閱讀 281評論 0 1
  • 2018年6月20日 星期三 晴 前幾天女兒有些懶床,總是在我的催促下起床,于是我就很不耐煩的警告了她,請...
    知足常樂朵兒閱讀 169評論 0 0