SEAndroid 介紹及其基本實現原理

來源:互聯網
上載者:User

標籤:android   des   blog   class   code   ext   

手機平台的自動化測試載入器很多,之前研究過了安卓和蘋果的原生自動化測試架構,經一些同事介紹,貌似Appium是個不錯的工具。

想記錄一下研究的結果,也算是篇乾貨的文章

在網上也看了一些視頻,個人認為這個自動化測試的特點就是


1. 多程式設計語言支援

相對於傳統的IOS UIautomation只能支援js語言,Appium起到了一個翻譯的作用,它其實是一個CS架構,伺服器和IOS模擬器或真機直接通訊,用戶端和伺服器之間用HTTP協議進行互動,所以用戶端用什麼語言其實不重要。下面會有一個python編程的實際例子。


2. 遠程測試支援

正如上面說的,用戶端和伺服器之間用HTTP協議通訊,那麼也就是說,用戶端可以和伺服器在同一台機器或者不同的機器。


3. 較好的錄製功能

Appium提供了一個很好的錄製工具,可以讓程式員一步一步的把步驟進行精確的錄製


4. 單步調試

程式員可以利用進階指令碼語言,比如Python對被測程式進行單步調試,比如一條命令對應一個UI動作


如何使用appium,基於2014年5月份發布的appium 1.0來說,大約是這樣的,

你必須要有xcode進行自動化測試的基礎,如果沒有的話,請先補習


A. 如果是模擬器測試

1. 選擇應用安裝包的位置

2. 再選擇期望的模擬器平台,IOS版本,再點Launch就可以了



3. Launch之後會發現什麼都沒有,其實Appium已經運行了,請注意啟動並執行視窗中有沒有錯誤

4. 下面就是錄測試案例,點擊一個藍色的底,白色的i的按鈕

5. 過一段時間後就會出現inspector的視窗



6. 下面是一個例子,比如我要點一個按鈕,

     6.1 首先現在左邊的樹形視窗裡面找到一個按鈕的位置,有點類似Firebug找網頁控制項

     6.2 然後在下面的動作框選擇你想要的動作,點擊就是Tap,然後你會發現這個按鈕真的被點擊了(這是一個單步調試很直觀的例子)



7. 如何把錄製變成指令碼

7.1 首先要點擊inspector視窗的Record按鈕

7.2 選擇你需要的程式設計語言

7.3 再繼續重複你需要做的UI操作

7.4 最後就是把代碼拷貝出去



8. 如何重錄測試

8.1 關掉inspector,

8.2 代碼需要稍微的修改,Python的代碼錄出來居然有語法錯誤,這裡給個例子,對照看就好了(當然必要的python庫必須安裝)

from selenium.webdriver.firefox.webdriver import WebDriverfrom selenium.webdriver.common.action_chains import ActionChainsimport timeimport osimport seleniumsuccess = Truedesired_caps = {}desired_caps[‘browserName‘] = ‘iOS‘desired_caps[‘platform‘] = ‘Mac‘desired_caps[‘version‘] = ‘6.1‘desired_caps[‘device‘] = ‘iPad‘desired_caps[‘app‘] = os.path.abspath(‘/Users/marshall/Library/Developer/Xcode/DerivedData/TestAutomation-empzzpwyyxctxidnwdsrtlssueqi/Build/Products/Debug-iphonesimulator/TestAutomation.app‘)wd = selenium.webdriver.Remote(‘http://0.0.0.0:4723/wd/hub‘, desired_caps)wd.implicitly_wait(60)def is_alert_present(wd):try:wd.switch_to_alert().textreturn Trueexcept:return Falsetry:wd.find_element_by_name("First").click()wd.find_element_by_name("Second").click()finally:wd.quit()if not success:raise Exception("Test failed.")

8.3 運行代碼,查看測試結果


B. 如果是真機測試

真機測試其實遇到了些問題,我大概說一下我的步驟

1. 配置應用的BundleID和裝置的UDID



BundleID不知道怎麼看的請用itools

UDID不知道怎麼找的請用iTunes或itools

應用必須是你自己的開發人員帳號簽名過的


2. Launch Appium


3. 點擊inspector的按鈕,接下來應用會顯示在iPad上,但是過一會就會閃退(我試了好幾個應用都有這個問題),我已經給Appium報告了一個bug,看看會不會有回複吧。

如果有人在真機上成功使用inspector的,也請留言分享一下



相關文章

聯繫我們

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