欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python+appium自動(dòng)化測試之如何控制App的啟動(dòng)和退出

 更新時(shí)間:2022年02月15日 09:35:09   作者:蝸牛Tin  
本文主要介紹了python+appium自動(dòng)化測試之如何控制App的啟動(dòng)和退出,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

由于本人使用的是Android設(shè)備做自動(dòng)化測試,所以以下內(nèi)容均基于Android系統(tǒng)做出的整理

一、啟動(dòng)app

啟動(dòng)app需要設(shè)置Capability參數(shù),而Capability參數(shù)放在Desired Capalibity中,Desired Capalibity告訴Appium想要的自動(dòng)化平臺(tái)和應(yīng)用程序,這是一組鍵值對(duì),主要是用于通知Appium服務(wù)器建立需要的session

設(shè)置Capability的公共部分

platformName     自動(dòng)化測試手機(jī)的操作系統(tǒng)(Android/iOS)
platformVersion  手機(jī)對(duì)應(yīng)的版本(Android 10)
deviceName       連接的設(shè)備名(模擬器或真機(jī))

設(shè)置Capability 的Android部分

appActivity 通過APK包獲取,獲取方式在下方有說明

appPackage 通過APK包獲取包名,獲取方式在下方有說明

Android完整案例:

def start(self):
        caps = {"platformName": "Android",
                "deviceName": "U4AIUKFAL7W4MJLR",
                "platforVersion": "9",
                "appPackage": "com.sina.weibo",
                "appActivity": "com.sina.weibo.SplashActivity",
                "autoGrantPermissions": "true",
                "automationName": "UiAutomator2"
                }

        self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)

1.plateforName的作用?

操作系統(tǒng),例如:Android、iOS、FirefoxOS

2.deviceName的作用是什么?(獲取設(shè)備名的方式在下面內(nèi)容)

設(shè)備名,連接的設(shè)備名(真機(jī)或模擬器)

3.platforVersion的作用是什么?

操作系統(tǒng)版本,對(duì)應(yīng)連接的模擬器或手機(jī)的系統(tǒng)版本

4.appActivity和appPackage的作用是什么?(獲取的方式在下面內(nèi)容)

使Appium確切知道應(yīng)為您的應(yīng)用程序啟動(dòng)哪個(gè)程序包和活動(dòng)。否則,Appium會(huì)嘗試從您的應(yīng)用清單中自動(dòng)確定這些內(nèi)容。

5.autoGrantPermissions的作用是什么?

讓appium自動(dòng)授權(quán)app權(quán)限,如果noReset為True,則該條不生效(該參數(shù)為Android獨(dú)有),對(duì)應(yīng)的值為True或False

6.automationName的作用是什么?

使用引擎,默認(rèn)為Appium,其中Appium、UiAutomator2、Selendroid、Espresso用于Android,XCUITest用于iOS

7.webdriver.Remote("http://localhost:4723/wd/hub", caps)的作用是什么?

webdriver.Remote實(shí)際上就是原生webdriver的子類,另外Remote()構(gòu)造函數(shù)的第一個(gè)參數(shù)中需要顯示指定appium server監(jiān)聽的端口

二、退出App

def teardown(self):
		driver.quit()

三、appium實(shí)現(xiàn)原理

客戶端(即PC端)通過4723端口,向服務(wù)端(server)發(fā)送代碼請(qǐng)求,服務(wù)端與移動(dòng)端(設(shè)備:手機(jī)或模擬器)通過4724端口進(jìn)行通信,當(dāng)服務(wù)端接收到請(qǐng)求后,移動(dòng)端的Bootstrap.jar包,將命令傳送給Uiautomator執(zhí)行點(diǎn)擊、滑動(dòng)的操作。

Bootstrap的作用:啟動(dòng)socket通信,監(jiān)聽4724端口

如下圖所示:

appium只是一個(gè)框架,調(diào)用的自動(dòng)化框架是Android或iOS本身的框架,默認(rèn)端口號(hào)是4723,本地的IP地址是:http://127.0.0.1,或http://locahost

四、如何獲取deviceName?

移動(dòng)端在“手機(jī)->設(shè)置->開發(fā)者選項(xiàng)”中打開USB調(diào)試,PC端按下【W(wǎng)indows+R】,輸入cmd,運(yùn)行cmd,輸入adb devices,如下圖所示:

圖中的device前面的參數(shù)即表示設(shè)備名:U4AIUKFAL7W4MJR

五、如何獲取apk的appActivity和appPackage?

1、在Android SDK的文件夾下找到aapt.exe應(yīng)用程序,在"D:\Android\SDK\build-tools\30.0.1"路徑下,如下圖所示:

2、按下【W(wǎng)indows+R】,輸入cmd,運(yùn)行cmd ,進(jìn)入該盤,再進(jìn)入appt.exe所在的文件夾,輸入的內(nèi)容為:“cd D:\Android\SDK\build-tools\30.0.1”,則可以進(jìn)入該文件夾,進(jìn)入文件夾后輸入“aapt dump badging apk所在的路徑+apk名字”,如下圖所示即為成功,下圖所示為獲取到的app的appPackage

下圖所示為獲取到的app的appActivity

 到此這篇關(guān)于python+appium自動(dòng)化測試之如何控制App的啟動(dòng)和退出的文章就介紹到這了,更多相關(guān)python appium App的啟動(dòng)和退出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)批量修改文件名實(shí)例

    Python實(shí)現(xiàn)批量修改文件名實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)批量修改文件名的方法,實(shí)例分析了兩種實(shí)現(xiàn)批量修改文件名的技巧,涉及os.rename重命名方法、正則替換及字符串操作的相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • Python定義函數(shù)實(shí)現(xiàn)累計(jì)求和操作

    Python定義函數(shù)實(shí)現(xiàn)累計(jì)求和操作

    這篇文章主要介紹了Python定義函數(shù)實(shí)現(xiàn)累計(jì)求和操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Django基于Models定制Admin后臺(tái)實(shí)現(xiàn)過程解析

    Django基于Models定制Admin后臺(tái)實(shí)現(xiàn)過程解析

    這篇文章主要介紹了Django基于Models定制Admin后臺(tái)實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python scrapy腳本報(bào)錯(cuò)問題及解決

    python scrapy腳本報(bào)錯(cuò)問題及解決

    這篇文章主要介紹了python scrapy腳本報(bào)錯(cuò)問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python如何將裝飾器定義為類

    Python如何將裝飾器定義為類

    這篇文章主要介紹了Python如何將裝飾器定義為類,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python opencv讀mp4視頻的實(shí)例

    python opencv讀mp4視頻的實(shí)例

    今天小編就為大家分享一篇python opencv讀mp4視頻的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 如何在 Django 模板中輸出

    如何在 Django 模板中輸出 "{{"

    這篇文章主要介紹了如何在 Django 模板中輸出 "{{" ,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Python os模塊學(xué)習(xí)筆記

    Python os模塊學(xué)習(xí)筆記

    這篇文章主要介紹了Python os模塊學(xué)習(xí)筆記,本文總結(jié)了OS模塊的常用方法、實(shí)用方法,并給出了兩個(gè)使用實(shí)例,需要的朋友可以參考下
    2015-06-06
  • python2.7和NLTK安裝詳細(xì)教程

    python2.7和NLTK安裝詳細(xì)教程

    這篇文章主要為大家詳細(xì)介紹了python2.7和NLTK安裝詳細(xì)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • python批量讀取txt文件為DataFrame的方法

    python批量讀取txt文件為DataFrame的方法

    下面小編就為大家分享一篇python批量讀取txt文件為DataFrame的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評(píng)論