app的apk 安裝的方法--adb--命令安裝 (含把apk放某個文件夾,每次啟動自己安裝)


adb安裝

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

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

后記:

卸載包的方法:

adb uninstall [apk 包名 ]

 

包名 可以用下面方法查找

adb shell

ls data/data

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

# coding:utf-8

import os

# 安裝app,為了方便,把app放到當前腳本同一目錄
os.system("adb install baidu.apk")

appium本地安裝

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

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

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

 

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

# coding:utf-8
import os

# 作者:上海-悠悠 QQ交流群:512200893

# 獲取項目的根目錄路徑
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-8
from appium import webdriver
import os

# 作者:上海-悠悠 QQ交流群:512200893

# 獲取項目的根目錄路徑
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-8
from appium import webdriver
import os

# 作者:上海-悠悠 QQ交流群:512200893

appUrl = "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)


來源:http://www.cnblogs.com/yoyoketang/p/9035341.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM