python自動化測試

2022-04-10 19:57:21 字數 2287 閱讀 3460

0、寫在前面

專案都快搞完了,感覺還是一堆的bug,人工測試還是不靠譜

意識到測試的重要性,學習下自動化測試

1、相關庫

unittest:python自帶的自動化測試庫

htmltestrunner:用於生成報告

一些坑:

瀏覽器和driver的版本必須一致,否則起不來

必須要通過命令列的方式執行指令碼,否則不會生成報告

2、乙個簡單的栗子

1

#-*- coding: utf-8 -*-

2import

unittest

3from selenium import

webdriver

4import

time,os

5from htmltestrunner import

htmltestrunner67

89 option =webdriver.chromeoptions()10#

設定瀏覽器不開啟

執行前15

defsetup(self):

16 self.driver = webdriver.chrome(chrome_options=option)

17 self.base_url = '

'1819#

test開頭的函式自動執行

20def

test_search(self):

21 u'''

'''22

self.driver.get(self.base_url)

23 input = self.driver.find_element_by_id('kw'

)24 searchbutton = self.driver.find_element_by_id('su'

)25 input.send_keys("

python")

26searchbutton.click()

27 time.sleep(2)

28 self.assertequal(u'

',self.driver.title)

2930

#執行後

生成報告

38 wf = open(os.getcwd()+'

/result.html

','wb')

39 runner = htmltestrunner(stream=wf,title=u"

",description=u"

簡單測測")

3、po模式和資料驅動

po模式大概就是為每個頁面做個class,做好封裝,頁面、邏輯、資料、驅動分離開

資料驅動大概就是同一套**,不同的資料產生不同的結果來進行測試

4、實現思路

base--findelement類,根據配置檔案來找元素,把selenium的一些方法封裝的更簡單一些

page(頁面,找到元素)--handle(操作元素)--business(業務層,執行操作)--case(最後呼叫)

page--找到具體元素,輸入框、按鈕、get_username_ele,get_password_ele,loginpage類

handle--send_username,send_password等等,loginhandle類

bussiness--整合起來,login(判斷登入成功失敗),logout,loginbussiness類

case--具體測試的**,按計畫記性逐項測試

大概可以按這樣的**列好後,逐項進行測試

5、具體實現

測試登入

python自動化測試

為了讓單元測試 能夠被測試和維護人員更容易地理解,最好的解決辦法是讓開發人員遵循一定的規範來編寫用於測試的 具體到python程式設計師來講,則是要採用pyunit這一自動測試框架來構造單元測試用例。目前pyunit已經得到了大多數python開發人員的認可,成了事實上的單元測試標準。1.要被測試的...

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...

python自動化測試,自動化基本技術原理

在之前的文章裡面提到過 做自動化的首要本領就是要會 透過現象看本質 落實到實際的it工作中就是 透過介面看資料。掌握上面的這樣的本領可不是容易的事情,必須要有紮實的計算機理論基礎,才能看到深層次的本質東西。資料庫應用系統 可能是最典型的網路應用程式了,關於它的軟體架構如下 一般在邏輯上分為4層 使用...