本文目錄一覽:
用 Python 為接口測試自動生成用例
基於屬性的測試 會產生大量的、隨機的參數,特別適合為單元測試和接口測試生成測試用例
儘管早在2006年haskell語言就有了 QuickCheck 來進行”基於屬性的測試“,但是目前來看這依然是一個比較小眾的領域,參考資料有限,本文如有不足,歡迎指正。
在過去的測試實踐中,執行測試時通常需要明確的內容(Value):
這些內容可以通過”判定樹“或者”判斷表“來表示,然後測試的執行過程變成了這樣
可以稱為 基於表的測試
在最初,這給了我們測試的方向,但是缺點也非常明顯:
你要足夠多的”X-Y” 才能可能覆蓋到隱蔽的bug。
這裡請大家回答幾個問題:
如果以上問題的答案不是yes,那麼 基於屬性的測試 就是你需要掌握的東西!
基於屬性的測試和基於表的測試,最大的區別可以這樣描述:
vs
於是利用工具生成大量的X類數據,進行測試,並驗證結果是否Y類。
值得注意的是:
在不同的語言中有不同的工具來實現,比如:
本文以python為例進行演示:
假設有add函數,接收兩個類型整數參數,並返回它們的相加結果
首先寫出一個簡單的測試用例
正如前面所說,一個這樣的用例,根本沒信心覆蓋全部的場景,例如:
所以接下來怎麼辦?
改為基於屬性的測試
執行結果
由結果可知,工具根據 參數是整數 這一規範,自動生成、執行了大量的測試用例
接口測試和函數的單元測試非常相似:
此外接口文檔作為前後端、甚至測試開發的對接窗口,對參數的要求約定的更加細緻,
以OpenAPI為例,每個參數可以有以下屬性:
於是為接口生成符合要求的參數就變得可行了,舉個例子:
這是以unittest為例進行封裝的結果,只需要在TestCase中指定openapi的內容(或路徑),
啟動測試框架時,會自動讀取、解析接口文檔,並生成測試用例
下面是部分執行日誌,可以看到對接口發送了隨機參數,並獲得返回值
文章來自
python 根據規律生成url列表然後在下載 做一個爬蟲
用爬蟲跟蹤下一頁的方法是自己模擬點擊下一頁連接,然後發出新的請求;
參考例子如下:
item1 = Item()
yield item1
item2 = Item()
yield item2
req = Request(url=’下一頁的鏈接’, callback=self.parse)
yield req
注意:使用yield時不要用return語句。
python 自動化,如何添加測試用例
1、單獨添加一個或多個用例
……
2、添加某個類下的所有用例
2.1方法一:
如Class_name類下有多個用例,則直接括號里不寫入任何用例名,即可測試該類下所有用例。
2.2方法二
使用unittest.makeSuite(類名),將該類下所有用例添加到套件中
2.3方法三
使用 unittest.TestLoader()這個類下的loadTestsFromTestCase(類名),將該類下的所有用例加入到套件中
3、將整個文件中的用例都加載到套件中,不管有幾個用例類
使用 unittest.TestLoader()這個類下的loadTestsFromModule(文件名, pattern=None),moudle就是用例存放的文件名
python多線程探測url地址
建立一個名為url.txt的文件,將需要批量測試的url放此文件中,執行腳本就看可以了。Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/280330.html