原先搭建過一個自動化測試框架,迷迷糊糊不求甚解,算是搭建了一個僅限于能用的、根本算不上框架的玩意兒。
現(xiàn)在回過頭來好好看看究竟每一步是怎么聯(lián)系起來的,是怎么運行起來的。
本次博客先說說各部件都是干什么的。
各部件簡介:
jenkins :
提到j(luò)enkins就不能不提持續(xù)集成。jenkins是一個持續(xù)集成方面很好很成熟的開源軟件,jenkins本身又是一個java的開源項目,提供了很多功能豐富的插件。
那到底持續(xù)集成是個什么東西?整這么多專業(yè)名詞一點都不接地氣。說說我的白話理解:
先看看持續(xù)和集成本身的意思:
持續(xù) : 就是指日復(fù)一日,年復(fù)一年不斷的做一件事兒。
集成 : 是指把一堆分離的東西弄到一塊去。
那么回來再看看jenkins中的持續(xù)集成:
不間斷的 , 自動的,把每天的新東西整合到一起。新東西包括源代碼,機器環(huán)境、測試代碼等等。讓這些重復(fù)的、繁瑣的并且有規(guī)律的工作交給機器去做。
說了半天,那么為什么要用到j(luò)enkins呢?jenkins最突出的一個功能就是可以關(guān)聯(lián)代碼版本庫(svn、git等),當(dāng)版本庫有改動時(有人提交了代碼,使代碼庫有變動)。會自動觸發(fā)jenkins的構(gòu)建,也就是會自動執(zhí)行測試用例。當(dāng)測試用例全部通過了,則表明本次改動沒問題。如果測試失敗了則表明改動后出了問題,需要查明原因并解決才能再次提交代碼到版本庫。
?
python:
我用python編寫測試用例腳本。
其實寫測試用例腳本可以用很多語言寫,java,c#編譯型語言也可以。但是python本身是一個很靈活的腳本語言,書寫起來方便快捷。
與其他腳本語言,比如php、ruby、perl等等相比,python語法簡潔,書寫格式清晰,數(shù)據(jù)類型使用起來方便順手,類庫豐富,涉及范圍涵蓋絕大多數(shù)領(lǐng)域。
最簡單的一點:python寫起來很舒服。
?
selenium:
做web測試必然需要跟瀏覽器打交道。那么做web的自動化測試,怎樣操作瀏覽器呢?這就需要使用selenium了。
selenium又是什么呢?selenium提供了很多類、方法等,使腳本可以通過其提供的方法, 模擬真實用戶操作瀏覽器。
selenium到現(xiàn)在為止大體經(jīng)過了兩個階段,也算是兩個版本。
在selenium1.0階段 ,selenium是通過js操作頁面上的全部動作,由于是通過調(diào)用js來操作的,所以有很大的局限性。
例如無法做出拖拽動作、對系統(tǒng)彈窗也沒辦法操作,因為js只能操作頁面元素。
在selenium2.0階段 ,selenium和webdriver整合到了一起。
有了webdriver,selenium從兩方面有了改進,一方面selenium不再使用js操作瀏覽器了,而是通過不同瀏覽器廠商提供的大部分頁面操作的接口來操作頁面元素。
另一方面webdriver可以與系統(tǒng)底層交互,直接發(fā)送動作信號。例如按下什么鍵、鼠標(biāo)移動到哪里等。可見selenium2.0比1.0強大很多。
這里簡單說說webdriver:
webdriver我的理解:
他算是一個API,一個規(guī)范。
各種不同的瀏覽器廠商參照這份規(guī)范,給出selenium調(diào)用自家瀏覽器的接口。
然后各種編程語言也是參照這份規(guī)范,給出語言自身的、可以操作不同瀏覽器的類庫。
例如我要用python寫測試腳本,要通過python腳本,打開Firefox瀏覽器,進行一些列頁面操作。
這個過程能得以實現(xiàn),是因為:python有一個叫做selenium的外部類庫,selenium類庫里面又有針對不同瀏覽器而實現(xiàn)的不同的瀏覽器包。
這樣我就可以通過導(dǎo)入selenium類庫,再調(diào)用selenium類庫里面的Firefox包來打開瀏覽器、填寫表單、點擊按鈕了。
?
好了,第一階段先到這里,隨著一點點完善“框架”,博客也會不斷更新。后續(xù)貼上一些圖片加深理解。
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
