中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

FAutoTest一個 H5、小程序自動化測試框架

發布時間:2020-08-05 10:49:11 來源:ITPUB博客 閱讀:196 作者:testingbang 欄目:移動開發

簡介

隨著產品業務形態逐漸從 App 延升到微信小程序、微信公眾號以及 QQ公眾號等,而之前的自動化建設主要是 Native App 為主,全手工測試已無法滿足快速增長的業務需求。為提升測試效率和質量,FAutoTest 框架致力于解決 QQ、微信內 UI 的自動化問題(包括微信內 H5頁面和小程序、QQ 內 H5頁面),提升自動化測試的效率和穩定性。

FAutoTest 是一款成長中的框架,吸收借鑒了一些 UI 自動化工具的優秀設計理念和思想。如果框架有不足地方,或者你有更好的建議,歡迎提交 Issues 參與貢獻。

特性

FAutoTest 專業服務于微信 H5/小程序的UI自動化測試,提升測試效率與質量。

  • 支持微信 H5頁面,能識別常見 H5控件,能獲取頁面任意內容(常見的如文字、圖片、鏈接等)
  • 支持小程序內控件識別,操作,頁面內容獲取等
  • 支持安卓 Native 頁面組合操作使用
  • 簡單的 API 設計,較低的使用門檻
  • 支持基礎的性能測試監控
  • 功能擴展性強,擴展門檻低

架構

  1. 整體采用分層設計,API設計方式參考 WebDriver

  2. 整體框架是一個同步阻塞的模型:在一個線程中循環的執行 receive 方法,等待收到 response,發送消息后,阻塞,只有當 receive 方法獲得消息時,才會解除阻塞,發送下一條消息,具備超時異常處理機制

  3. 框架內打包了 Python 版本的 UIAutomator,方便在安卓 Native 頁面進行操作

FAutoTest一個 H5、小程序自動化測試框架

User Interface(用戶交互層):  提供給用戶所有的界面操作 API(H5界面及小程序界面),使用者不需要關注框架內部實現,只需要關注自身業務邏輯流程(手工用例流程轉換成自動化流程)

PageOperator(操作解析層):  主要用于接收和解析用戶命令后傳遞給下層 Engine 層

Engine( H5&小程序引擎層):  將用戶命令傳輸到手機,并返回結果信息。封裝 WebSocket 和單線程池,通過WebSocket Debug URL 和瀏覽器內核建立鏈接,發送 Json 格式的協議到手機端進行用戶指定的操作。

業務流程

  • H5頁面/小程序 UI 自動化執行流程

    FAutoTest一個 H5、小程序自動化測試框架
  • 自動化腳本調用流程

    FAutoTest一個 H5、小程序自動化測試框架

依賴軟件環境

軟件 軟件要求
Python 版本 2.7.x 版本
Java JDK 版本 Java 語言框架(最低1.7)
Android SDK 版本 4.4 及以上版本
adb 版本 最新版本即可
Python IDE 開發環境 如 PyCharm CE等
1. Python 版本安裝

下載 & 安裝  Python ,安裝后在終端輸入命令 python -v 和 pip list,能夠執行,說明 Python 環境配置成功。

2. Java JDK 版本安裝

下載 & 安裝  Java JDK  安裝后在終端輸入命令java -version,java, javac命令能夠執行,則 Java 環境配置成功。

3. Android SDK 版本安裝

下載 & 安裝  Android Studio ,然后在里面安裝 Android SDK

4. 配置 adb 環境

安裝 Android Studio 后,配置 SDK 環境(若自動安裝不成功,可到 手動下載安裝  ,安裝后在終端輸入命令 adb version 執行有結果,則說明配置成功

5. IDE 安裝

下載 & 安裝  Pycharm CE

FAutoTest 開發環境安裝

庫名稱 版本 下載地址
uiautomator 0.3.2 https://pypi.org/project/uiautomator/#files
lxml 4.2.3 https://pypi.org/project/lxml/4.2.3/#files
bidict 0.17.0 https://pypi.org/project/bidict/#files
websocket-client 0.44.0 https://pypi.org/project/websocket-client/#files
  • 使用pip安裝框架所需的第三方庫 uiautomator、websocket-client、lxml、bidict、ADBkeyBoard,如安裝lxml、bidict、websocket-client可用pip形式安裝,如安裝lxml,

    pip install lxml
    
  • 安裝自身框架

    pip intsall dist/fastAutoTest-xxx.whl
    
  • 打開微信Debug模式,安裝 TBS 內核

    • 可在微信中打開 X5 調試地址: http://debugx5.qq.com
    • TBS 內核安裝地址: http://debugtbs.qq.com
    • 詳情方式見: http://x5.tencent.com/tbs/guide/debug/faq.html

使用方式

如何寫測試案例,如微信 H5頁面,如下所示:

# coding=utf-8 from fastAutoTest.core.h6.h6Engine import H5Driver # http://h6.baike.qq.com/mobile/enter.html 從微信進入此鏈接,首屏加載完后執行腳本 if __name__ == '__main__':
    h6Driver = H5Driver()
    h6Driver.initDriver()
    h6Driver.clickElementByXpath('/html/body/div[1]/div/div[3]/p')
    h6Driver.clickFirstElementByText('白內障')
    h6Driver.returnLastPage()
    h6Driver.returnLastPage() print(h6Driver.getElementTextByXpath('/html/body/div[1]/div/div[3]/p'))
    h6Driver.close()
  1. 從微信初始化 H5頁面,如進入  http://h6.baike.qq.com/mobile/enter.html
  2. 進入頁面后找到需要操作的控件的xpath,可通過 chrome:inspect 找到當前頁面,找到控件的xpath
  3. 初始化框架并進行 API 調用,如執行點擊控件等
  4. 關閉框架,執行用例

QQ 的 H5頁面:

# coding=utf-8 from fastAutoTest.core.qq.qqEngine import QQDriver # 從動態 -> 動漫進入 if __name__ == '__main__':
    qqDriver = QQDriver()
    qqDriver.initDriver()
    qqDriver.clickFirstElementByText('英雄救美,這也太浪漫了')
    qqDriver.returnLastPage()
    qqDriver.clickElementByXpath('//*[@id="app"]/div/ul/li[2]')
    qqDriver.returnLastPage()
    qqDriver.close()
  1. 從 QQ 動態,進入動漫 H5頁面
  2. 找到需操作的控件的xpath,可通過 chrome:inspect 找到當前頁面,找到控件的xpath
  3. 初始化框架并進行相關 API 調用
  4. 關閉框架,執行用例

微信小程序:

# coding=utf-8 from fastAutoTest.core.wx.wxEngine import WxDriver import os # 進入企鵝醫典小程序 if __name__ == '__main__':
    wxDriver = WxDriver()
    wxDriver.initDriver() # 點擊全部疾病 wxDriver.clickElementByXpath('/html/body/div[1]/div/div[3]/p')
    wxDriver.clickFirstElementByText('白內障')
    wxDriver.returnLastPage()
    wxDriver.returnLastPage() # 截圖 dirPath = os.path.split(os.path.realpath(__file__))[0] PIC_SRC = os.path.join(dirPath, 'pic.png')
    wxDriver.d.screenshot(PIC_SRC)
    wxDriver.close()
  1. 搜索小程序,如企鵝醫典小程序,進入小程序頁面
  2. 同樣找控件的xpath,同上操作
  3. 初始化框架,進行相關 API 調用
  4. 關閉框架,執行用例


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

自贡市| 祥云县| 博爱县| 连江县| 汶川县| 玉屏| 奉化市| 灌云县| 抚顺县| 敖汉旗| 深泽县| 融水| 荣昌县| 连州市| 穆棱市| 子长县| 东阳市| 儋州市| 固阳县| 岳阳市| 阿荣旗| 永定县| 博白县| 九龙城区| 临颍县| 镇巴县| 女性| 清徐县| 廊坊市| 安达市| 北辰区| 法库县| 二连浩特市| 泗水县| 鹤山市| 花垣县| 陆川县| 高密市| 石渠县| 岳阳市| 肥西县|