appium+python自動化46-安裝app三種方式

來源:互聯網
上載者:User

標籤:col   ash   自動化   web   orm   函數   webdriver   down   string   

adb安裝

1.在app自動化之前,首先手機上有要被測試的app,如何把電腦本地上的app安裝到手機上呢?可以在運行自動化代碼前,在cmd輸入adb指令,把電腦app安裝到手機上

adb install [apk在電腦上的絕對路徑]

2.也可以用python執行adb命令安裝app,代碼實現如下:

# coding:utf-8import os# 安裝app,為了方便,把app放到當前指令碼同一目錄os.system("adb install baidu.apk")

appium本地安裝

1.appium也可以實現自動安裝app,在工程下單獨建個app檔案夾,待安裝的app放到此檔案夾下

2.在工程下再建個case檔案夾,寫用例時候先擷取app的絕對路徑

3.為了擷取路徑方便,可以寫個函數去擷取,這樣方便調用

4.進一步最佳化代碼,用lambda函數更簡潔,功能等價於上一步

# coding:utf-8import os# 擷取項目的根目錄路徑p = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)),".."))print(p)appPath = lambda x:os.path.join(p, "app", x)print(appPath("baidu.apk"))

5.運行代碼安裝指定檔案夾下app

# coding:utf-8from appium import webdriverimport os# 擷取項目的根目錄路徑p = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)),".."))# 擷取app路徑appPath = lambda x:os.path.join(p, "app", x)print(appPath("baidu.apk"))desired_caps = {                ‘platformName‘: ‘Android‘,                ‘deviceName‘: ‘127.0.0.1:62001‘,                ‘platformVersion‘: ‘4.4.2‘,                ‘app‘: appPath("baidu.apk"),                ‘appPackage‘: ‘com.baidu.yuedu‘,                ‘appActivity‘: ‘com.baidu.yuedu.splash.SplashActivity‘,                ‘noReset‘: ‘true‘,                }driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub‘, desired_caps)
appium線上安裝

1.如果沒有本地的app包,有個線上也是可以實現自動安裝的。比如打完測試包後上傳到一個指定的,通過這個也能實現安裝

2.以百度閱讀app為案例,百度搜尋:百度閱讀app,從下載頁面擷取到app的

http://p.gdown.baidu.com/b8d3f4be0e333cca250c2d3663bd2ba59f87740a58b4288dd0725134e7f455721f254aeb5c678ff9e6aa0d90b7322b1b06c5f3239bd7b726d2b0f2ac187f7c95e08cf4ef572d854a546c1814c9ad9101c58f29b5df2eeb11e751cff1d1a9d6d1e74aab7e8d53a9039a3c5cbea8e461ecb3348cd38123bebedf6a9976c2fa7f1f1df6a6543c6d73124796e97a34cca9792f10878c878d124be5e1582911aea7870e909130f73adfac

3.代碼裡面只需把app參數後面的本地地址改成線上地址就可以了

"app": "app下載線上地址”

4.代碼參考:

# coding:utf-8from appium import webdriverimport osappUrl = "http://p.gdown.baidu.com/b8d3f4be0e333cca250c2d3663bd2ba59f87740a58b4288dd0725134e7f455721f254aeb5c678ff9e6aa0d90b7322b1b06c5f3239bd7b726d2b0f2ac187f7c95e08cf4ef572d854a546c1814c9ad9101c58f29b5df2eeb11e751cff1d1a9d6d1e74aab7e8d53a9039a3c5cbea8e461ecb3348cd38123bebedf6a9976c2fa7f1f1df6a6543c6d73124796e97a34cca9792f10878c878d124be5e1582911aea7870e909130f73adfac"desired_caps = {                ‘platformName‘: ‘Android‘,                ‘deviceName‘: ‘127.0.0.1:62001‘,                ‘platformVersion‘: ‘4.4.2‘,                ‘app‘: appUrl,                ‘appPackage‘: ‘com.baidu.yuedu‘,                ‘appActivity‘: ‘com.baidu.yuedu.splash.SplashActivity‘,                ‘noReset‘: ‘true‘,                }driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub‘, desired_caps)

 

appium+python自動化46-安裝app三種方式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.