初次接觸自動化測試是在10年歇父,那時候流行的自動化測試工具是Mercury公司開發(fā)的QTP工具,這個工具最大的優(yōu)點是支持錄制再愈,但用起來很不方便榜苫,簡單實驗了一下,錄制翎冲,回放垂睬,改寫代碼。那時侯公司不提暢學習抗悍,有一次因項目結(jié)束沒有其它任務就操練起來了驹饺,被領導一天面談二次心碎得一地,后來就一直擱置了缴渊。
好了不提傷心事了赏壹,有點扯遠了,不在阻礙中成長就在阻礙中滅亡衔沼,哈哈...,給大家分享一下我的自動化測試入門經(jīng)驗吧卡儒,雖然我并不是一個優(yōu)秀的學生,但我喜歡動手去做自己想做的事情俐巴。說一百次骨望,想一百次,不如動手做一次欣舵;在技術(shù)這個行業(yè)來說行動起來了擎鸠,那么離入門就成功了50%。
曾經(jīng)我也迷茫過缘圈,不知道干什么劣光,覺得自已現(xiàn)在干得工作很沒有前途袜蚕;想做性能測試,自動化測試又不知道從何下手绢涡,特別感謝我曾經(jīng)的一個同事牲剃,他是開發(fā),他和我也是老鄉(xiāng)雄可,我把我的迷茫告訴了他凿傅,他說你不知道怎么做就去招聘網(wǎng)站找一下這個職位有什么要求,要具備什么條件数苫。于是就上在招聘網(wǎng)站搜索了一下性能測試工程師聪舒,自動化測試工程師招聘要求,貌似我也是從那個時侯了解到Selenium的虐急。我覺得這個方法特別受益箱残,每當我迷茫的時候我不是急著換工作,而是靜下心來逛逛招聘網(wǎng)站止吁,把招聘精華部分提取下來被辑,定個小目標好好學習一翻。
入門四問
問自已想做什么敬惦?
有人說我想做web自動化敷待,移動端(android,ios)自動化;
我建議可以拆分成三個目標實現(xiàn):web自動化,android自動化仁热,ios自動化;
當下流行的自動化工具是什么,都有什么特點勾哩?
開源的QTP,Selenium(開源抗蠢,支持很多語言,跨平臺思劳,跨進程)
那個工具適合你當前項目迅矛?
那么最適合我們的工具selenium,seleniumIDE支持錄制Web,支持的語言有:java,oc,python,...在《敏捷開發(fā)自動化測試框架之用戶故事》有提到潜叛,感興趣的童鞋可以去看一下
工具能給你帶來什么價值秽褒?
曾經(jīng)有幾個領導都問過我,為什么喜歡去研究一些東西威兜,我的回答是:我有些懶销斟,工具可以給我提高工作效率讓我有更多的時間偷懶*_*
我當初學習自動化工具的目的就是回歸,BVT的時侯可以偷個小懶椒舵,有的開發(fā)改個小問就讓回歸都煩透了蚂踊,自從寫了自動化腳本后我就可以很爽了,項目部署好笔宿,把自動化腳本打開自己跑去吧犁钟,跑完看結(jié)果就可以了棱诱。
讓我們做行動派吧,不要畏懼涝动,勇往直前迈勋。如果你總是在抱怨工具我不會用,語言我不會醋粟,那么放棄吧做個安靜的手工測試工程師靡菇;
我的第一個自動化工具學習心得-Selenium Web自動化測試
13年接觸Selenium在圈里那時候非常流行,有些培訓機構(gòu)也有這個培訓昔穴,那時候還不支持移動端自動化測試镰官;我當時買了一本Selenium的書,下班的時候在家自學吗货,幾乎看不懂泳唠,硬著頭皮看了一遍,然后我就收起來了宙搬。然后加入了一個學習群笨腥,后來發(fā)現(xiàn)我一個做測試的同學也加入進來了,給老朋友打了個招乎勇垛,這下刺激到我了脖母,大家都在學習,于是我又重新操練起來闲孤。
把Selenium環(huán)境搭建起來谆级,并安裝了Selenium-IDE,Selenium-IDE支持錄制讼积,錄制了當前項目的Web登錄功能肥照,并轉(zhuǎn)換成JAVA語言保存并回放,感覺還不錯勤众。問題是錄制的腳本不是所有的都回放成功舆绎,語言又不會怎么辦?
這個問題也困擾了很久们颜,我的解決方法是:
1.找到錄制保存的腳本
2.打開腳本吕朵,查看腳本生成的格式,Java語言的格式窥突,驅(qū)動調(diào)用努溃,完素定位方法;
3.搭建一個JAVA開發(fā)環(huán)境,工具是Eclipse
4.在Eclipse上創(chuàng)建一個java工程阻问,把錄制的那段腳本移值到你創(chuàng)建的工程,Selenium java環(huán)境搭建可以參考(http://www.cnblogs.com/hanlong/p/5258706.html)茅坛,也可以度娘Selenium java環(huán)境搭建。
5.寫一個測試方法驗證一下,這里需要用到Junit
@Test
public void test(){
放入測試的方法
}
6.后續(xù)功能就是照葫蘆畫瓢完成項目,多練習幾次就可以脫離錄制了贡蓖;
7.要了解Selenium java API都有那些方法曹鸠,怎么使用;
8.遇到的問題問度娘基本都能解決斥铺,也可加入一些學習群彻桃;
9.入門后可以對框架優(yōu)化:元素定位方法,及公共方法的封裝晾蜘;開源的東西好多都寫得很啰嗦邻眷,需要自己改進,提高代碼的重用性剔交,減少代碼冗余度肆饶;現(xiàn)在一般都用ObjectMap+keywords模式
我的第二個自動化工具學習心得-Selenium + APPium +android移動端自動化
初學android自動化時robotium這個工具的優(yōu)點是執(zhí)行Case比Selenium+appium快,其他沒什么優(yōu)勢岖常,那時候還沒有Selenium+appium,其實工具都是相通了解工具的api用法+語言語法結(jié)構(gòu)就OK了驯镊,Selenium+Appium和selenium web自動化都是用的同樣的JAR包,不同點是selenium Web的驅(qū)動是瀏覽器竭鞍,selenium+appium的驅(qū)動的手機設備板惑,定位元素工具不一樣web用的是火狐的firebug插件,android用的是sdk\tools\uiautomatorviewer.bat偎快。
1.搭建一個Selenium+appium android環(huán)境冯乘;
2.下載一個開源項目,并調(diào)試通過晒夹;
3.替換成自己的項目裆馒;
4.入門后可以對框架優(yōu)化:元素定位方法,及公共方法的封裝丐怯;開源的東西好多都寫得很啰嗦喷好,需要自己改進,提高代碼的重用性响逢,減少代碼冗余度;現(xiàn)在一般都用ObjectMap+keywords模式
我的第三個自動化工具學習心得-Selenium + APPium +ios 移動端自動化
詳見《高效搭建appium 自動化基于JAVA的IOS環(huán)境》
不要對自己學習的東西感到質(zhì)疑棕孙,覺得學習得東西再公司用不到舔亭,如果這樣想就大錯特錯了,學習不為別的蟀俊,只為自己的成長钦铺,能幫助到自己。我們可以將自己學到的東西引入到自己的項目肢预。