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層 使用...