PO模式自動化測試用例與測試框架封裝改造


PO模式自動化測試用例

PO設計模式是自動化測試中最佳的設計模式,主要體現在對界面交互細節的封裝,在實際測試中只關注業務流程就可以了。

相較於傳統的設計,在新增測試用例后PO模式有如下優點:

1、易讀性強

2、可擴展性好

3、可復用性強

4、可維護性好

封裝的代碼示例,來吧,展示:https://github.com/hanshoukai/appium_automation

 

測試框架封裝改造

一、appium源碼

appium server包括如下:

•Node.js 系列包

•adb shell

•ChromeDriver

 

二、Appium Android 自動化流程:

打印appium日志:appium -g <log file path>

日志內容先后為:

1、shell 命令

2、WebDriver 請求

3、ChromeDriver 日志


三、調試分析方法

Appium Log清晰記錄了所有的請求和結果以及底層的一些錯誤堆棧

分析界面數據:

1、使用 getPageSource 獲取界面的完整 DOM 結構

2、利用 XPath 獲取所有匹配的元素

腳本外調試:

1、借助於 curl 命令從腳本外探測界面數據

2、用瀏覽器實時查看UI布局

查看所有的sessions

查看其中一個session的界面元素

 

四、Appium 原理與 JSONWP 協議分析

WebDriver 協議與手工模擬

WebDriver 協議基礎知識:https://w3c.github.io/webdriver

session_id 獲取:
session_id=`curl http://127.0.0.1:4723/wd/hub/sessions | awk -F\" '{print $8}' `

element id 獲取:
curl -X POST http://127.0.0.1:4723/wd/hub/session/$session_id/elements --data-binary '{"using":"xpath","value":"//*[@class=\"android.widget.Toast\"]"}' -H "Content-Type: application/json;charset=UTF-8"
element_id = 301c744b-57a0-4a9e-b8c1-5460d62be5fd(這一串為上curl命令打印出來的element的id)

元素屬性獲取:
curl http://127.0.0.1:4723/wd/hub/session/$session_id/element/$element_id/attribute/text

元素動作:
curl -X POST http://127.0.0.1:4723/wd/hub/session/$session_id/element/$element_id/click

 

底層引擎如下:

•Uiautomator 安卓設備(https://github.com/appium/appium-uiautomator2-driver 及 https://github.com/appium/appium-uiautomator2-server

•WDA 蘋果設備(https://github.com/appium/WebDriverAgent

•selenium 瀏覽器

 

appium client:Python、Java等


免責聲明!

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



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