Appium

Appium介紹

https://github.com/appium/appium

Appium is an open source, cross-platform test automation tool for native, hybrid and mobile web and desktop apps. We support simulators (iOS), emulators (Android), and real devices (iOS, Android, Windows, Mac).

官方解釋:Appium是一款開源的跨平臺測試自動化工具,適用于本地,混合和移動網絡和桌面應用程序。我們支持模擬器(iOS),模擬器(Android)和真實設備(iOS,Android,Windows,Mac)。

支持的平臺

Appium支持跨iOS,Android和Windows等各種平臺的應用程序自動化。每個平臺都由一個或多個“Driver”支持,該驅動程序知道如何自動化該特定平臺。

工作原理


安裝

https://github.com/appium/appium/blob/master/docs/en/about-appium/getting-started.md

桌面版:

https://github.com/appium/appium-desktop

Behavior介紹

BDD介紹

Behavior Driven Development行為驅動開發(fā)是一種敏捷軟件開發(fā)的技術,它鼓勵軟件項目中的開發(fā)者、QA和非技術人員或商業(yè)參與者之間的協作。其要求在設計測試用例的時候對系統(tǒng)進行定義,倡導使用通用的語言將系統(tǒng)的行為描述出來,將系統(tǒng)設計和測試用例結合起來,從而以此為驅動進行開發(fā)工作。

Behavior介紹

Behavior 是一個能夠理解用普通語言 描述的測試用例的支持行為驅動開發(fā)(BDD)的自動化測試工具,用Python編寫,支持Java和·Net等多種開發(fā)語言。支持使用中文來編寫測試用例。

規(guī)則關鍵字

*?Feature(功能)?*?Scenario(情景)?*?Given(給定)?*?When(當)?*?Then(則)

TestFeature?(功能)?—?test?suite (測試用例集)

Scenario(情景) —?test?case?(測試用例)

Given(給定) — setup(創(chuàng)建測試所需環(huán)境)

When(當)—?test(觸發(fā)被測事件)

Then(則)— assert(斷言,驗證結果)

Behave工作原理


集成開發(fā)

為了兼容android與ios兩個平臺,使用Python語言來開發(fā)測試用例。


1.編寫測試用例 <xxx.feature>

# language: zh-CN

功能: 登錄

??測試登錄流程

?場景: 正常登錄

????假如 進入"首頁"

????而且 點擊"我"

????而且 點擊"登錄/注冊"

????那么 進入"登錄頁"

????當 點擊"用戶名"輸入"13922229988"

????而且 點擊"登錄密碼"輸入"888888"

????而且 點擊按鈕"登錄"

????那么 進入"手勢設置頁"

2.定義step的腳本 <step.rb>

假如 /^進入"(.*)"$/?do?|page|

??pageId =?case?page

???????????when?'首頁'

????????????????'page_index'

???????????when?'登錄頁'

????????????????'page_login'

???????????when?'手勢設置頁'

????????????????'page_gesture_setting'

???????????when?'提現頁'

????????????????'page_withdraw'

???????????else

????????????????'UnKnow'

???????????end

??wait{id(pageId)}

end


而且 /^點擊"(.*)"$/?do?|text|

????scroll_to(text).click

end


而且 /^點擊按鈕"(.*)"$/?do?|text|

????case?text

????when?'我已領取'

?????????id('iv_window_close').click

?????????set_wait(2000)

????else

?????????button(text).click

????end

end


而且 /^下拉刷新$/?do

????swipe start_x:?300, start_y:?200, offset_x:?0, offset_y:?600, duration:?1000

????set_wait(2000)

end


而且 /^點擊"(.*)"輸入"(.*)"$/?do?|text,content|

????etId =?case?text

???????????when?'用戶名'

????????????????'edtLoginUserName'

???????????when?'登錄密碼'

????????????????'edtLoginPassword'

???????????when?'提現輸入框'

????????????????'et_withdraw_amount'

???????????when?'請輸入交易密碼'

????????????????'password'

???????????else

????????????????'UnKnow'

???????????end


????element = find_element :id, etId

????element.type content

end

3.開啟appium server以及模擬器


4.輸出報告 ?在命令后面追加--format html --out reports.html --format prett

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,234評論 25 708
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,053評論 2 59
  • 前言 做Android端功能自動化已有2年多的時間了,使用過的功能自動化框架有Robotium、Uiautomat...
    海波筆記閱讀 17,221評論 3 66
  • 鈴鐺孤單晃響謎底曾在沙棘的汁液里一顆星星、四五個太陽孤掌印記填滿滄海桑田那年月下不可見的風骨在指尖 在瞳仁融化
    一客溫閱讀 187評論 0 0
  • 哪怕再喜歡陽光,被烈日灼傷時也會覺得痛。 夸父逐日的最后是恨太陽的吧,哪怕最開始是奔著喜歡去的,但是一味地追逐把那...
    小白很黑閱讀 91評論 0 0

友情鏈接更多精彩內容