現(xiàn)在很多測(cè)試人員有些急于求成,,沒(méi)有任何基礎(chǔ)想當(dāng)然的,,要在一周內(nèi)上手自動(dòng)化測(cè)試。 在自動(dòng)化的過(guò)程中時(shí)候總有人會(huì)犯很低級(jí)的問(wèn)題,,有語(yǔ)法問(wèn)題,,有定位問(wèn)題,而且有人居然連__init__.py 文件名都弄錯(cuò)誤,,還有將 pageage(包名) 命名為 selenium,、appium 等導(dǎo)致無(wú)法引入相應(yīng)庫(kù)等等很多問(wèn)題。 寫(xiě)個(gè) selenium 腳本執(zhí)行不成功拋出個(gè)異常,,就無(wú)從下手,?異常類(lèi)型都提示NoSuchElementException,都告訴你沒(méi)有這樣的元素,,元素找不到怎么處理,。 自動(dòng)化測(cè)試過(guò)程中會(huì)遇到各種奇葩問(wèn)題,有時(shí)會(huì)讓人很無(wú)語(yǔ),,思維靈活點(diǎn)的人總能找到各種奇葩的解決方法,,而對(duì)于那些思維僵硬的人來(lái)說(shuō),如同天塹,,徹底打擊你對(duì)自動(dòng)化測(cè)試的信心,。 問(wèn)題很復(fù)雜,其實(shí)解決問(wèn)題的方法很簡(jiǎn)單,,只是基礎(chǔ)沒(méi)學(xué)好而已,,不懂或者沒(méi)有熟練掌握一門(mén)編程語(yǔ)言,今天我就在這里講下如何學(xué)習(xí)自動(dòng)化,? 一,、編程語(yǔ)言是一切的基礎(chǔ) 要做好自動(dòng)化測(cè)試,編程語(yǔ)言是基礎(chǔ),,是首要的,。然而大部分測(cè)試人員不懂編程,感覺(jué)編程很難也不想學(xué)編程,,沒(méi)有編程基礎(chǔ)就直接上手自動(dòng)化測(cè)試,,導(dǎo)致錯(cuò)誤頻出,越做越?jīng)]有信心,,進(jìn)入了死循環(huán),。 沒(méi)有編程基礎(chǔ)想學(xué)自動(dòng)化很難,非常難,會(huì)編程的人兩到三周就能上手自動(dòng)化測(cè)試,,而不會(huì)編程的你就是做了半年,,都可能還沒(méi)有入門(mén)。 當(dāng)然有些人會(huì)說(shuō):'現(xiàn)在的自動(dòng)化測(cè)試工具都有錄制功能,,我錄制代碼就行了,。’我只能用'呵呵’回應(yīng)你,。你可以嘗試錄制幾個(gè)測(cè)試腳本,,看看錄制的腳本能用多久。所以不懂編程絕對(duì)做不好自動(dòng)化測(cè)試,。 關(guān)于學(xué)習(xí) selenium 語(yǔ)言的選擇,,推薦 python3 ,其次 java ,不推薦選擇其他語(yǔ)言,,小眾的語(yǔ)言遇到問(wèn)題很難找到資料,。但 java 語(yǔ)言的學(xué)習(xí)時(shí)間成本太高,所以我建議你學(xué)習(xí) Python,。Python 簡(jiǎn)單,、容易理解,學(xué)習(xí)成本低,,而且它夠強(qiáng)大,,Python 他能做的事情永遠(yuǎn)超乎你的想象,同樣的事情 python 的實(shí)現(xiàn)方式往往更加簡(jiǎn)單,。 在學(xué)習(xí) Python 時(shí)不要為了做自動(dòng)化測(cè)試而學(xué)習(xí) Python,,selenium 只是 python 中的一個(gè)庫(kù)而已,Python 他還有千千萬(wàn)萬(wàn)的庫(kù),,他能幫助你做各種各樣的事情,,如 requests 庫(kù)能讓web 接口自動(dòng)化測(cè)試變得很簡(jiǎn)單。 二,、Python 學(xué)習(xí) 1,、如果你沒(méi)有語(yǔ)言基礎(chǔ),完全零基礎(chǔ)請(qǐng)知道基本的數(shù)據(jù)結(jié)構(gòu)和循環(huán)判斷,、函數(shù)定義,,你就可以開(kāi)始上手自動(dòng)化測(cè)試,當(dāng)然前期推薦使用 web 練手,,移動(dòng)端的自動(dòng)化測(cè)試的環(huán)境太復(fù)雜,,可能光環(huán)境搭建就能將你磨得沒(méi)有信心。 2,、對(duì)于那些學(xué)習(xí) python 不是為了做自動(dòng)化測(cè)試的人,,推薦看 python核心編程(第三版)進(jìn)行補(bǔ)充學(xué)習(xí),也可以看看 Python 中高級(jí)教程 和 Python常用庫(kù)與框架運(yùn)用 。 三,、前端基礎(chǔ)知識(shí) 學(xué)習(xí)編程語(yǔ)言是自動(dòng)化測(cè)試基礎(chǔ)的第一步,,為了做好自動(dòng)化,還需要補(bǔ)充簡(jiǎn)單的前端基礎(chǔ)知識(shí): HTML(網(wǎng)頁(yè)結(jié)構(gòu),,各種標(biāo)簽,如鏈接,、輸入框,、按鈕等使用哪個(gè)標(biāo)記) JavaScript(簡(jiǎn)單了解,需要會(huì)寫(xiě)簡(jiǎn)單的腳步) Firebug 或者 Chrome 開(kāi)發(fā)者工具的使用(必須會(huì),,他是最常用的抓取元素工具) 注意:在這里再次提醒 很多新手一開(kāi)始就學(xué)習(xí)復(fù)雜的自動(dòng)化測(cè)試工具,,學(xué)習(xí) web 自動(dòng)化測(cè)試前需要理解 HTTP 協(xié)議,HTML 標(biāo)記,,DOM ,。如果你對(duì)這些不了解,那么后面的元素定位與操作就無(wú)從說(shuō)起,。而且遇到很簡(jiǎn)單的問(wèn)題你都不知道怎么處理,,找不到點(diǎn)。 總之學(xué)習(xí)自動(dòng)化測(cè)試,,需要循序漸進(jìn),,先將基礎(chǔ)打好。 四,、selenium學(xué)習(xí) 在 selenium 學(xué)習(xí)前了解下 selenium 的原理,,selenium 操作瀏覽器需要依賴(lài)的驅(qū)動(dòng),驅(qū)動(dòng)版本與瀏覽器版本也有對(duì)應(yīng)關(guān)系,,尤其是IE瀏覽器,。 selenium學(xué)習(xí)流程: 瀏覽器控制(打開(kāi)網(wǎng)頁(yè),最大化,,關(guān)閉) 元素定位(優(yōu)先id,,name,link text其次class,,partial link text,,最后xpath) 操作元素(點(diǎn)擊,輸入,,是否可見(jiàn)) 下拉框處理 等待時(shí)間(固定,,顯性,隱性) 瀏覽器彈窗操作 frame的切換 瀏覽器頁(yè)簽的切換 js操作頁(yè)面元素 模擬鼠標(biāo)和鍵盤(pán)操作 五,、python 單元測(cè)試框架 unittest 學(xué)習(xí) 學(xué)會(huì)了 selenium 還是不夠的,,要對(duì)用例進(jìn)行管理還要學(xué)會(huì)單元測(cè)試框架,Python 有很多單元測(cè)試框架,推薦 unittest 或者 nose,,兩者的資料都好找而且比較好用,。 unittest 可以簡(jiǎn)單學(xué)習(xí)下基本結(jié)構(gòu),知道 setUp,,test_XX,,tearDown 的執(zhí)行順序,批量用例執(zhí)行,,HTMLTestRunner 測(cè)試報(bào)告,,DDT 數(shù)據(jù)驅(qū)動(dòng)。 六,、編寫(xiě)自己的測(cè)試框架 學(xué)會(huì)了一,、二、三步,,恭喜你已經(jīng)邁進(jìn)了自動(dòng)化測(cè)試的大門(mén),,最后你要學(xué)會(huì)自動(dòng)化測(cè)試的思想,自動(dòng)化測(cè)試的流程,,注意事項(xiàng),。 編寫(xiě)自己的測(cè)試框架,框架需具備以下功能:常用的操作封裝,、數(shù)據(jù)的管理,、Html測(cè)試報(bào)告、用例的規(guī)劃執(zhí)行等基本功能,。 然后慢慢對(duì)你的測(cè)試框架增加功能,,可以對(duì)常用數(shù)據(jù)使用配置文件(configparser)、參數(shù)化(DDT),、記錄日志(logging),,腳本自動(dòng)執(zhí)行,自動(dòng)發(fā)送報(bào)告,,失敗用例重跑等,,一個(gè)成熟自動(dòng)化測(cè)試框架就搭建起來(lái),你的 Python 技能也能提高一大截,。 七,、自動(dòng)化測(cè)試思想 思想絕定高度,上面你只是學(xué)會(huì)了自動(dòng)化測(cè)試的工具使用,,還有自動(dòng)化測(cè)試的理論,,你必須理解。 文章來(lái)源:網(wǎng)絡(luò) 版權(quán)歸原作者所有 上文內(nèi)容不用于商業(yè)目的,,如涉及知識(shí)產(chǎn)權(quán)問(wèn)題,,請(qǐng)權(quán)利人聯(lián)系小編,,我們將立即處理 |
|
來(lái)自: 學(xué)掌門(mén) > 《待分類(lèi)》