Appium+python自動化(六)- 連接模擬器并啟動淘寶APP(超詳解)

簡介

   上一篇講解完模擬器的安裝、配置好以后,就好比我們手機已經買好,并且系統已經做好了,就差我們用數據線和電腦連接開始實戰了,這篇宏哥就帶著小伙伴們和童鞋們趁熱打鐵,講解和分享一下如何連接模擬器(電腦版的虛擬手機),然后再安裝一款APP-淘寶為例。

一、appium+pycharm+連接夜神模擬器并啟動淘寶APP(推薦

1、首先打開pycharm并寫好代碼,這里以淘寶APK作為測試Demo,淘寶APK我是放在電腦桌面(或者放置同代碼同個目錄下)。如下圖所示

 

 

其中|:driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)     #這個地址是怎么來的呢?,見appium設置項,如下圖所示

 
 

2、打開appium并點擊右上角三角符號,如下圖所示

 

 

3、打開夜神模擬器,如下圖所示

 

 

4、打開CMD,進入夜神模擬器的安裝路徑下:D:\software\nox\Nox\bin,運行指令:nox_adb.exe connect 127.0.0.1:62001和指令adb devices查看設備名,如下圖所示

 

 

5、運行pycharm代碼,并查看結果,如下圖所示(暫時不理會出錯問題,后續會講解)但是在模擬器看到新增了兩個小機器人,就表示已經成功了:

 

 

6、參考代碼
 
# coding=utf-8
# 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行

# 2.注釋:包括記錄創建時間,創建人,項目名稱。
'''
Created on 2019-6-17
@author: 北京-宏哥   QQ交流群:707699217
Project:學習和使用python代碼appium+pycharm+連接夜神模擬器
'''
# 3.導入模塊
from appium import webdriver
import time
desired_caps = {}
desired_caps['platformName'] = 'Android'   #android的apk還是IOS的ipa
desired_caps['platformVersion'] = '4.4.2'  #android系統的版本號
desired_caps['deviceName'] = '127.0.0.1:62001'    #手機設備名稱,通過adb devices  查看
desired_caps['appPackage'] = 'com.taobao.taobao'  #apk的包名
desired_caps['appActivity'] = 'com.taobao.tao.welcome.Welcome'  #apk的launcherActivity
# desired_caps['unicodeKeyboard'] = True  # 使用unicodeKeyboard的編碼方式來發送字符串
# desired_caps['resetKeyboard'] = True     # # 將鍵盤給隱藏起來
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)  ##啟動服務器地址,后面跟的是手機信息

 

二、appium+pycharm+連接AVD模擬器(不推薦

1、第一、二步和連接夜神模擬器一樣。

2、啟動AVD模擬器(這個上一篇(傳送門)都給小伙伴們演示過了,不清楚的返回頭復習一下,即可。相當簡單的)

 

3、 我們在進行測試的時候,我們肯定需要查看設備連接是否成功,設備的信息是否能夠獲取。adb devices 就可以實現,直接在命令行控制臺中輸入“ adb devices ”,我們就可以看見如圖連接成功:

4、修改代碼,將一些模擬器的信息修給了即可

 

5、未運行代碼前的Google自帶的AVD模擬器

 

 6、運行代碼后的運行結果

(1)AVD模擬器:

 稍等一會,淘寶APP自動啟動了:

 

 同意協議,淘寶APP就可以在AVD模擬器上,啟動起來進入主頁

 

 

(2)代碼運行結果:

 

 

(3)appium運行結果:

 

 

(7)參考代碼:

 1 # coding=utf-8
 2 # 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行
 3 
 4 # 2.注釋:包括記錄創建時間,創建人,項目名稱。
 5 '''
 6 Created on 2019-6-17
 7 @author: 北京-宏哥   QQ交流群:707699217
 8 Project:學習和使用python代碼appium+pycharm+連接夜神模擬器
 9 '''
10 # 3.導入模塊
11 from appium import webdriver
12 import time
13 desired_caps = {}
14 desired_caps['platformName'] = 'Android'   #android的apk還是IOS的ipa
15 desired_caps['platformVersion'] = '8.0'  #android系統的版本號
16 desired_caps['deviceName'] = 'emulator-5554'    #手機設備名稱,通過adb devices  查看
17 desired_caps['appPackage'] = 'com.taobao.taobao'  #apk的包名
18 desired_caps['appActivity'] = 'com.taobao.tao.welcome.Welcome'  #apk的launcherActivity
19 # desired_caps['unicodeKeyboard'] = True   #使用unicodeKeyboard的編碼方式來發送字符串
20 # desired_caps['resetKeyboard'] = True   #將鍵盤給隱藏起來
21 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) #啟動服務器地址,后面跟的是手機信息

 

好了,到此夜神模擬器和AVD模擬器啟動淘寶APP,已經全部演示完成,大功告成,降龍十八掌已全部打完,打完收回來。額。。。。。還差一掌才十七掌(亢龍有悔)

三、小結(亢龍有悔)

亢龍有悔,將前邊十七掌合起來總結一下:

1、介紹一下,標記的信息,如何填寫和查找

deviceName:這個是設備名稱,可以選擇模擬器設置的屬性中的IMEI填入,或者手機名稱

udid:這里填寫上邊讓你記住的東西,如果使用其他模擬器或者真機等連接,同樣的位置,記下就行

appPackage和appActivity,教大家一個相對簡單的方法來獲取,當然也可以采取反編譯(app壓縮成rar或者zip,然后打開看xml文件)的手段,總之,方法很多!

進入sdk\build-tools\版本號 的目錄下(配置系統變量后就尅不用進入了),cmd命令:

aapt dump badging C:\apps\xxxxx.apk      (路徑\app包名,也就是安裝包在你電腦的位置)

 

看下,上邊標記的就是我們要的兩個值!

至于下邊的URL是固定格式,不要研究為什么(千年的王八的蛋,萬年龜的屁股——喝一口水淡(蛋)定一下,這是規定(龜腚))!

開始運行報錯了,最后通過上邊的方法查看是因為appActivity錯誤了,修改版本號和appActivity后還是繼續報錯,說:安裝包不存在,然后在appium中配置

 

 

配置好以后,按上邊的步驟運行代碼,可以看到appium日志沒有報錯、運行代碼沒有報錯、成功的將淘寶的安裝包安裝在夜神模擬器上了

 

2、遇到的坑1:在CMD指令中輸入appium,提示如下圖所示

 
 

解決方式:降低nodejs的版本,參考鏈接cmd中提示appium錯誤

3、遇到的坑2:運行appium提示error: Couldn't start Appium REST http interface listener. Requested port is already in use. Please make sure there's no other instance of Appium running already.

解決方式:因為端口被node占用,可以用如下退出node,找出PID命令::netstat -ano|findstr "7922"   (這個4723是被占用的端口,我們需要先找該占用該端口程序的PID)。停止PID命令:taskkill  /pid[進程碼] -t(結束該進程) -f(強制結束該進程以及所有子進程)。

不知道端口占用的小伙伴們可以看宏哥的這篇查看端口占用的博文:傳送門

4、宏哥可能會問為什么推薦夜神模擬器而不推薦AVD模擬器了,是不是宏哥被夜神收買了,實際不是這樣的,因為國內現狀就是絕大多數給QA人員配置的電腦不是很高,而那個AVD有需要高配置,否則卡的一比,所以就給小伙伴們推薦夜神了,而不是Google自帶的模擬器。當然了如果你的電腦配置高那就按照你的喜好和口味選擇適合自己的才是硬道理。

5、好了,就給小伙伴們介紹這兩種就夠用了,如用其他的可以參考這一篇文章。都是萬變不離其宗。

宏哥不能保證所整理都符合大家的口味,但我能保證每一篇都是用心去寫和用心去整理,我始終認同“分享的越多,你的價值增值越大”,歡迎大家關注我的博客和個人公眾號的技術分享。在分享中進步,越努力越幸運,期待我們都有美好的明天!

支持宏哥的朋友們和宏哥的宏粉記得點波推薦哦,您的肯定就是我進步的動力。鄙人先在這里給您道謝了,謝您嘞~~

個人公眾號(因為許多文章都被搬到別人的公眾號里了,還是原創,所以宏哥果斷也開一個公眾號。打算與博客園文章同步,希望大家隨時隨地學習與進步):

微信群(因為有人給我發短消息說公司不讓用QQ,就幫忙建立一個微信群,歡迎加入討論和交流)

 

posted @ 2019-06-17 11:21 北京-宏哥 閱讀(...) 評論(...) 編輯 收藏
四川金7乐历史开奖号码查询