自動化框架有兩個難點,乙個是如何分類儲存各個類,函式以及資料,乙個是怎樣呼叫組合成測試用例。涉及的資料量繁雜,需要格式要鮮明,結構嚴謹,引數起名有標誌性以及註解簡介明了。
一、自動化斷言: unittest提供了斷言方法。
1.assertequal(arg1,arg2) 驗證arg1與arg2相等,否則fail
2.assertnotequal(arg1,arg2) 驗證arg1與arg2不相等,否則fail
3.asserttrue(expr) 驗證expr是true,否則fail
4.assertfalse(expr) 驗證expr是false,否則fail
5.assertisnone(expr) 驗證expr是none,否則fail
6.assertisnotnone(expr) 驗證expr不是none,否則fail
7.assertin(arg1,arg2) 驗證arg1是arg2的子串,否則fail
8.assertnotin(arg1,arg2) 驗證arg1不是arg2的子串,否則fail
二、讀取檔案中的資料
1.讀取csv檔案
a.首先引入csv包 import csv
b.讀取當前目錄下的crmuser.csv檔案並賦值 data = csv.reader(open(".\\crmuser.csv","r"))
c.遍歷輸出每一行資料 for user in data:
print(user)
2.讀取excel檔案
a.引入xlrd import xlrd
b.開啟乙個當前目錄下的crmuser.xlsx並賦值 data = xlrd.open_workbook(r".\\crmuser.xlsx")
c.選擇excel的sheet頁 table = data.sheet_by_name(sheet1) #根據頁名字查詢
table = data.sheet_by_index(0) #根據腳標序號查詢
d.讀取整行資料 row_value = table.row_values(0) #根據腳標序號讀取哪一行
e.讀取整行資料 col_value = table.col_values(0) #根據腳標序號讀取哪一列
f.通過行和列確定單元格的值 cell_a1 = table.cell(0,0).value #根據座標讀取單元格值
g.獲取表中的行數 nrows = table.nrows #行數是excel的屬性
h.獲取表中的列數 ncols = table.ncols #列數是excel的屬性
三、自動化測試報告
1.htmltestrunner:需要新建乙個檔案以二進位制的形式寫入資料
a.使用discover執行當前目錄下的test開頭的.py檔案
discover = unittest.defaulttestloader.discover(".\\",pattern = "test*.py")
b.例項化htmltestrunner,寫入當前目錄下的hreport.html檔案中
runner = htmltestrunner(stream = open(".\\hreport.html","wd"),title="這是主題",description="這是描述")
c.執行
runner.run(discover)
d.關閉檔案
open(".\\hreport.html","wd").colse()
2.beautifulreport:自動會生成乙個檔案存放此次的測試報告
a.使用discover執行當前目錄下的test開頭的.py檔案
discover = unittest.defaulttestloader.discover(".\\",pattern = "test*.py")
b.使用beautifulreport報告執行用例,結果寫入報告,存放當前目錄下btest.html檔案內
beautifulreport(discover).report(description = "我是描述",log_path = ".\\",filename = "btest.html")
四、自動化框架:基本首先確定頁面類,其次在這個頁面呼叫的操作與執行,最後編寫用例時呼叫對應方法。對專案分類儲存,再呼叫需要的、對應的資源。
1.六類資料夾
project_name #頂層資料夾,專案名稱
|--driver #驅動資料夾,用於存放瀏覽器驅動檔案
|--model #函式資料夾,用於存放啟動瀏覽器、資料庫操作等函式檔案
|--page #頁面資料夾,存放頁面的基類以及其它所有的頁面類
|--testcase #測試用例資料夾,存放測試用例基類以及其它所有測試用例類
|--report #報告資料夾,存放測試報告、截圖等測試結果的資料夾
|--data #資料資料夾,存放csv、excel等資料檔案的資料夾
自動化框架有兩個難點,乙個是如何分類儲存各個類,函式以及資料,乙個是怎樣呼叫組合成測試用例。涉及的資料量繁雜,需要格式要鮮明,結構嚴謹,起名有標誌性以及註解簡介明了。
自動化測試框架
可設計為五層 一 測試用例層 主要存放用例的指令碼,分為主指令碼和子指令碼。主指令碼用來控制各個子指令碼,實現指令碼間的資料傳遞。子指令碼是實現各個功能點的指令碼,同時也會提取出一些共用的方法,一般放在提取層中。主指令碼中可使用資料驅動來控制指令碼實現各種場景的流程,如silktest的test s...
自動化測試框架 自動化測試呼喚開發
週末參加了testage 測試時代 組織的乙個專家討論會。主要討論測試自動化。說是專家討論會,我參加實在是慚愧,我對測試的理解實在是太淺薄了。只是因為在部落格上發表了一些謬論才收到邀請。想著可以幫助公司去接受一些新的思想,而自己也可以結識一些朋友,便去了。對於測試時代的會議組織,我以為定位和思路還是...
python nose自動化框架學習筆記(一)
使用外掛程式 使用pip安裝所需要的外掛程式,然後通過nosetests命令列配置外掛程式。執行如下命令驗證所安裝的外掛程式,nosetests plugins 在命令列中新增 v或者 vv選項可以顯示每乙個外掛程式的更多資訊。如果通過nose.main 或者nose.run 執行測試,可以將要使用...