偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python自動化之?dāng)?shù)據(jù)驅(qū)動,讓你的腳本簡潔10倍

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

[[267071]]

 前言

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

[[267072]] 

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

[[267073]] 

舉一個小栗子:登錄流程,在測試的時候,除了測試登錄成功的場景,我們往往需要測到各種登錄異常的場景。

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

 

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

 

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

 

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

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

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

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

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

 

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

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

 

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

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

 

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

 

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

 

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

吃飯時或者下班時執(zhí)行下測試腳本,吃完飯后或者第二天上班時,查看下 Excel 里的執(zhí)行結(jié)果,有 fail 再手動看看能否復(fù)現(xiàn),是不是很高效?

責(zé)任編輯:武曉燕 來源: 癡海
相關(guān)推薦

2016-11-07 08:40:51

天池腳本自動化

2018-05-11 08:29:10

Python自動化測試數(shù)據(jù)驅(qū)動

2018-05-11 13:39:05

PythonCSV接口測試

2020-04-22 17:09:04

Python自動化開發(fā)

2020-07-21 15:40:55

NginxJava服務(wù)器

2024-08-02 17:23:12

2018-02-10 18:35:09

LinuxAnsible系統(tǒng)管理

2021-11-30 07:01:19

Python自動化腳本

2024-05-13 16:29:56

Python自動化

2019-02-19 15:37:18

自動化測試數(shù)據(jù)

2024-11-13 13:14:38

2022-02-17 13:03:28

Python腳本代碼

2024-08-16 21:51:42

2024-06-21 10:46:44

2023-09-21 09:28:23

編寫代碼

2022-10-09 14:50:44

Python腳本

2021-10-14 06:52:47

自動化開發(fā)環(huán)境

2021-07-09 07:24:47

Python自動化辦公

2011-08-25 09:33:25

MySQL運(yùn)維

2014-03-11 11:10:10

PowerShell自動化腳本
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號