Appnium移動自動化架構初探

來源:互聯網
上載者:User

標籤:

cryanimal QQ:164166060 本文簡要介紹了appnium自動化架構的架構、載入流程、支援語言、相關配置,以及元素定位工具等。 官方網站:

http://appium.io

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

 

Appium支援的平台

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

 

Appium的優點
  • 跨架構,native hybrid webview
  • 跨裝置,android iosfirefoxos
  • 跨語言,java python ruby nodejsphp
  • 跨app, 可以在多個app之間互動
  • 不依賴原始碼
  • 不限制測試架構和平台

 

Appium在Android上的架構

 

Appium在iOS上的架構

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的載入流程

Appium支援主流語言

Appium webdriver的capabilities配置

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

必填的項目

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

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

appPackage : 可以通過sdk內建工具aapt獲得

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

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

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

通用配置:

android only:

IOS ONLY

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

java Demo樣本

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

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

三種定位方式

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

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

元素互動

Webdriver已經支援

  • 點擊
  • 輸入
  • 按鍵事件

Mobile相關:

  • 拖動
  • 划動
  • 長按
附錄:業界top架構綜合對比

Appnium移動自動化架構初探

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.