搭建appium+python自動化測試環(huán)境

一.appium簡介

工作原理:


a.執(zhí)行腳本時必尼,client-java將腳本翻譯為webdriver協(xié)議,與appium server通過json進(jìn)行交互

b.appium server通過webdriver協(xié)議將翻譯腳本翻譯為UI Automator命令岗宣,通過bootstrap執(zhí)行

c.bootstra把執(zhí)行結(jié)果轉(zhuǎn)發(fā)回appium server

二.搭建appium+python自動化環(huán)境

以下安裝可以參考這個網(wǎng)址:Appium移動自動化測試

1).安裝java環(huán)境(記得把jdk和jer路徑放到環(huán)境變量中)弟蚀,安裝教程地址:java環(huán)境配置脚曾,可在cmd下輸入java查看是否配置完成

2).安裝android adt或者sdk

3).安裝sdk manager

4)安裝sdk platform-tools

5)安裝android模擬器(如果是真機(jī)測試唐全,這邊可以忽略)

6)安裝adb環(huán)境闽瓢,下載鏈接:adbdriver.zip接癌,配置教程:adb配置教程,可在cmd下輸入adb查看是否配置完成

7)下載appium—desktop并安裝扣讼。下載地址https://github.com/appium/appium-desktop/releases/缺猛,下載最新版

三.獲取文件的app的package、activity方式

1)在cmd環(huán)境下届谈,cd到sdk\builds-tools\ 目錄下

2)在剛剛的目錄下執(zhí)行aapt dump badging E:\apk\es3.apk(包在電腦上的路徑)枯夜,就可以查看到app的package和activity


四.獲取頁面的元素

1)把手機(jī)連接電腦(cmd命令行里輸入:adb ?devices弯汰,可以看到當(dāng)前連接的手機(jī))

2)打開android sdk里面的uiautomator艰山,點(diǎn)擊頁面上方的手機(jī)屏幕的按鈕,uitomator上出現(xiàn)的手機(jī)上此時的頁面

3)可以在automator頁面的右邊咏闪,查看到需要定位頁面的元素

五.用python代碼編寫執(zhí)行

1)find_element_by_id("XXX")

2)find_element_by_class_name("XXXX")

3)find_element_by_accessibility_id("XXX") ? 查詢界面元素的content-desc屬性 ?在當(dāng)期那頁面唯一

4)find_element_by_xpath("XXXX")(xpath的原理:就是先找到一個唯一的id曙搬,再在此元素下面查找其他的元素)

xpath=“//*[@resource-id=' ?']//”

5)還有一種是通過autma投入 api,來控制設(shè)備

#1 使用resourceld方式

driver.find_element_by_android_uiautomator('new UiSelector().resoureId(“%s”)')

#2 使用text方式

driver.find_element_by_android_uitomator('new UiSelector().text("%s")')

# 3使用description方式

driver.find_element_by_android_uitomator('new UiSeletor().description("%s")')

# 4使用class方式

driver.find_element_by_android_uitomator('new UiSelector().className("%s")')

#5.使用index方式

driver.find_element_by_android_uitomator('new UiSelector().index("%s")')

六.操作手勢

1)常用的方式

click() ?點(diǎn)擊

send_keys() ?輸入數(shù)據(jù)

swipe(self, start_x, start_y, end_x, end_y, duration=None) ?滑動

2)TouchAction庫(單觸點(diǎn)操作)

(定義了短按press鸽嫂、釋放release纵装、移動到moveTo、點(diǎn)擊tap据某、等待wait橡娄、長按longpress、執(zhí)行perform)

使用方式

from appium.webdriver.common.touch_action import TouchAction

driver.perfrom(TouchAction().tap(el))

或者TouchAction().tap(el).perfrom

3)MultiAction庫(多觸點(diǎn)操作)

from appium.webdriver.common.multi_action import MultiAction

action0=TouchAction().tap(el1)

action1=TouchAction().tap(el2)

MultiTouch().add(action0).add(action1).perform

七.python的安裝

1)win下載地址:https://www.python.org/downloads/windows/(一般下載3.6版本的)

2)安裝好了癣籽,記得配置環(huán)境(如果是3.5以上的版本這邊勾選就就會自動添加到環(huán)境變量中)

3)判斷python是否已安裝

在cmd環(huán)境中輸入python:出現(xiàn)如下情況證明已安裝成功

八.pycharm的使用

1)下載:下載社區(qū)版的即可(下載地址:https://www.jetbrains.com/pycharm/download/#section=windows

2)安裝:可參考https://blog.csdn.net/ziyouhahaze/article/details/78230811

3)使用

a.新建一個工程

選擇file——new project挽唉,填寫保存路徑,并命名

b.創(chuàng)建一個項目

c.創(chuàng)建一個文件

左側(cè)導(dǎo)航欄選擇 Pure Python 筷狼,右側(cè)的 Location 選擇項目的路徑瓶籽, Interpreter 通過下拉欄選擇 Python版本 ,這里直接使用 Python 的安裝路徑即可埂材。

選擇完成之后塑顺,點(diǎn)擊 Create 按鈕,進(jìn)入界面俏险。這時就可以創(chuàng)建文件了严拒,步驟如下圖所示:?

d.創(chuàng)建一個文件

Crossin-practices → New → Python File?

九.appium—desktop的使用

下載后直接打開,出現(xiàn)下面頁面


這邊appium和UItomator的使用上有沖突(1.6.2之后的版本這個問題已修復(fù))竖独,在使用apium—desktop時就無法正常使用automator裤唠,直接點(diǎn)擊start server的按鈕,即打開appium

十.自動化腳本的基本知識講解

1)基本配置


基本配置

其中:platforName:設(shè)備的名稱

? ? ? ? ? ?platforVersion:手機(jī)的版本

? ? ? ? ? ?devicesName:手機(jī)的設(shè)備號(cmd中adb devices獲仍蕖)

? ? ? ? ? ?appPackage:包名

? ? ? ? ? ? appActivity:安卓應(yīng)用的操作界面

? ? ? ? ? ? ?unicodeKeyboard:安裝一個中文的輸入法

2)獲取頁面元素并操作


十一.學(xué)習(xí)的參考資料

Appium移動自動化測試教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末巧骚,一起剝皮案震驚了整個濱河市赊颠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌劈彪,老刑警劉巖竣蹦,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異沧奴,居然都是意外死亡痘括,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門滔吠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纲菌,“玉大人,你說我怎么就攤上這事疮绷『采啵” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵冬骚,是天一觀的道長椅贱。 經(jīng)常有香客問我,道長只冻,這世上最難降的妖魔是什么庇麦? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮喜德,結(jié)果婚禮上山橄,老公的妹妹穿的比我還像新娘。我一直安慰自己舍悯,他們只是感情好航棱,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贱呐,像睡著了一般丧诺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奄薇,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天驳阎,我揣著相機(jī)與錄音,去河邊找鬼馁蒂。 笑死呵晚,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沫屡。 我是一名探鬼主播饵隙,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼沮脖!你這毒婦竟也來了金矛?” 一聲冷哼從身側(cè)響起芯急,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驶俊,沒想到半個月后娶耍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饼酿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年榕酒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片故俐。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡想鹰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出药版,到底是詐尸還是另有隱情辑舷,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布刚陡,位于F島的核電站惩妇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏筐乳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一乔妈、第九天 我趴在偏房一處隱蔽的房頂上張望蝙云。 院中可真熱鬧,春花似錦路召、人聲如沸勃刨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽身隐。三九已至,卻和暖如春唯灵,著一層夾襖步出監(jiān)牢的瞬間贾铝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工埠帕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留垢揩,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓敛瓷,卻偏偏與公主長得像叁巨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子呐籽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

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