學習自動化框架

2022-08-12 14:51:20 字數 3052 閱讀 6045

自動化框架有兩個難點,乙個是如何分類儲存各個類,函式以及資料,乙個是怎樣呼叫組合成測試用例。涉及的資料量繁雜,需要格式要鮮明,結構嚴謹,引數起名有標誌性以及註解簡介明了。

一、自動化斷言: 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 執行測試,可以將要使用...