0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Web自動(dòng)化測(cè)試的UI框架結(jié)構(gòu)及思路

如意 ? 來源:百家號(hào) ? 作者: 川石軟件測(cè)試 ? 2020-07-01 15:55 ? 次閱讀

在學(xué)會(huì)使用unittest后,實(shí)際上UI自動(dòng)化的基礎(chǔ)骨架已經(jīng)搭建起來了,剩下的就是利于這套框架,增添一些我們需要的功能,目前看來,我們已經(jīng)可以使用此框架來批量運(yùn)行用例,欠缺的是整體的思路以及一些其他功能細(xì)節(jié),比如日志記錄、封裝webdriver、讀取數(shù)據(jù)庫等功能的實(shí)現(xiàn)。

一、框架結(jié)構(gòu)

Web自動(dòng)化測(cè)試的UI框架結(jié)構(gòu)及思路

其中:

common:

一些基礎(chǔ)的底層方法類,例如:測(cè)試報(bào)告類、數(shù)據(jù)配置讀取類、日志類、封裝webdriver類、數(shù)據(jù)庫連接類、發(fā)送郵件類、公共方法類,只要是我們想要實(shí)現(xiàn)的一些功能,可以把基礎(chǔ)方法的實(shí)現(xiàn)放在common文件夾。

config:

配置文件放在這里,比如:賬號(hào)密碼、數(shù)據(jù)庫鏈接地址等。

log:

運(yùn)行用例后,日志的存儲(chǔ)文件夾。

report:

運(yùn)行用例后,測(cè)試報(bào)告的存儲(chǔ)文件夾。

page:

在POM設(shè)計(jì)模式下,關(guān)于具體UI頁面操作的方法。

test_case:

具體存放編寫的測(cè)試用例。

run_all:

用來批量運(yùn)行測(cè)試用例。

二、一些設(shè)計(jì)的想法和理念

2.1數(shù)據(jù)分離

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

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

2.2 POM設(shè)計(jì)模式

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

封裝的driver方法 ---》 page:頁面中的操作 ---》 case調(diào)用page中的操作

2.3測(cè)試框架的完整性

就是加上一些我們需要的功能,比如測(cè)試報(bào)告、日志的打印記錄、發(fā)送郵件等功能,當(dāng)然不僅限于此,在基本搭建好框架后,可以對(duì)框架本身進(jìn)行易用性的整改,比如我要查詢數(shù)據(jù)庫獲取數(shù)據(jù)來入?yún)⒒蛘邤嘌?,那就加入?shù)據(jù)庫連接的方法;比如為了項(xiàng)目更簡單易用,可以加入U(xiǎn)I頁面的可視化功能,python本身三方庫的種類很多,可以根據(jù)自己的需要或者想法來改造我們的框架。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1254

    瀏覽量

    69202
  • 自動(dòng)化
    +關(guān)注

    關(guān)注

    28

    文章

    5431

    瀏覽量

    78893
  • ui
    ui
    +關(guān)注

    關(guān)注

    0

    文章

    202

    瀏覽量

    21315
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙OS開發(fā)實(shí)戰(zhàn):【自動(dòng)化測(cè)試框架】使用指南

    為支撐HarmonyOS操作系統(tǒng)的自動(dòng)化測(cè)試活動(dòng)開展,我們提供了支持JS/TS語言的單元及UI測(cè)試框架,支持開發(fā)者針對(duì)應(yīng)用接口進(jìn)行單元
    的頭像 發(fā)表于 04-08 14:49 ?1189次閱讀
    鴻蒙OS開發(fā)實(shí)戰(zhàn):【<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b><b class='flag-5'>框架</b>】使用指南

    hadoop框架結(jié)構(gòu)的說明介紹

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

    自動(dòng)化測(cè)試框架思想和構(gòu)建

    自動(dòng)化測(cè)試一般是指軟件測(cè)試自動(dòng)化,軟件測(cè)試就是在預(yù)設(shè)條件下運(yùn)行系統(tǒng)或應(yīng)用程序,評(píng)估運(yùn)行結(jié)果,預(yù)先條件應(yīng)包括正常條件和異常條件。本文介紹的是
    發(fā)表于 07-18 06:52

    請(qǐng)問數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架結(jié)構(gòu)是怎么構(gòu)成的?

    自動(dòng)化測(cè)試為什么會(huì)出現(xiàn)?相比手工測(cè)試,自動(dòng)化測(cè)試有哪些優(yōu)勢(shì)?自動(dòng)化
    發(fā)表于 04-15 06:55

    如何搭建嵌入式C語言單元測(cè)試自動(dòng)化框架

    關(guān)于嵌入式C語言單元測(cè)試自動(dòng)化框架的搭建思路
    發(fā)表于 12-15 07:35

    【RISC-V 生態(tài)軟件系列】 HaaS UI基礎(chǔ)教學(xué)八:JSAPI自動(dòng)化測(cè)試方法

    、HaaS UI應(yīng)用框架:包括輕應(yīng)用框架、輕應(yīng)用API、容器、HaaS UI渲染框架和動(dòng)態(tài)卡片前端框架
    發(fā)表于 03-09 07:26

    HarmonyOS自動(dòng)化測(cè)試框架—Hypium

    是所見即所得的界面測(cè)試,操作頁面并檢查頁面控件是否符合預(yù)期的端到端的測(cè)試,用于測(cè)試人員覆蓋全路徑的驗(yàn)證測(cè)試。針對(duì)上述兩種應(yīng)用場(chǎng)景,自動(dòng)化
    發(fā)表于 08-10 17:13

    HamronyOS自動(dòng)化測(cè)試框架使用指南

    概述 為支撐 HarmonyOS 操作系統(tǒng)的自動(dòng)化測(cè)試活動(dòng)開展,我們提供了支持 JS/TS 語言的單元及 UI 測(cè)試框架,支持開發(fā)者針對(duì)應(yīng)用
    發(fā)表于 12-19 10:26

    基于Web自動(dòng)化測(cè)試框架的研究

    根據(jù)web系統(tǒng)測(cè)試的特點(diǎn),為提高軟件測(cè)試自動(dòng)化腳本的可重用性,結(jié)合在實(shí)際項(xiàng)目中軟件自動(dòng)化測(cè)試的實(shí)
    發(fā)表于 11-07 15:58 ?0次下載
    基于<b class='flag-5'>Web</b>的<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b><b class='flag-5'>框架</b>的研究

    基于WATIR的WEB自動(dòng)化回歸測(cè)試框架

    由于在迭代開發(fā)模式中需要執(zhí)行大量的回歸測(cè)試,針對(duì)其測(cè)試項(xiàng)目重復(fù)率高的特點(diǎn),提出了一種Web自動(dòng)化回歸測(cè)試
    發(fā)表于 11-23 11:08 ?18次下載
    基于WATIR的<b class='flag-5'>WEB</b><b class='flag-5'>自動(dòng)化</b>回歸<b class='flag-5'>測(cè)試</b><b class='flag-5'>框架</b>

    什么是自動(dòng)化測(cè)試框架

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

    常規(guī)自動(dòng)化程序框架結(jié)構(gòu)

    常規(guī)自動(dòng)化程序框架結(jié)構(gòu),方便程序編寫提高工程效率。
    發(fā)表于 02-22 14:30 ?36次下載

    自動(dòng)化測(cè)試框架unittes詳解

    測(cè)試框架,不妨“軟為硬用”。這里就基于python的自動(dòng)化測(cè)試框架unittest來實(shí)現(xiàn)一個(gè)簡單的自動(dòng)
    的頭像 發(fā)表于 05-20 14:47 ?2836次閱讀

    什么是自動(dòng)化測(cè)試框架

    自動(dòng)化測(cè)試框架,即是應(yīng)用于自動(dòng)化測(cè)試所用的框架。按照框架
    發(fā)表于 04-18 14:44 ?833次閱讀

    OpenHarmony自動(dòng)化測(cè)試框架開發(fā)指南

    OpenHarmony 自動(dòng)化測(cè)試框架是 OpenHarmony 提供的支持 JS/TS 語言的單元及 UI 測(cè)試
    的頭像 發(fā)表于 05-15 09:35 ?1213次閱讀
    OpenHarmony<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b><b class='flag-5'>框架</b>開發(fā)指南