前 言
《Selenium2 自動化測試實戰——基於Python 語言》出版後,我陸續收到許多反饋,有很多同學(我習慣這麼稱呼軟件測試的同行)通過這本書學會了Selenium 自動化測試,這是我寫這本書的初衷,能在你學習測試技術的道路上提供一點點幫助,我感到非常高興!也有同學向我反饋了書中的一些錯誤,在此深表感謝。
隨著我在自動化測試技術上的積累,我越發覺得《Selenium2 自動化測試實戰——基於Python 語言》一書有許多不足之處,有些內容已經過時,有些技術需要更進一步的探討。2017 年的時候我萌生要寫第二版的想法,當時隻是想對少部分內容進行修改,直接到2018年下半年纔開始動筆重新整理內容。我寫書的方式是一遍遍地修改書中的內容,所以,雖然不是從頭到尾寫一本新書,但也花費了半年之久。
前面的章節安排與《Selenium2 自動化測試實戰——基於Python 語言》一書相比,變化不大,但裡面的內容都有改動,主要是替換或修改了裡面的例子。隨著我對自動化測試的理解,更正了前一本書中的部分觀點。
(1)加入了pytes測試框架的使用方法,與unittest 相比,pytest 的功能更加強大,而且還有豐富的擴展庫,更適合用來做自動化測試。
(2)補充了Jenkins 的使用方法。
(3)增加了3 章appium 移動自動化測試工具的介紹。隨著移動互聯網的發展,移動自動化測試幾乎成為測試人員必備技能之一,appium 正是在Selenium 的基礎上擴展而來的自動化工具。
當然,在上一本的基礎上,本書也刪減了部分內容。
(1)刪掉了Selenium IDE 相關的內容,越來越多的測試人員使用WebDriver 編寫自動化腳本,Selenium IDE 作為瀏覽器的自動化插件,已經很少有同學單獨使用它完成大型自動化項目了。
(2)刪掉了Python 多線程相關的內容。多線程的優點是可以提高自動化測試的執行速度,缺點是降低了自動化的穩定性。本書介紹了減少測試用例執行時間的其他方法。
(3)刪掉了BDD 行為驅動開發相關的內容,本書更聚焦於自動化測試技術,所以,其他技術請參考專業的書進行學習。
本書在命名時也頗為糾結,本書的內容屬於《Selenium2 自動化測試實戰——基於Python 語言》升級版,如果命名為《Selenium2 自動化測試實戰——基於Python 語言(第二版)》可以看出這種繼承關繫,但是書中內容是基於Selenium3 編寫的,所以最終命名為《Selenium3 自動化測試實戰——基於Python 語言》。
在本書出版之際,Selenium4 已在開發當中,從Selenium 官方給出的消息來看,Selenium4 對於本書的內容影響很小。
最後,由於作者水平有限,書中難免有錯誤之處,希望你能將錯誤反饋給我,我將感激不盡。感謝編輯安娜,沒有她的幫助本書無法出版。感謝讀者的厚愛,正是你們的鼓勵
和支持,纔使我有動力完成本書。
蟲師
2019 年6 月