ATX ui自動(dòng)化ios實(shí)戰(zhàn)(一)

前一段時(shí)間了解到有那么一個(gè)自動(dòng)化測(cè)試框架,名叫ATX,是由網(wǎng)易大佬@codeskyblue的團(tuán)隊(duì)研發(fā)的。

經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)长踊,在此我總結(jié)一下ATX的優(yōu)缺點(diǎn)。

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

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

2.運(yùn)行速度比Appium略快

3.易上手萍倡,如果學(xué)習(xí)過(guò)其它自動(dòng)化框架就能在很短的時(shí)間內(nèi)學(xué)會(huì)ATX身弊,即便是第一次學(xué)習(xí)這類(lèi)框架也會(huì)感受到世界是如此美好

缺點(diǎn):

1.暫時(shí)還沒(méi)感受到明顯的缺點(diǎn)

歡迎加入ATX qq群499563266


本文不對(duì)ATX安裝做贅述,如果需要安裝教程請(qǐng)另行搜索列敲,本文更專(zhuān)注于ATX在工作中的實(shí)際應(yīng)用阱佛。

事前準(zhǔn)備:

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

ios手機(jī)一臺(tái)

python3+環(huán)境

ATX環(huán)境


App選擇:

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


本系列文章預(yù)計(jì)分成三篇

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

第二篇:更改學(xué)習(xí)興趣填硕,搜索課程并標(biāo)記為想學(xué)麦萤,觀看課程

第三篇:套用單元測(cè)試框架鹿鳖,生成測(cè)試報(bào)告


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

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

1.打開(kāi)app

2.登錄帳號(hào)


1.打開(kāi)app

我們先來(lái)看一個(gè)demo诈唬,看一下打開(kāi)一個(gè)app最簡(jiǎn)單的方法

import wda

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

client.healthcheck()

session= client.session('包名')

代碼非常簡(jiǎn)單韩脏,僅需短短四行就可以實(shí)現(xiàn)打開(kāi)app,每一個(gè)app都有包名铸磅,那么我們?cè)撛趺传@得包名呢赡矢?

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

可以獲得當(dāng)前手機(jī)上所有已安裝的app的包名,是不是很簡(jiǎn)單

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

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

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

運(yùn)行文件阅仔,看看是不是成功打開(kāi)了app吹散,由于后面沒(méi)有加延遲,所以打開(kāi)后會(huì)立馬關(guān)閉八酒,不要感到詫異空民,這是正常的!P呙浴界轩!


2.登錄帳號(hào)

接著我們要進(jìn)入登錄界面(目前在首頁(yè)),那就是先點(diǎn)擊"賬號(hào)"頁(yè)面闭树,然后點(diǎn)擊"登錄/注冊(cè)"(或者你想點(diǎn)擊"我的學(xué)習(xí)"耸棒,然后點(diǎn)擊"登錄"荒澡,也是一樣的)报辱,本來(lái)打算把進(jìn)入app的廣告頁(yè)面(就是右上角是"跳過(guò)"按鈕的那個(gè)頁(yè)面)直接跳過(guò)的,不過(guò)廣告頁(yè)面顯示挺短的单山,一兩秒就過(guò)了碍现,就不專(zhuān)門(mén)做處理了,如果你有興趣的話可以寫(xiě)一下米奸。

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

WebDriverAgent Inspector

我們要做的就是點(diǎn)擊"帳號(hào)"一下,然后點(diǎn)擊"登錄/注冊(cè)"一下

我們可以看到"帳號(hào)"這個(gè)元素的name為帳號(hào)悴晰,同理可得"登錄/注冊(cè)"元素的name為元素/注冊(cè)慢睡,但是在這里提醒一下大家逐工,不要想當(dāng)然以為name就是元素的名字,盡量用inspector確認(rèn)一下元素的屬性再使用

直接上代碼

session(name='帳號(hào)').tap()

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

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

運(yùn)行一下試試~

不出意外報(bào)錯(cuò)了漂辐,沒(méi)有發(fā)現(xiàn)"登錄/注冊(cè)"這一元素泪喊,再看一下app當(dāng)前所在的頁(yè)面,你會(huì)發(fā)現(xiàn)還停留在首頁(yè)髓涯,那可以推斷出帳號(hào)這個(gè)點(diǎn)擊操作沒(méi)有成功執(zhí)行袒啼,為什么呢?

忽然想到纬纪,打開(kāi)app后的廣告頁(yè)蚓再,會(huì)不會(huì)內(nèi)頁(yè)已經(jīng)加載完成(但被廣告頁(yè)遮擋),帳號(hào)的點(diǎn)擊操作實(shí)際點(diǎn)擊到了廣告頁(yè)面上了呢包各?

有一個(gè)想法了摘仅,那怎么讓點(diǎn)擊操作不落在廣告頁(yè)面上,visible屬性了解一下

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

這句比上面多了visible=True髓棋,實(shí)際作用就是當(dāng)name為帳號(hào)的元素可見(jiàn)時(shí)再點(diǎn)擊

ok实檀,那我們?cè)僭囋嚒?/p>

是不是成功進(jìn)入了登錄界面!

然后我們選擇手機(jī)號(hào)登錄的方法按声,然后還要輸入帳號(hào)膳犹,密碼,最后點(diǎn)擊登錄

理想的話應(yīng)該就是四個(gè)操作签则,如下

session(name='手機(jī)號(hào)登錄').tap()

# 輸入帳號(hào)

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

# 輸入密碼

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

# session(value='請(qǐng)輸入手機(jī)號(hào)').set_text('你的帳號(hào)')

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

# 點(diǎn)擊登錄

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

登錄頁(yè)面inspector

由于帳號(hào)輸入框和密碼輸入框沒(méi)有name须床,所以這里我沒(méi)有采用name的定位方式,而是className的定位方式渐裂,另外還多寫(xiě)了一種用value定位的方式(已注釋的兩行)豺旬,有興趣的同學(xué)可以試試。

我們把上面這段代碼拷到之前的代碼后面柒凉,并將你的帳號(hào)和密碼填充上去族阅,運(yùn)行一下,

艸膝捞,又報(bào)錯(cuò)了坦刀!

"Keyboard is not present"

鍵盤(pán)不存在,其實(shí)就是鍵盤(pán)沒(méi)有調(diào)出來(lái)

真不是我故意搞你蔬咬,我一開(kāi)始也是這么想的鲤遥,但是不知道為啥,鍵盤(pán)沒(méi)有調(diào)出來(lái)(這里還希望知道的大佬們能說(shuō)一下原因)

既然不存在林艘,那就把它搞出來(lái)盖奈,set_text方法不行,那我就用tap方法狐援,我點(diǎn)擊帳號(hào)輸入框钢坦,總會(huì)調(diào)出鍵盤(pán)的究孕,所以在"手機(jī)號(hào)登錄"那一句后面再加一句

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

我們?cè)僭囍\(yùn)行一下,這次百分之一百成功了爹凹!

我們成功登錄到了帳號(hào)頁(yè)面有木有~

由于本人沒(méi)用git蚊俺,所以完整代碼保存到百度云上了,感興趣的同學(xué)請(qǐng)到下面的鏈接下載逛万,會(huì)有更詳細(xì)的注釋泳猬。

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

那我們下一篇再見(jiàn)吧,bye~


感謝閱讀宇植,歡迎轉(zhuǎn)載得封。

如有錯(cuò)誤請(qǐng)及時(shí)指出,謝謝指郁!

如有問(wèn)題請(qǐng)留言忙上,我懂的必然會(huì)回復(fù)!

共勉闲坎。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末疫粥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子腰懂,更是在濱河造成了極大的恐慌梗逮,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绣溜,死亡現(xiàn)場(chǎng)離奇詭異慷彤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)怖喻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)底哗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人锚沸,你說(shuō)我怎么就攤上這事跋选。” “怎么了哗蜈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵前标,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我恬叹,道長(zhǎng)候生,這世上最難降的妖魔是什么同眯? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任绽昼,我火速辦了婚禮,結(jié)果婚禮上须蜗,老公的妹妹穿的比我還像新娘硅确。我一直安慰自己目溉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布菱农。 她就那樣靜靜地躺著缭付,像睡著了一般。 火紅的嫁衣襯著肌膚如雪循未。 梳的紋絲不亂的頭發(fā)上陷猫,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音的妖,去河邊找鬼绣檬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛嫂粟,可吹牛的內(nèi)容都是我干的娇未。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼星虹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼零抬!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起宽涌,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤平夜,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后卸亮,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體褥芒,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年嫡良,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锰扶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寝受,死狀恐怖坷牛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情很澄,我是刑警寧澤京闰,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站甩苛,受9級(jí)特大地震影響蹂楣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜讯蒲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一痊土、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧墨林,春花似錦赁酝、人聲如沸犯祠。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)衡载。三九已至,卻和暖如春隙袁,著一層夾襖步出監(jiān)牢的瞬間痰娱,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工菩收, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猜揪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓坛梁,卻偏偏與公主長(zhǎng)得像而姐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子划咐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,071評(píng)論 25 707
  • 點(diǎn)擊查看原文 Web SDK 開(kāi)發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 13,758評(píng)論 0 15
  • 如果說(shuō)我會(huì)懷念一個(gè)地方拴念,可能常常是因?yàn)槟抢镉兄芎贸缘氖澄铮褪窃谶@個(gè)世界的許許多多的角落里褐缠,會(huì)懷念幾個(gè)小小的市鎮(zhèn)...
    蒼羽紗閱讀 270評(píng)論 0 1
  • 2018年6月20日 星期三 晴 前幾天女兒有些懶床政鼠,總是在我的催促下起床,于是我就很不耐煩的警告了她队魏,請(qǐng)...
    知足常樂(lè)朵兒閱讀 162評(píng)論 0 0