記得很久之前接觸自動化的時候看了一本關於某早期自動化測試工具的書,書名已經記不得了,內容卻一直印象深刻。因為那本書根本就是把官方文件有選擇性的翻譯一遍,對於實際應用來說其作用幾乎是零。因此從那時候起我就一直認為,對工具的介紹應該不僅僅停留在理論和了解的程度,如果沒有實戰,那麼我們之於工具無非就是葉公好龍,一直遠觀,無法賞玩。
很欣慰的是蟲師這本selenium2自動化測試實戰--基於python語言並沒有停留在夸夸其談的表面,我仔細的研究了書中的**和示例,顯然很大一部分都是他在日常工作中勤奮總結而得出來的一手範例,對於技術書籍來說這是難能可貴的。
對於一本介紹自動化測試的書來說,我們其實不缺理論。國外的很多同行都不停的在傳經布道,他們的結論其實很簡單,自動化測試是好東西,對於提公升軟體質量來說,自動化測試帶給我們生產力的解放收益遠遠要大於成本。結論我們都知道,工具我們也清楚,無非就是單元測試xunit,rspec之類,bdd測試用cucumber等等,ui層面的aut用selenium。這些工具我們都會用,而且也許用的還不錯,不過為什麼我們的自動化測試除了耗時費力之外根本就看不出有什麼效果?
答案其實很簡單,我們自以為用對了,但實際上也許我們才剛上路,甚至跟最佳實踐背道而馳。這就像是拿ipad當砧板,用宰牛刀殺雞一樣,路子不對,只能越練越野,直到走火入魔。
這本書中其實提到了很多不錯的實踐,路子正宗,從者自然不會誤入歧途,這也是我推薦他的另外乙個理由。
在看本書前幾章的時候,我一直不斷的想起當年初出茅廬入行時候所遇到的初學者困局。我很想學乙個東西,一門技術,但是到底應該從**開始?
萬事開頭難,沒有師傅領進門,在不停的挫敗和各種不同資訊的正反面轟炸下,我們很容易舉白旗放棄。
對於很多初學者來說,上面的困局應該都是存在的。花了很對精力和時間,但最終卻發現一切都是徒勞,做了很多功課,但真正該做的事情卻未曾開始。
好在這本書能夠很好的解決這個困局。你不需要選擇,這本書描述的就是selenium2,代表了主流代表了未來,用的語言是python,全世界都在用,代表了簡單高效,代表了經典和優雅。很有意思的是python自身的哲學裡也認為最好只用一種方法來做一件事(你可以開啟python直譯器,然後import this試試),免去選擇的苦惱。你應該把精力放在更有意義的事情上,比如多寫幾個自動化測試用例,而不是糾結於各種選擇徘徊不前。
搭建好了環境,寫好冒煙指令碼之後敢問路在何方又是初學者常見的問題。因為selenium沒有官方中文文件,啃英文實在不是一件愉快的事情。也許你好不容易看懂了解釋,卻發現官方的示例離自己身處的環境相差太多,官方的例子一直是google搜尋,發gmail,而你卻悲哀的發現在根本就沒有gmail這個**。這本書不僅僅非常詳盡的介紹了selenium的api,而且給出了非常多可以執行的本土化的示例,這對初學者和其他程度使用者來說都是福音,有些例子很棒,你試過就知道。
其實試完webdriver的各種api,你應該已經算入門了。入門了之後便是更多的困惑,比如如何去寫測試用例,如何做基於資料的用例設計,如何分布式執行用例,如何多執行緒執行用例等,這些本書都有答案。
最後便是bdd和ci,說實話如果一本介紹自動化測試的書沒有這兩項內容的話都是不完整的。如果自動化是彩虹,那麼ci便是風雨,不經歷風雨怎會見彩虹。沒有ci,自動化其實找不到太多的應用場景,沒有自動化,ci更是無從說起了。儘管本書的重點不在ci,但本書的終點在ci,就像是指出了宿命的依歸,獨具匠心。
還記得上次跟蟲師見面時候的情景,應該已經有2年多了。時過境遷,曾經我們上班的地點就在隔壁,如今發現時間逝去,很多東西都已改變。不過難能可貴的是蟲師對測試技術的追求一直不曾更改,一直筆耕不輟,這本書其實也算是水到渠成的結果了。勿忘初心,堅持自己,最後希望這本書能多幫助一些人,我想這應該也是蟲師的初衷吧。
Selenium2自動化測試實戰序言
記得很久之前接觸自動化的時候看了一本關於某早期自動化測試工具的書,書名已經記不得了,內容卻一直印象深刻。因為那本書根本就是把官方文件有選擇性的翻譯一遍,對於實際應用來說其作用幾乎是零。因此從那時候起我就一直認為,對工具的介紹應該不僅僅停留在理論和了解的程度,如果沒有實戰,那麼我們之於工具無非就是葉公...
selenium 自動化測試。
第一步安裝 谷歌瀏覽器。第三步編寫測試測試指令碼 第四步 安裝selemium coding utf 8 引入webdriver和unittest所需要的包 from selenium import webdriver from selenium.webdriver.common.by import...
Python自動化測試 Selenium
第乙個selenium就。先show from selenium import webdriver driver webdriver.firefox driver.get assert oxcoder decode utf 8 in driver.title print driver.title d...