Appium實(shí)戰(zhàn)-開始

初衷

最近研究了挺多有關(guān)于Appium的東西。也寫了一些Appium的學(xué)習(xí)筆記苦掘。

  1. 《Appium——驅(qū)動(dòng)和常用功能的封裝》
  2. 《Appium——處理混合APP中H5的操作》
  3. 《Appium——無(wú)安卓源碼的一些準(zhǔn)備》
  4. 《Appium學(xué)習(xí)之路—環(huán)境搭建》

相信很多人和我一開始一樣今阳,都會(huì)覺得學(xué)習(xí)文檔太少了堪唐,但是沒什么基礎(chǔ)的又看不懂別人寫好的代碼缕探,官方的demo比較簡(jiǎn)單等等問(wèn)題,不知道怎么走下去唆铐。

其實(shí)最大的坎還是在自己哲戚,只要開始寫,一邊寫一邊Google或链,慢慢的會(huì)發(fā)現(xiàn)很其實(shí)并不難惫恼。

Appium實(shí)戰(zhàn)我打算記錄自己寫自動(dòng)化的過(guò)程。希望對(duì)新司機(jī)有幫助澳盐。

注:整個(gè)流程是按照Page Object來(lái)寫的祈纯,直接擼代碼的請(qǐng)看《Appium——驅(qū)動(dòng)和常用功能的封裝》然后自己擼代碼

幾種設(shè)計(jì)模式

線性模式

我稱呼它為擼代碼,也就是按照業(yè)務(wù)邏輯直接hard code叼耙⊥罂基本上初學(xué)者都會(huì)這樣折騰,當(dāng)然筛婉,折騰了一段時(shí)間就會(huì)覺得很操蛋簇爆,自己都不想看自己寫的代碼。

Page Object

比較流行的設(shè)計(jì)模式爽撒,高度解耦入蛆,初學(xué)者看起來(lái)會(huì)覺得有點(diǎn)操蛋,但是了解了邏輯之后硕勿,會(huì)發(fā)現(xiàn)這樣做非常棒哨毁,維護(hù)起來(lái)簡(jiǎn)直是輕松加愉快。

通用框架

通用框架就是比較高級(jí)的做法了源武,實(shí)施起來(lái)比較麻煩扼褪,如果水平到了想幻,這種方式肯定是最好的,利用關(guān)鍵字來(lái)驅(qū)動(dòng)程序话浇,是比較高級(jí)的境界脏毯。缺點(diǎn)就是比較難。幔崖。食店。。

設(shè)計(jì)思路

整個(gè)設(shè)計(jì)思路是基于Page Object模式岖瑰,如下圖:

設(shè)計(jì)圖

什么是Page Object叛买?

When you write tests against a web page, you need to refer to elements within that web page in order to click links and determine what's displayed. However, if you write tests that manipulate the HTML elements directly your tests will be brittle to changes in the UI. A page object wraps an HTML page, or fragment, with an application-specific API, allowing you to manipulate page elements without digging around in the HTML.

原來(lái)是Web端的模式,搬到移動(dòng)端來(lái)蹋订,就是把頁(yè)面分拆成一個(gè)一個(gè)元素,如示意圖所示刻伊,我拆分為元素?cái)?shù)據(jù)露戒、元素定位、元素操作捶箱、測(cè)試步驟這么些東西智什。

有什么好處?

這種模式整個(gè)架構(gòu)看起來(lái)比直接擼代碼復(fù)雜了很多丁屎,不過(guò)當(dāng)遇到一些坑爹的問(wèn)題時(shí)荠锭,尤其開發(fā)頻繁改動(dòng)的時(shí)候,這種設(shè)計(jì)模式的優(yōu)勢(shì)就出來(lái)了晨川,比如開發(fā)改了元素的ID那些東西证九,那么我們只要修改相應(yīng)ID就行了,所有和這個(gè)元素相關(guān)的都直接關(guān)聯(lián)修改了共虑,愧怜,而直接擼代碼,涉及到的地方可能會(huì)有很多妈拌,改動(dòng)起來(lái)很麻煩拥坛。查找方法,測(cè)試步驟什么的都不用改尘分,維護(hù)起來(lái)相對(duì)輕松猜惋。

一些環(huán)境

簡(jiǎn)單列一下我的環(huán)境吧:


系統(tǒng):Mac OS X EI Capitan

Python: 2.7

Appium: 1.4.16

IDE: PyCharm

測(cè)試系統(tǒng):Android

測(cè)試對(duì)象:微證券(應(yīng)用商店可以直接下載)


我的項(xiàng)目結(jié)構(gòu):

____.DS_Store
|____config.py
|____Data
| |____data.json
|____img
| |____.DS_Store
| |____caixun
| | |____gupiao.png
| | |____gupiaoneirong.png
| | |____jijin.png
| | |____jijinneirong.png
| | |____tuijian.png
| | |____tuijianneirong.png
| | |____xinsanban.png
| | |____xinsanbanneirong.png
| | |____zhaiquan.png
| | |____zhaiquanneirong.png
| | |____黃金.png
|____Report
|____test.py
|____TestCase
| |______init__.py
| |____common.py
| |____testCaixun.py
|____View
| |______init__.py
| |______init__.pyc
| |____BaseTestCase.py
| |____BaseView.py
| |____Caixun.py

大的目錄我是這么劃分的:

  1. Data 用來(lái)放置一些數(shù)據(jù)
  2. Report 存放測(cè)試報(bào)告
  3. TestCase 存放測(cè)試用例
  4. img 存放一些截圖
  5. config.py 配置文件

當(dāng)然寫到后續(xù)可能會(huì)做一些調(diào)整,畢竟我才剛剛開始寫培愁。

一些忠告

  1. 一些很弱智的問(wèn)題就自己去Google著摔,比如Appium怎么開始啊,怎么學(xué)啊竭钝,環(huán)境怎么搭建袄孀病雹洗!
  2. 多用Google
  3. StockOverflow是個(gè)好地方
  4. 多寫、多寫卧波、多寫
  5. 人腦不是萬(wàn)能的时肿,遇到問(wèn)題解決后記錄下來(lái)才是王道
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市港粱,隨后出現(xiàn)的幾起案子螃成,更是在濱河造成了極大的恐慌,老刑警劉巖查坪,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寸宏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡偿曙,警方通過(guò)查閱死者的電腦和手機(jī)氮凝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)望忆,“玉大人罩阵,你說(shuō)我怎么就攤上這事∑羯悖” “怎么了稿壁?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)歉备。 經(jīng)常有香客問(wèn)我傅是,道長(zhǎng),這世上最難降的妖魔是什么蕾羊? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任喧笔,我火速辦了婚禮,結(jié)果婚禮上肚豺,老公的妹妹穿的比我還像新娘溃斋。我一直安慰自己,他們只是感情好吸申,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布梗劫。 她就那樣靜靜地躺著,像睡著了一般截碴。 火紅的嫁衣襯著肌膚如雪梳侨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天日丹,我揣著相機(jī)與錄音走哺,去河邊找鬼。 笑死哲虾,一個(gè)胖子當(dāng)著我的面吹牛丙躏,可吹牛的內(nèi)容都是我干的择示。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晒旅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼栅盲!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起废恋,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤谈秫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后鱼鼓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拟烫,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年迄本,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了硕淑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嘉赎,死狀恐怖喜颁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情曹阔,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布隔披,位于F島的核電站赃份,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏奢米。R本人自食惡果不足惜抓韩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鬓长。 院中可真熱鬧谒拴,春花似錦、人聲如沸涉波。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)啤覆。三九已至苍日,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窗声,已是汗流浹背相恃。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笨觅,地道東北人古话。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓凯砍,卻偏偏與公主長(zhǎng)得像蛆封,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扫俺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

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