国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Selenium+Python的web自動(dòng)化測(cè)試框架

這篇具有很好參考價(jià)值的文章主要介紹了基于Selenium+Python的web自動(dòng)化測(cè)試框架。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、什么是Selenium?
Selenium是一個(gè)基于瀏覽器的自動(dòng)化測(cè)試工具,它提供了一種跨平臺(tái)、跨瀏覽器的端到端的web自動(dòng)化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。

Selenium IDE:Firefox的一個(gè)擴(kuò)展,它可以進(jìn)行錄制回放,并把錄制的操作以多種語言(例如java、python等)的形式導(dǎo)出成測(cè)試用例。

Selenium WebDriver:提供Web自動(dòng)化所需的API,主要用作瀏覽器控制、頁面元素選擇和調(diào)試。不同的瀏覽器需要不同的WebDriver。

Selenium Grid:提供了在不同機(jī)器的不同瀏覽器上運(yùn)行selenium測(cè)試的能力。

本文將詳細(xì)介紹如何運(yùn)用Python結(jié)合Selenium WebDriver庫搭建web自動(dòng)化測(cè)試框架。

二、自動(dòng)化測(cè)試框架
一個(gè)典型的自動(dòng)化測(cè)試框架一般包括用例管理模塊、自動(dòng)化執(zhí)行控制器、報(bào)表生成模塊和log模塊,這些模塊相輔相成。
pythonselenium框架,軟件測(cè)試面試,自動(dòng)化測(cè)試,軟件測(cè)試,python,selenium,開發(fā)語言,自動(dòng)化測(cè)試,軟件測(cè)試

接下來介紹各模塊的邏輯單元:

1、用例管理模塊

用例管理模塊包括新增、修改、刪除等操作單元,這些單元又會(huì)涉及到用例書寫模式,測(cè)試數(shù)據(jù)庫的管理、可復(fù)用庫等。

2、自動(dòng)化控制器

控制器是自動(dòng)化用例執(zhí)行的組織模塊,主要是負(fù)責(zé)以什么方法執(zhí)行我們的測(cè)試用例.

3、報(bào)表生成模塊

主要負(fù)責(zé)執(zhí)行用例后的生成報(bào)告,一般以HTML格式居多,信息主要是用例執(zhí)行情況。另外還可以配置發(fā)送郵件功能。

4、log模塊

主要用來記錄用例執(zhí)行情況,以便于高效的調(diào)查用例失敗信息以及追蹤用例執(zhí)行情況。

三、自動(dòng)化框架的設(shè)計(jì)和實(shí)現(xiàn)
1、需求分析

首先我們的測(cè)試對(duì)象是一個(gè)web平臺(tái),基于此平臺(tái)設(shè)計(jì)的框架要包含測(cè)試用例管理、測(cè)試執(zhí)行控制器、測(cè)試報(bào)告以及測(cè)試日志的生成。

2、設(shè)計(jì)和實(shí)現(xiàn)

頁面管理

假設(shè)測(cè)試web對(duì)象為一個(gè)典型單頁面應(yīng)用,所以我們采用頁面模式。頁面模式是頁面與測(cè)試用例之間的紐帶,它將每個(gè)頁面抽象成一個(gè)單獨(dú)的類,為測(cè)試用例提供頁面元素的定位和操作。

BaseClass作為父類只包含driver成員變量,用來標(biāo)識(shí)Selenium中的WebDriver,以便在子類中定位頁面元素。LoginClass和PageClass作為子類,可以提供頁面元素的定位和操作方法。比如登錄頁面。?

pythonselenium框架,軟件測(cè)試面試,自動(dòng)化測(cè)試,軟件測(cè)試,python,selenium,開發(fā)語言,自動(dòng)化測(cè)試,軟件測(cè)試

從頁面看,需要操作的元素分別為:登錄用戶名、密碼、下次自動(dòng)登錄和登錄按鈕。具體實(shí)現(xiàn)代碼如下:

頁面父類BaseClass.py

pythonselenium框架,軟件測(cè)試面試,自動(dòng)化測(cè)試,軟件測(cè)試,python,selenium,開發(fā)語言,自動(dòng)化測(cè)試,軟件測(cè)試

??LoginClass繼承自BaseClass,并進(jìn)行登錄的元素定位以及操作實(shí)現(xiàn)。代碼中定位了username和password,并添加了設(shè)置用戶名和密碼的操作。

pythonselenium框架,軟件測(cè)試面試,自動(dòng)化測(cè)試,軟件測(cè)試,python,selenium,開發(fā)語言,自動(dòng)化測(cè)試,軟件測(cè)試

公共庫模塊

公共庫模塊是為創(chuàng)建測(cè)試用例服務(wù)的,主要包括常量、公共函數(shù)、日志、報(bào)告等。

Common.py

pythonselenium框架,軟件測(cè)試面試,自動(dòng)化測(cè)試,軟件測(cè)試,python,selenium,開發(fā)語言,自動(dòng)化測(cè)試,軟件測(cè)試

?測(cè)試用例信息類用來標(biāo)識(shí)測(cè)試用例,并且包括執(zhí)行用例、執(zhí)行結(jié)果信息,主要包括以下字段。

pythonselenium框架,軟件測(cè)試面試,自動(dòng)化測(cè)試,軟件測(cè)試,python,selenium,開發(fā)語言,自動(dòng)化測(cè)試,軟件測(cè)試

日志主要用來記錄測(cè)試用例執(zhí)行步驟及產(chǎn)生的錯(cuò)誤信息,不同的信息有不同的日志級(jí)別,比如Information、Warning、Critical和Debug。由于每個(gè)測(cè)試用例產(chǎn)生的日志條目比較少,所以在測(cè)試框架中只利用了最高級(jí)別的日志打印,即Debug級(jí)別,該級(jí)別也會(huì)將其他所有的日志級(jí)別的信息同樣打印出來。在具體的實(shí)現(xiàn)中引用了Python標(biāo)準(zhǔn)庫中的logging類庫,以便更方便的控制日志輸出。

測(cè)試用例倉庫

用例倉庫主要用來組織自動(dòng)化測(cè)試用例。每條測(cè)試用例都被抽象成一個(gè)獨(dú)立的類,并且均繼承自u(píng)nittest.TestCase類。 Python中的unittest庫提供了豐富的測(cè)試框架支持,包括測(cè)試用例的setUp和tearDown方法,在實(shí)現(xiàn)用例的過程中可以重寫。依托頁面管理和公共庫模塊實(shí)現(xiàn)的頁面方法和公共函數(shù),每一個(gè)測(cè)試用例腳本的書寫都會(huì)非常清晰簡潔。
pythonselenium框架,軟件測(cè)試面試,自動(dòng)化測(cè)試,軟件測(cè)試,python,selenium,開發(fā)語言,自動(dòng)化測(cè)試,軟件測(cè)試

從這個(gè)測(cè)試用例中,我們可以看到

Setup中定義了執(zhí)行測(cè)試用例前的一些實(shí)例化工作
tearDown對(duì)執(zhí)行完測(cè)試做了清理和寫日志文件工作
測(cè)試步驟、測(cè)試數(shù)據(jù)和測(cè)試檢查點(diǎn)非常清晰,易修改(比如用戶名密碼)
日志級(jí)別僅有Debug,所以寫日志僅需用同一Log方法
3、用例執(zhí)行模塊

執(zhí)行模塊主要用來控制測(cè)試用例腳本的批量執(zhí)行,形成一個(gè)測(cè)試集。用例的執(zhí)行引用了Python標(biāo)準(zhǔn)庫中的subprocess來執(zhí)行nosetests的shell命令,從而執(zhí)行給定測(cè)試用例集中的用例。測(cè)試用例集是一個(gè)簡單的純文本文件,實(shí)現(xiàn)過程中利用了.txt文件testcases.txt。
pythonselenium框架,軟件測(cè)試面試,自動(dòng)化測(cè)試,軟件測(cè)試,python,selenium,開發(fā)語言,自動(dòng)化測(cè)試,軟件測(cè)試

用例前沒有“#“標(biāo)記的測(cè)試用例腳本會(huì)被執(zhí)行,而有”#“標(biāo)記的則會(huì)被忽略,這樣可以很方便的控制測(cè)試集的執(zhí)行,當(dāng)然也可以創(chuàng)建不同的文件來執(zhí)行不同的測(cè)試集。

四、需要改進(jìn)的模塊
對(duì)于現(xiàn)有實(shí)現(xiàn)的測(cè)試框架,已經(jīng)可以滿足web對(duì)象的自動(dòng)化需求,但還是有些可以改進(jìn)提高的地方,比如:

部分用例可以嘗試數(shù)據(jù)驅(qū)動(dòng)。
二次封裝selenium的By函數(shù),以便更高效定位元素。
沒有進(jìn)行持續(xù)化集成。
五、總結(jié)
基于Selenium實(shí)現(xiàn)的web自動(dòng)化測(cè)試框架不僅輕量級(jí)而且靈活,可以快速地開發(fā)自動(dòng)化測(cè)試用例,結(jié)合本篇的框架設(shè)計(jì)和一些好的實(shí)踐,希望對(duì)大家以后的web自動(dòng)化框架的設(shè)計(jì)和實(shí)現(xiàn)有所幫助。文章來源地址http://www.zghlxwxcb.cn/news/detail-784340.html

到了這里,關(guān)于基于Selenium+Python的web自動(dòng)化測(cè)試框架的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于Selenium的Web UI自動(dòng)化測(cè)試框架開發(fā)實(shí)戰(zhàn)

    基于Selenium的Web UI自動(dòng)化測(cè)試框架開發(fā)實(shí)戰(zhàn)

    1、自研自動(dòng)化測(cè)試框架 首先進(jìn)行需求分析。概要設(shè)計(jì)包括以下三大模塊: 公共函數(shù)庫模塊(包括可復(fù)用函數(shù)庫、日志管理、報(bào)表管理及發(fā)送郵件管理); 測(cè)試用例倉庫模塊(具體用例的相關(guān)管理); 可視化頁面管理模塊(單獨(dú)針對(duì)Web頁面進(jìn)行抽象,封裝頁面元素和操作方

    2024年01月20日
    瀏覽(115)
  • Python+selenium,輕松搭建 Web 自動(dòng)化測(cè)試框架

    Python+selenium,輕松搭建 Web 自動(dòng)化測(cè)試框架

    在程序員的世界中,一切重復(fù)性的工作,都應(yīng)該通過程序自動(dòng)執(zhí)行。 「自動(dòng)化測(cè)試」就是一個(gè)最好的例子。 隨著互聯(lián)網(wǎng)應(yīng)用開發(fā)周期越來越短,迭代速度越來越快,只會(huì)點(diǎn)點(diǎn)點(diǎn),不懂開發(fā)的手工測(cè)試,已經(jīng)無法滿足如今的業(yè)務(wù)要求,只能被企業(yè)逐步裁員淘汰。 「自動(dòng)化測(cè)試

    2024年02月10日
    瀏覽(28)
  • selenium+python做web端自動(dòng)化測(cè)試框架實(shí)戰(zhàn)

    selenium+python做web端自動(dòng)化測(cè)試框架實(shí)戰(zhàn)

    最近受到萬點(diǎn)暴擊,由于公司業(yè)務(wù)出現(xiàn)問題,工作任務(wù)沒那么繁重,有時(shí)間摸索selenium+python自動(dòng)化測(cè)試,結(jié)合網(wǎng)上查到的資料自己編寫出適合web自動(dòng)化測(cè)試的框架,由于本人也是剛剛開始學(xué)習(xí)python,這套自動(dòng)化框架目前已經(jīng)基本完成了所以總結(jié)下編寫的得失,便于以后回顧溫

    2024年02月14日
    瀏覽(26)
  • python基于Selenium的web自動(dòng)化框架

    python基于Selenium的web自動(dòng)化框架

    1 什么是selenium Selenium 是一個(gè)基于瀏覽器的自動(dòng)化工具,它提供了一種跨平臺(tái)、跨瀏覽器的端到端的web自動(dòng)化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一個(gè)擴(kuò)展,它可以進(jìn)行錄制回放,并可以把錄制的操作以多種語言(例

    2024年02月02日
    瀏覽(22)
  • Python + Selenium,分分鐘搭建 Web 自動(dòng)化測(cè)試框架!

    Python + Selenium,分分鐘搭建 Web 自動(dòng)化測(cè)試框架!

    在程序員的世界中,一切重復(fù)性的工作,都應(yīng)該通過程序自動(dòng)執(zhí)行。 「自動(dòng)化測(cè)試」就是一個(gè)最好的例子。 隨著互聯(lián)網(wǎng)應(yīng)用開發(fā)周期越來越短,迭代速度越來越快,只會(huì)點(diǎn)點(diǎn)點(diǎn),不懂開發(fā)的手工測(cè)試,已經(jīng)無法滿足如今的業(yè)務(wù)要求,只能被企業(yè)逐步裁員淘汰。 「自動(dòng)化測(cè)試

    2024年02月02日
    瀏覽(29)
  • selenium+python web自動(dòng)化測(cè)試框架項(xiàng)目實(shí)戰(zhàn)實(shí)例教程

    selenium+python web自動(dòng)化測(cè)試框架項(xiàng)目實(shí)戰(zhàn)實(shí)例教程

    自動(dòng)化測(cè)試對(duì)程序的回歸測(cè)試更方便。 由于回歸測(cè)試的動(dòng)作和用例是完全設(shè)計(jì)好的,測(cè)試期望的結(jié)果也是完全可以預(yù)料的,將回歸測(cè)試自動(dòng)運(yùn)行... 可以運(yùn)行更加繁瑣的測(cè)試 自動(dòng)化測(cè)試的一個(gè)明顯好處就是可以在很短的時(shí)間內(nèi)運(yùn)行更多的測(cè)試。學(xué)習(xí)自動(dòng)化測(cè)試最終目的是應(yīng)用到

    2024年02月06日
    瀏覽(36)
  • Selenium Web自動(dòng)化測(cè)試——基于unittest框架的PO設(shè)計(jì)模式

    Selenium Web自動(dòng)化測(cè)試——基于unittest框架的PO設(shè)計(jì)模式

    ??? 交流討論: 歡迎加入我們一起學(xué)習(xí)! ?? 資源分享 : 耗時(shí)200+小時(shí)精選的「軟件測(cè)試」資料包 ??? 教程推薦: 火遍全網(wǎng)的《軟件測(cè)試》教程?? ?? 歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯(cuò)誤敬請(qǐng)指正! 前面一直在講接口自動(dòng)化測(cè)試框架與案例分享,很少講Selenium這個(gè)We

    2024年03月21日
    瀏覽(93)
  • web自動(dòng)化測(cè)試框架落地實(shí)施全過程-測(cè)試環(huán)境搭建 (Selenium+Python)

    web自動(dòng)化測(cè)試框架落地實(shí)施全過程-測(cè)試環(huán)境搭建 (Selenium+Python)

    Web自動(dòng)化測(cè)試是指使用自動(dòng)化工具模擬用戶在Web瀏覽器中執(zhí)行的操作,通過編寫腳本來自動(dòng)化執(zhí)行測(cè)試用例,以驗(yàn)證Web應(yīng)用程序的功能、性能和兼容性等方面的質(zhì)量。其主要目的是降低測(cè)試成本和時(shí)間,并提高測(cè)試效率和準(zhǔn)確性。 Web自動(dòng)化測(cè)試通常包括以下步驟: 確定測(cè)試

    2024年02月09日
    瀏覽(20)
  • ?selenium+python做web端自動(dòng)化測(cè)試框架與實(shí)例詳解教程

    ?selenium+python做web端自動(dòng)化測(cè)試框架與實(shí)例詳解教程

    最近受到萬點(diǎn)暴擊,由于公司業(yè)務(wù)出現(xiàn)問題,工作任務(wù)沒那么繁重,有時(shí)間摸索selenium+python自動(dòng)化測(cè)試,結(jié)合網(wǎng)上查到的資料自己編寫出適合web自動(dòng)化測(cè)試的框架,由于本人也是剛剛開始學(xué)習(xí)python,這套自動(dòng)化框架目前已經(jīng)基本完成了所以總結(jié)下編寫的得失,便于以后回顧溫

    2024年02月10日
    瀏覽(36)
  • 基于python實(shí)現(xiàn)Web自動(dòng)化測(cè)試(selenium)、API自動(dòng)化測(cè)試(requests)&附學(xué)習(xí)視頻

    基于python實(shí)現(xiàn)Web自動(dòng)化測(cè)試(selenium)、API自動(dòng)化測(cè)試(requests)&附學(xué)習(xí)視頻

    另一篇文章 :自動(dòng)化測(cè)試框架(pytest)附學(xué)習(xí)視頻 學(xué)習(xí)視頻,學(xué)習(xí)文檔-白月黑羽 說明: 1緊跟著寫的不加/,不加空格-表示同一級(jí)別信息,加空格表示后代 2.css定位tag,id,class時(shí)分別有不同的標(biāo)識(shí),其他屬性都要加[]進(jìn)行搜索, Xpath所有屬性都要都加【】,tag不用 3. css在使用ta

    2024年02月03日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包