appium+Python真機(jī)運(yùn)行

appium+Python真機(jī)運(yùn)行


一,打開手機(jī)的USB調(diào)試模式


二,連接手機(jī)到電腦

將手機(jī)用數(shù)據(jù)線連接到電腦,并授權(quán)USB調(diào)試模式。查看連接的效果,在cmd下運(yùn)行命令:adb devices查看UDID,如下圖所示:

如果有輸出,就表示連接成功。


三,啟動(dòng)Appium服務(wù)

打開appium-desktop







四,測(cè)試腳本的編寫及運(yùn)行

真機(jī)運(yùn)行的測(cè)試腳本與模擬器上幾乎是相同的,就是有些兒配置不太一樣。具體腳本demo如下demo.py:

import time???????#導(dǎo)入timefrom appium import webdriver???#導(dǎo)入appiumdesired_caps = {}desired_caps['platformName'] = 'Android'??#測(cè)試的手機(jī)是Androiddesired_caps['deviceName'] = '127.0.0.1:7555'????#設(shè)備名稱desired_caps['platforVersion'] = '6.0.1'???#設(shè)備系統(tǒng)版本desired_caps['app'] = r'C:\Users\Administrator\Desktop\comqinheispeak_3.4.3.12202a.apk'????#app路徑desired_caps['appPackage'] = 'com.qinhe.ispeak'??#app包名desired_caps['appActivity'] = 'com.qinhe.ispeak.AppStartActivity'???

desired_caps["unicodeKeyboard"] = "True"desired_caps["resetKeyboard"] = "True"desired_caps['noReset'] = 'True'driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)???#啟動(dòng)apptime.sleep(5)???#啟動(dòng)app時(shí),需要一定時(shí)間進(jìn)入引導(dǎo)頁,所以必須設(shè)置等待時(shí)間,不然下面會(huì)一直報(bào)錯(cuò)定位不到元素

?

注:在測(cè)試用例運(yùn)行過程中,正常情況下手機(jī)會(huì)自動(dòng)安裝Settings和Unlock,有些手機(jī)有兼容性問題,Settings和Unlock程序打不開,所以每次運(yùn)行腳本都會(huì)提示安裝,按提示允許安裝就可以。


Appium的Desired Capabilities是擴(kuò)展了webdriver的Desired Capabilities的,下面的一些通用配置是需要指定的:?

[if !supportLists]·?[endif]automationName:使用哪種自動(dòng)化引擎。appium(默認(rèn))還是Selendroid?

[if !supportLists]·?[endif]platformName:使用哪種移動(dòng)平臺(tái)。iOS,?Android, orFirefoxOS?

[if !supportLists]·?[endif]deviceName:?jiǎn)?dòng)哪種設(shè)備,是真機(jī)還是模擬器?iPhone Simulator,?iPad Simulator,?iPhone Retina 4-inch,?Android Emulator,?Galaxy S4, etc...

[if !supportLists]·?[endif]app:應(yīng)用的絕對(duì)路徑,注意一定是絕對(duì)路徑。如果指定了appPackage和appActivity的話,這個(gè)屬性是可以不設(shè)置的。另外這個(gè)屬性和browserName屬性是沖突的。

[if !supportLists]·?[endif]browserName:移動(dòng)瀏覽器的名稱。比如Safari' for iOS and 'Chrome', 'Chromium', or 'Browser' for Android;與app屬性互斥。

[if !supportLists]·?[endif]udid:物理機(jī)的id。比如1ae203187fc012g。


下面這些屬性是android平臺(tái)特定的:?

[if !supportLists]·?[endif]appActivity:待測(cè)試的app的Activity名字。比如MainActivity, .Settings。注意,原生app的話要在activity前加個(gè)"."。

[if !supportLists]·?[endif]appPackage:待測(cè)試的app的java package。比如com.example.android.myApp, com.android.settings。

?

獲取Android app的appActivity

網(wǎng)上有寫很多方法https://testerhome.com/topics/1030,評(píng)論區(qū)還有補(bǔ)充

我用的是把a(bǔ)pk后綴改為zip格式,打開壓縮包后再打開AndroidManifest.xml文件。找到manifest和activity地方,就是包名跟activity名。?


運(yùn)行python

?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Appium介紹 Appium是一個(gè)開源的自動(dòng)化測(cè)試工具,其支持iOS和安卓平臺(tái)上的原生的,基于移動(dòng)瀏覽器的,...
    Hello桃sir閱讀 27,601評(píng)論 0 30
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,774評(píng)論 1 45
  • 目錄 安卓主流的自動(dòng)化測(cè)試框架及對(duì)比.................................... 2 ...
    323e134d370d閱讀 2,418評(píng)論 0 7
  • 歲月重重,又是一秋。寄人相思雁不歸,何為歸客?昨日難逢今時(shí)緣,一步匆匆,三生為夢(mèng)。明白也好,渾噩也罷!生生世世...
    竹鴻初閱讀 292評(píng)論 0 2
  • 請(qǐng)深愛是嗎?可是現(xiàn)在的我是絕對(duì)配不上你的。我在為生存而掙扎,而您在享受投資的樂趣。我知道您在快樂的生活著,并且每天...
    玉清爵閱讀 385評(píng)論 0 0

友情鏈接更多精彩內(nèi)容