Appnium移動自動化框架初探


作者:cryanimal QQ:164166060
本文簡要介紹了appnium自動化框架的架構、加載流程、支持語言、相關配置,以及元素定位工具等。

官方網站:

http://appium.io

image

Appnium是由SauceLabs支持,一家業界領先的測試產品公司, 有成熟的企業測試解決方案

 

Appium支持的平台

image

  • Android上使用了instrumentation和uiautomator兩套技術
  • iOS使用uiautomation
  • 同時還支持firefox, 並可擴展其他平台

 

Appium的優點

  • 跨架構,native hybrid webview
  • 跨設備,android iosfirefoxos
  • 跨語言,java python ruby nodejsphp
  • 跨app, 可以在多個app之間交互
  • 不依賴源代碼
  • 不限制測試框架和平台

 

Appium在Android上的架構

image

 

Appium在iOS上的架構

image

Appium的安裝

詳見:http://blog.csdn.net/kaka1121/article/details/51698700

Appium的啟動,上文中也有詳解

通過命令:Appium–help 可以看到一些可選參數

默認開啟4723端口接受webdriver請求
默認開啟4724用於和android通訊

視頻演示:http://v.youku.com/v_show/id_XNjM0ODIxNTUy.html

 

Appium自動化所需工具及android開發環境安裝

依賴工具包括uiautomatorviewer、abd、DDMS等

詳見:http://blog.csdn.net/kaka1121/article/details/51698745

 

Appium的加載流程

image

Appium支持主流語言

image

Appium webdriver的capabilities配置

Capabilities是由客戶端發送給Appium服務器端的用來告訴服務器去啟動哪種我們想要的會話的一套鍵值對集合。當中也有一些鍵值對是用來在自動化的過程中修改服務器端的行為方式。

必填的項目

deviceName :我無論填寫什么值,在我機器上都可以跑通測試,但是這項又是必填。我用得Appium版本是V1.2.2。

app :如果填寫了,appium會在目標機器上安裝測試目標app,如果沒有的話,會根據appActivity和appPackage去目標機器查找目標app

appPackage : 可以通過sdk自帶工具aapt獲得

image

appActivity:同樣可以通過以上工具獲得。

有一點需要注意的是,值可以附加packageName,也可以不附加。

也就是說以下兩種填寫方式都是對的“.NotesList"和”com.example.android.notepad.NotesList"

通用配置:

image

android only:

image

IOS ONLY

image

配置原文參見:http://blog.sina.com.cn/s/blog_700be1c00102vgha.html

java Demo示例

image

詳細情況,參見我的另一篇博文

元素定位

  • Android和iOS的原生控件以及webview控件映射為特定的命名, 比如把所有平台的按鈕映射為button元素
  • 把當前的結構樹映射為html文檔
  • 通過xpath來選擇元素

三種定位方式

  • Name: id,label text
  • Tag_name: component type
  • Xpath

查看元素的屬性以及xpath,使用uiautomatorview

image

元素交互

Webdriver已經支持

  • 點擊
  • 輸入
  • 按鍵事件

Mobile相關:

  • 拖動
  • 划動
  • 長按

附錄:業界top框架綜合對比

image


免責聲明!

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



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