Appium(七):Appium API(一) 應用操做

1. 應用操做

本章所羅列的方法主要針對應用的操做,如應用的安裝、卸載、關閉、啓動等。android

把前面的啓動代碼放在這裏,後面只展現不一樣的部分。web

# coding:utf-8
from appium import webdriver
from time import sleep
# 初始化 desired_caps = {} # 使用哪一種移動平臺 desired_caps['platformName'] = 'Android' # Android版本 desired_caps['platformVersion'] = '5.1.1' #使用adb devices -l 查詢,當有多臺設備時,須要聲明 desired_caps['deviceName'] = '127.0.0.1:62001' #包名 desired_caps['appPackage'] = 'com.android.settings' #界面名 desired_caps['appActivity'] = '.Settings' # 啓動服務 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

1.1 獲取應用的包名和界面名

當咱們從一個應用跳轉到另一個應用的時候,想輸出其包名、界面名或者想在報告中展示對應信息, 咱們就能夠調用這個屬性來進行獲取。app

# 打印當前包名
print(driver.current_package)
# 打印當前界面名
print(driver.current_activity)

1.2 安裝和卸載以及檢查應用是否安裝

安裝應用:ui

driver.Install_app(app_path):安裝應用到設備,須要apk包的路徑。spa

卸載應用:code

driver.remove_app(app_id):從設備中刪除一個應用。orm

檢查應用是否安裝:對象

driver.is_app_installed(app_id):檢查應用是否已經安裝。須要傳入應用包的名字。返回結果爲True或False。blog

案例:支付寶

咱們如今就來安裝一個應用寶吧,首先用電腦下載一個應用包的apk,放在F盤下。

而後咱們將apk拖進模擬器中安裝,進入應用包,查看應用包的名字。

 

 

這些完成就能夠開始咱們的實例演示了。

if driver.is_app_installed("com.tencent.android.qqdownloader"):
    driver.remove_app("com.tencent.android.qqdownloader")
else:
    driver.install_app("E:\yingyongbao_7422130.apk")

#退出driver1
driver.quit()

若是應用寶已經安裝,就會卸載應用寶。若是應用寶沒有安裝,就會安裝應用寶。

你們只要運行成功,就能夠看到效果了。

1.3 在腳本內啓動其餘應用

咱們常常遇到須要從一個應用跳轉到另一個應用 ,就像咱們使用餓了嗎的時候,須要跳轉到支付寶來進行支付同樣。

咱們想要實現這種功能,就要使用下面的方法了。

driver.start_activity(appPackage, appActivity):分別傳入要打開的應用的包名和界面名。

實例:

打開《設置》,等待三秒後跳轉到《通信錄》。

sleep(3)

#跳轉到短信
driver.start_activity('com.android.contacts', '.activities.PeopleActivity')

sleep(5)

#退出driver1
driver.quit()

1.4 關閉應用

有的時候咱們須要關閉某個應用程序後,再打開新的應用。那麼如何關閉應用程序呢?

咱們到目前爲止,已經學過一種關閉應用的方法了,那就是driver.quit()。可是這種關閉呢,是關閉驅動對象,同時關閉全部關聯的應用,關閉後咱們是沒法使用腳本操做應用的。

若是咱們只想關閉當前操做的應用,不關閉驅動對象,咱們就可使用driver.close_app()方法。

1.5 重置應用

driver.reset()

重置應用。至關於「恢復出廠默認值」的效果。這個方法不須要傳入參數。

1.6 將應用置於後臺

置於後臺相信玩過手機的都知道,就是將程序不顯示在手機界面上,可是卻能夠正常運行,最好的例子就是咱們經常使用的QQ了。

方法:

driver.background_app(seconds):app放置到後臺必定時間後再回到前臺,模擬熱啓動。這個方法須要傳入一個時間,表示在後臺停留多少秒。

熱啓動:表示進入後臺回到前臺。關機再開這種切斷電源的行爲能夠叫作 」冷啓動。

實例:

打開《設置》,進入後臺五秒,再回到前臺。

time.sleep(3)
driver.background_app(5)
time.sleep(3)
# 退出driver
driver.quit()
相關文章
相關標籤/搜索