溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析

發(fā)布時(shí)間:2021-09-09 15:48:16 來源:億速云 閱讀:132 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

前言

數(shù)據(jù)驅(qū)動(dòng)是一種思想,讓數(shù)據(jù)和代碼進(jìn)行分離,比如爬蟲時(shí),我們需要分頁爬取數(shù)據(jù)時(shí),我們往往把頁數(shù) page 參數(shù)化,放在 for 循環(huán) range 中,假如沒有 range 這個(gè)自帶可以生產(chǎn)數(shù)字序列的方法可以用,我們是不是得手動(dòng)逐個(gè)添加?

現(xiàn)實(shí)場(chǎng)景中就存在大量這樣的例子,比如我之前寫的爬取上海各地區(qū)房租情況的時(shí)候,對(duì)地區(qū)進(jìn)行遍歷的時(shí)候,為了偷懶,我直接把這些地區(qū)的拼音全稱放在了列表里,組合成各地區(qū)房源的鏈接。最后文章寫完了,有讀者反饋,少了徐匯區(qū)的統(tǒng)計(jì)數(shù)據(jù)。這種小數(shù)量的數(shù)據(jù)都出現(xiàn)了紕漏,可想而知,對(duì)于大量的數(shù)據(jù),怎么保證數(shù)據(jù)的完整和準(zhǔn)確性?我們需要把兩者分離,數(shù)據(jù)專門儲(chǔ)存在特定文件(比如 Excel 文件)。

舉一個(gè)小栗子:登錄流程,在測(cè)試的時(shí)候,除了測(cè)試登錄成功的場(chǎng)景,我們往往需要測(cè)到各種登錄異常的場(chǎng)景。

寫幾條很常見的案例如下:

Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析

比如上面寫了 5 條案例,數(shù)據(jù)和腳本不做分離的話,我們寫自動(dòng)化測(cè)試腳本需要寫 5 條。

Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析

5 條案例中,腳本都是基本一樣的,只是輸入框輸入的數(shù)據(jù)不一樣罷了。

Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析

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

我們完全可以把數(shù)據(jù)存儲(chǔ)在 Excel 表中,我們通過循環(huán)讀取 Excel 表中的數(shù)據(jù)來實(shí)現(xiàn)一條腳本執(zhí)行多條數(shù)據(jù)。

我們先封裝一個(gè)操作 Excel 文件的類,需要先安裝導(dǎo)入包 openpyxl。

我們用這個(gè)庫(kù)可以做一下功能:讀取表格數(shù)據(jù)、保存執(zhí)行結(jié)果。

我們先在類下寫一個(gè)打開 Excel 文件的初始化方法,構(gòu)造方法的作用是,當(dāng)類被實(shí)例化后,會(huì)立即調(diào)用構(gòu)造方法。

Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析

讀取表格數(shù)據(jù)

然后我們寫一個(gè)讀取 Excel 數(shù)據(jù)的方法,讀取數(shù)據(jù)后返回?cái)?shù)據(jù)列表,以便之后調(diào)用獲取對(duì)應(yīng)的數(shù)據(jù),因?yàn)榈?1 列數(shù)據(jù)是序號(hào),所以直接返回第 2 列之后的數(shù)據(jù)。

Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析

保存執(zhí)行結(jié)果

實(shí)際結(jié)果和預(yù)期結(jié)果對(duì)比后,我們需要標(biāo)記執(zhí)行結(jié)果是 pass 或者 fail,我們需要保存結(jié)果,保存到對(duì)應(yīng)的單元格中。

Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析

我們看看我們的案例格式:

Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析

這樣的話,我們腳本就不用寫 5 條了,調(diào)用 Excel 文件的數(shù)據(jù),循環(huán)執(zhí)行案例即可,不僅邏輯清晰,還方便了后期的維護(hù)。

Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析

這樣,測(cè)試數(shù)據(jù)和腳本分離后,不同的測(cè)試數(shù)據(jù)用不同的 Excel 文件保存即可。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python自動(dòng)化之?dāng)?shù)據(jù)驅(qū)動(dòng)的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI