衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Web自動化測試的UI框架結構及思路

如意 ? 來源:百家號 ? 作者: 川石軟件測試 ? 2020-07-01 15:55 ? 次閱讀

在學會使用unittest后,實際上UI自動化的基礎骨架已經搭建起來了,剩下的就是利于這套框架,增添一些我們需要的功能,目前看來,我們已經可以使用此框架來批量運行用例,欠缺的是整體的思路以及一些其他功能細節,比如日志記錄、封裝webdriver、讀取數據庫等功能的實現。

一、框架結構

Web自動化測試的UI框架結構及思路

其中:

common:

一些基礎的底層方法類,例如:測試報告類、數據配置讀取類、日志類、封裝webdriver類、數據庫連接類、發送郵件類、公共方法類,只要是我們想要實現的一些功能,可以把基礎方法的實現放在common文件夾。

config:

配置文件放在這里,比如:賬號密碼、數據庫鏈接地址等。

log:

運行用例后,日志的存儲文件夾。

report:

運行用例后,測試報告的存儲文件夾。

page:

在POM設計模式下,關于具體UI頁面操作的方法。

test_case:

具體存放編寫的測試用例。

run_all:

用來批量運行測試用例。

二、一些設計的想法和理念

2.1數據分離

數據分離,顧名思義是指要把代碼中的數據和代碼分離開來,這樣方便管理和維護。

在寫用例以及框架時,會涉及到數據的處理,比如說:賬號、密碼、元素定位、測試數據等等,對于經常會用到,但是不會經常修改的數據,比如賬號、密碼等,可以寫到配置文件里,然后再讀取;而對于元素定位的話,我習慣統一放到類里,作為類的全局變量來進行維護調用,而不是寫到代碼邏輯中,之前嘗試過把元素定位放到excel中,但是元素定位需要經常修改維護,其實放在excel里修改很不方便,所以我更習慣作為一個類變量來存儲調用。

2.2 POM設計模式

POM簡單來說,我的理解就是高內聚低耦合的一種實踐,通過分層來使得代碼更容易維護表達,同時把復用性極多的方法整合到一起統一調用。運用到UI自動化中,則是把一個UI測試用例的實現,分為了三層來實現;第一層是driver層,我們把常用的方法封裝起來,比如查找元素的方法find_element()我們封裝成一個定位元素的方法,然后在這個方法里加入元素等待;第二層是page層,也就是頁面層,主要把一個頁面中的操作寫成一個方法,比如點擊確定按鈕,填寫用戶名等;第三層是case層,也就是測試用例層,通過把page中的操作像搭積木一樣組合起來,實現測試流程。

封裝的driver方法 ---》 page:頁面中的操作 ---》 case調用page中的操作

2.3測試框架的完整性

就是加上一些我們需要的功能,比如測試報告、日志的打印記錄、發送郵件等功能,當然不僅限于此,在基本搭建好框架后,可以對框架本身進行易用性的整改,比如我要查詢數據庫獲取數據來入參或者斷言,那就加入數據庫連接的方法;比如為了項目更簡單易用,可以加入UI頁面的可視化功能,python本身三方庫的種類很多,可以根據自己的需要或者想法來改造我們的框架。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1269

    瀏覽量

    69727
  • 自動化
    +關注

    關注

    29

    文章

    5622

    瀏覽量

    79659
  • ui
    ui
    +關注

    關注

    0

    文章

    204

    瀏覽量

    21418
收藏 人收藏

    評論

    相關推薦

    鴻蒙OS開發實戰:【自動化測試框架】使用指南

    為支撐HarmonyOS操作系統的自動化測試活動開展,我們提供了支持JS/TS語言的單元及UI測試框架,支持開發者針對應用接口進行單元
    的頭像 發表于 04-08 14:49 ?1540次閱讀
    鴻蒙OS開發實戰:【<b class='flag-5'>自動化</b><b class='flag-5'>測試</b><b class='flag-5'>框架</b>】使用指南

    hadoop框架結構的說明介紹

    的發行版不是很多,比如DKhadoop,可以說是目前國內自主做hadoop商業版比較好的了。下面就以大快搜索DKhadoop為例來給大家介紹一下hadoop框架結構! 圖示:DKhadoop技術技術架構圖
    發表于 10-15 15:59

    自動化測試框架思想和構建

    自動化測試一般是指軟件測試自動化,軟件測試就是在預設條件下運行系統或應用程序,評估運行結果,預先條件應包括正常條件和異常條件。本文介紹的是
    發表于 07-18 06:52

    請問數據驅動的自動化測試框架結構是怎么構成的?

    自動化測試為什么會出現?相比手工測試自動化測試有哪些優勢?自動化
    發表于 04-15 06:55

    如何搭建嵌入式C語言單元測試自動化框架

    關于嵌入式C語言單元測試自動化框架的搭建思路
    發表于 12-15 07:35

    【RISC-V 生態軟件系列】 HaaS UI基礎教學八:JSAPI自動化測試方法

    、HaaS UI應用框架:包括輕應用框架、輕應用API、容器、HaaS UI渲染框架和動態卡片前端框架
    發表于 03-09 07:26

    HarmonyOS自動化測試框架—Hypium

    是所見即所得的界面測試,操作頁面并檢查頁面控件是否符合預期的端到端的測試,用于測試人員覆蓋全路徑的驗證測試。針對上述兩種應用場景,自動化
    發表于 08-10 17:13

    HamronyOS自動化測試框架使用指南

    概述 為支撐 HarmonyOS 操作系統的自動化測試活動開展,我們提供了支持 JS/TS 語言的單元及 UI 測試框架,支持開發者針對應用
    發表于 12-19 10:26

    基于Web自動化測試框架的研究

    根據web系統測試的特點,為提高軟件測試自動化腳本的可重用性,結合在實際項目中軟件自動化測試的實
    發表于 11-07 15:58 ?0次下載
    基于<b class='flag-5'>Web</b>的<b class='flag-5'>自動化</b><b class='flag-5'>測試</b><b class='flag-5'>框架</b>的研究

    基于WATIR的WEB自動化回歸測試框架

    由于在迭代開發模式中需要執行大量的回歸測試,針對其測試項目重復率高的特點,提出了一種Web自動化回歸測試
    發表于 11-23 11:08 ?18次下載
    基于WATIR的<b class='flag-5'>WEB</b><b class='flag-5'>自動化</b>回歸<b class='flag-5'>測試</b><b class='flag-5'>框架</b>

    什么是自動化測試框架

    這些優勢可以是不同的形式,如易于編寫腳本、可伸縮性、模塊、可理解性、過程定義、可重用性、成本、維護等。因此,為了能夠獲得這些好處,建議開發人員使用一個或多個自動化測試框架。此外,當有
    的頭像 發表于 11-03 10:33 ?4408次閱讀

    常規自動化程序框架結構

    常規自動化程序框架結構,方便程序編寫提高工程效率。
    發表于 02-22 14:30 ?37次下載

    自動化測試框架unittes詳解

    測試框架,不妨“軟為硬用”。這里就基于python的自動化測試框架unittest來實現一個簡單的自動
    的頭像 發表于 05-20 14:47 ?2985次閱讀

    什么是自動化測試框架

    自動化測試框架,即是應用于自動化測試所用的框架。按照框架
    發表于 04-18 14:44 ?953次閱讀

    OpenHarmony自動化測試框架開發指南

    OpenHarmony 自動化測試框架是 OpenHarmony 提供的支持 JS/TS 語言的單元及 UI 測試
    的頭像 發表于 05-15 09:35 ?1467次閱讀
    OpenHarmony<b class='flag-5'>自動化</b><b class='flag-5'>測試</b><b class='flag-5'>框架</b>開發指南
    澳门百家乐官网论坛及玩法| 博彩百家乐官网带连线走势图| 足球百家乐官网系统| 二代百家乐破解| 大发888娱乐城论坛| 德化县| 乐天百家乐官网的玩法技巧和规则 | 网上百家乐官网看牌器| 金赞百家乐官网的玩法技巧和规则 | 全讯网网址| 百家乐官网送现金200| 百家乐投注外围哪里好| 赌博药| 百家乐官网网哪一家做的最好呀| 澳门百家乐博牌| 澳门美高梅娱乐| 百家乐官网号技巧| 百家乐傻瓜式投注法| 大发888送体验金| 百家乐官网霸王闲| 百家乐扎金花斗地主| 大发888娱乐官方下载| 百家乐官网赢赌场百家乐官网| 百家乐怎么玩了| 人民币棋牌游戏| 百家乐官网怎么| 金满堂百家乐的玩法技巧和规则| 百家乐官网什么叫缆| 月亮城百家乐官网的玩法技巧和规则 | 百家乐官网英皇娱乐| 万宝路百家乐的玩法技巧和规则| 长子县| 百家乐认牌| 鲁甸县| 大世界百家乐现金网| 大发888手机注册送钱| 缅甸百家乐官网娱乐场开户注册 | 网上百家乐指| 至尊百家乐官网奇热| 盛大百家乐的玩法技巧和规则| 百家乐官网娱乐求指点呀|