1、安裝appiumLibrary第三方庫
運行pip命令:pip install robotframework-appiumlibrary
若已安裝,需要更新版本可以用命令:pip install -U robotframework-appiumlibrary
2、安裝app自動化環境。
參考我的另外一篇專門app自動化環境安裝的文章:https://www.cnblogs.com/Simple-Small/p/10641854.html
3、利用appiumLibrary完成app功能自動化測試。
第一步:導入AppiumLibrary,設置等待超時時間為20s。
第二步:啟動appium?server。啟動真機或者模擬器(本文中為網易MUMU模擬器)
通過 adb devices 命令檢測 模擬器是否可用。
第三步:利用open application關鍵字,打開模擬器上的 檸檬班app。
這一步實際是:與appium server建立連接,并告訴appium server 要在XX設備上操作XXapp.
本案例中, 要去操作系統為Android,版本為6.0.1的設備上,啟動 檸檬班app。(ps:appium 是同時支持android和ios設備的。)
所以,需要提供 :
- 平臺名稱 (platformName=Android)
- 平臺版本號 (platformVersion=6.0.1)
- 設備名稱 (deviceName=Emulator)
- app的包名(app在移動設備上的標識) (appPackage=com.lemon.lemonban)
- app的啟動activity (appActivity=com.lemon.lemonban.activity.WelcomeActivity)
除此之外,啟動與app的會話時,官網提供了更多的參數說明。可參考以下官網地址:
http://appium.io/docs/en/writing-running-appium/caps/
4、AppiumLibrary當中元素定位方式
定位策略 | 說明 | 案例 |
---|---|---|
id | 匹配元素的resourceId屬性 | id=id=com.lemon.lemonban:id/navigation_tiku |
accessibility_id | 匹配元素的description屬性 | accessibility_id=button3 |
android | 使用UiAutomator框架的元素定位 | android=UiSelector().description('Apps') |
xpath | 使用xpath表達式定位 | xpath=//*[@text="nmb"] |
class | 匹配元素的class屬性 | class=android.widget.TextView |
5、AppiumLibrary關鍵字說明
以下列舉部分關鍵字說明:
關鍵字 | 說明 | |
---|---|---|
open application | 打開app應用 | |
close application | 關閉app并關閉當前的webdriver會話 | |
Quite application | 關閉app但不關閉當前會話 | |
reset application | 重置app | |
remove applicaiton | 卸載app | |
get source | 獲取當前頁面的源碼 | |
get window height | 獲取當前設置的高 | |
get window width | 獲取當前設備的寬 | |
get newtwork connections status | 獲取當前的網絡狀態 | |
Set network connection status | 設置網絡連接狀態 | |
Hide keyboard | 隱藏鍵盤 | |
Is keyboard shown | 鍵盤是否隱藏 | |
get activity | 獲取當前活躍的activity | |
swipe | 滑屏操作 | |
swipe by percent | 按百分比滑屏操作 | |
get contexts | 獲取當前所有的contexts | |
switch to context | 切換到指定的context | |
click element | 點擊元素 | |
input text | 元素中輸入值 | |
get text | 獲取元素的文本 | |
get element attribute | 獲取元素的屬性值 | |
Get element size | 獲取元素的大小 | |
get element location | 獲取元素的坐標值 | |
Execute adb shell | 執行adb命令 | |
switch application | 切換app | |
wait activity | 等待activity加載 |
### 6、使用案例
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
?
這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!