Mac下appium-python環(huán)境搭建&在MQC與AWS-Device Farm中使用appium進(jìn)行腳本測試

記一個Android菜雞的走偏之路。谆奥。
前些日子給組里QA姐姐們探了探Appium這個自動化測試框架在一些平臺上的使用祖凫,網(wǎng)上的資料都比較零散,就自己嘗試歸納總結(jié)了一下搭建環(huán)境的步驟
之前未曾裝過Appium的相關(guān)環(huán)境的話违施,按以下步驟一路走完的話應(yīng)該就可以跑起來了。瑟幕。
都是一些簡單的操作磕蒲,視實(shí)際按需取用吧
emmm僅對我本地Mac OS 10.12.6 + python 2.7.10版本負(fù)責(zé)(:з」∠)

環(huán)境搭建

0.安裝Xcode Command Line Tools

(app store安裝Xcode后)
terminal下輸入

xcode-select --install

1.安裝brew

terminal下輸入

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.git

terminal下輸入

brew install git

3.使用brew安裝node和npm

terminal下輸入

brew install node

安裝完輸入 npm -v 來測試是否成功安裝

4.安裝java

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下載Java SE Development Kit 8
選擇jdk-xxxxx-macosx-x64.dmg下載并安裝

5.安裝Android Developer Tools

https://developer.android.com/index.html
獲取android studio并安裝運(yùn)行一次

6.添加java&ADB環(huán)境變量

terminal下輸入

vim ~/.bash_profile

按i進(jìn)入Insert模式
在最后添加:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
#此處“jdk1.8.0_xxx.jdk”為實(shí)際安裝的java版本
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export ANDROID_HOME=~/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH

按ESC輸入:wq回車保存退出
terminal下輸入java -v查看java版本是否正確,輸入adb查看ADB是否配置正確

7.命令行安裝appium

terminal下輸入

npm install -g appium
npm install -g appium-doctor
npm install wd

由于安裝需要連接國外的技術(shù)站點(diǎn)只盹,國內(nèi)網(wǎng)絡(luò)不穩(wěn)定導(dǎo)致安裝失敗辣往。大家可嘗試使用淘寶鏡像,在~目錄創(chuàng)建文件.npmrc殖卑,然后加入一行

chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver

8.為python安裝pip

8.1 Install easy_install

curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python

8.2 Install pip

sudo easy_install pip

9.安裝Appium for python客戶端

pip install Appium-Python-Client --user

10.使用appium-doctor檢查安裝

terminal下輸入
appium-doctor
輸出如

info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ? The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ? Node version is 8.1.4
info AppiumDoctor  ? Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor  ? Xcode Command Line Tools are installed.
info AppiumDoctor  ? DevToolsSecurity is enabled.
info AppiumDoctor  ? The Authorization DB is set up properly.
WARN AppiumDoctor  ? Carthage was NOT found!
info AppiumDoctor  ? HOME is set to: /Users/t_chenju
info AppiumDoctor  ? ANDROID_HOME is set to: /Users/t_chenju/Library/Android/sdk
info AppiumDoctor  ? JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
info AppiumDoctor  ? adb exists at: /Users/t_chenju/Library/Android/sdk/platform-tools/adb
info AppiumDoctor  ? android exists at: /Users/t_chenju/Library/Android/sdk/tools/android
info AppiumDoctor  ? emulator exists at: /Users/t_chenju/Library/Android/sdk/tools/emulator
WARN AppiumDoctor  ? Bin directory for $JAVA_HOME is not set
info AppiumDoctor ### Diagnostic completed, 2 fixes needed. ###
info AppiumDoctor
info AppiumDoctor ### Manual Fixes Needed ###
info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:
WARN AppiumDoctor - Please install Carthage. Visit https://github.com/Carthage/Carthage#installing-carthage for more information.
WARN AppiumDoctor - Add '$JAVA_HOME/bin' to your PATH environment
info AppiumDoctor ###
info AppiumDoctor
info AppiumDoctor Bye! Run appium-doctor again when all manual fixes have been applied!
info AppiumDoctor

檢查WARN項(xiàng)

至此站削,本地的appium腳本測試環(huán)境就搭建好了
可按照下方 -在MQC中使用Appium進(jìn)行腳本測試- 鏈接里的內(nèi)容進(jìn)行腳本開發(fā)對環(huán)境進(jìn)行驗(yàn)證

appium reference<中文>

http://appium.io/slate/cn/master/?python

在MQC中使用Appium進(jìn)行腳本測試

http://mqc.aliyun.com/doc.htm?id=17

在AWS-Device Farm中使用appium進(jìn)行腳本測試

與MQC僅支持一個main.py作為testsuite,并且使用unittest作為用例測試工具不同的是孵稽,AWS-Device Farm所提供的測試基礎(chǔ)環(huán)境是可移植并可按實(shí)際需求添加第三方拓展包的许起。我們需要在本地建立workspace文件夾,將此文件夾作為一個python的虛擬環(huán)境與本地開發(fā)環(huán)境隔離開來(沙盒)菩鲜。在AWS上進(jìn)行腳本測試時將此環(huán)境中的所必需的測試腳本文件园细、第三方拓展一并打包上傳即可。

  • 若已在上步“在MQC中使用Appium進(jìn)行腳本測試”編寫好可以運(yùn)行的腳本文件接校,可以將其 main.py 與 desired_capabilities.py一同拷貝至下面的“tests”文件夾即可猛频。

安裝虛擬環(huán)境工具

  1. terminal下輸入
sudo easy_install virtualenv
  1. 按以下鏈接中 “Build the Appium Python Test Package” 標(biāo)簽下的步驟進(jìn)行構(gòu)建環(huán)境
    https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types-android-appium-python.html
    • 注意:由于virtualenv,此文件夾與本地python環(huán)境隔離蛛勉,在以上網(wǎng)頁 <b>step4</b> "Make sure you have py.test installed in your virtual environment and test cases are discoverable by the following command, which you should run from your virtual environment workspace folder." <b>之前</b>鹿寻,將編寫好的腳本文件拷貝至tests文件夾,并在此環(huán)境中安裝你需要的第三方包及Appium-Client董习。例如:
      pip install Appium_Python_Client
      
  2. 按照以上網(wǎng)頁的步驟得到的 .zip 文件即為符合要求的AWS測試腳本集文件烈和。

進(jìn)一步的測試范例,可參考

https://github.com/appium/sample-code/tree/master/sample-code/examples

常用的一些api

查找當(dāng)前l(fā)ayout控件元素

1. driver.find_element_by_id()
2. driver.find_element_by_name() (iOS可用)
3. driver.find_element_by_accessibility_id()
4. driver.find_element_by_classname()
5. driver.find_element_by_xpath()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末皿淋,一起剝皮案震驚了整個濱河市招刹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窝趣,老刑警劉巖疯暑,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異哑舒,居然都是意外死亡妇拯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門洗鸵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來越锈,“玉大人,你說我怎么就攤上這事膘滨「势荆” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵火邓,是天一觀的道長丹弱。 經(jīng)常有香客問我,道長铲咨,這世上最難降的妖魔是什么躲胳? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮纤勒,結(jié)果婚禮上坯苹,老公的妹妹穿的比我還像新娘。我一直安慰自己摇天,他們只是感情好北滥,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闸翅,像睡著了一般再芋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坚冀,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天济赎,我揣著相機(jī)與錄音,去河邊找鬼记某。 笑死司训,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的液南。 我是一名探鬼主播壳猜,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼滑凉!你這毒婦竟也來了统扳?” 一聲冷哼從身側(cè)響起喘帚,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咒钟,沒想到半個月后吹由,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朱嘴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年倾鲫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萍嬉。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡乌昔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出壤追,到底是詐尸還是另有隱情磕道,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布大诸,位于F島的核電站捅厂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏资柔。R本人自食惡果不足惜焙贷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贿堰。 院中可真熱鬧辙芍,春花似錦、人聲如沸羹与。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纵搁。三九已至吃衅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腾誉,已是汗流浹背徘层。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留利职,地道東北人趣效。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像猪贪,于是被迫代替她去往敵國和親跷敬。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

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